Skip to content

Check for empty string #70

Check for empty string

Check for empty string #70

Workflow file for this run

# Copyright (C) 2023, Advanced Micro Devices, Inc. All rights reserved.
#
# Author: Eddie Hung, AMD
#
# SPDX-License-Identifier: MIT
#
name: make
on:
push:
pull_request:
jobs:
make:
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
router:
- rwroute
- nxroute-poc
benchmark:
- boom_soc
- ispd16_example2
- koios_dla_like_large
- rosetta_fd
- vtr_mcml
exclude:
# Insufficient memory on GitHub Actions
- router: rwroute
benchmark: boom_soc
- router: rwroute
benchmark: ispd16_example2
- router: rwroute
benchmark: koios_dla_like_large
steps:
- uses: actions/checkout@v3
with:
submodules: 'recursive'
- uses: actions/setup-java@v3
with:
distribution: 'temurin'
java-version: '17'
cache: 'gradle'
- if: matrix.router == 'nxroute-poc'
uses: actions/setup-python@v4
with:
python-version: '3.11'
cache: 'pip'
- name: Download xcvu3p.device (nxroute-poc only)
if: matrix.router == 'nxroute-poc'
run:
wget -q https://github.com/eddieh-xlnx/fpga24_routing_contest/releases/download/xvu3p/xcvu3p.device
- env:
REPORT_ROUTE_STATUS_URL: ${{ secrets.REPORT_ROUTE_STATUS_URL }}
REPORT_ROUTE_STATUS_AUTH: ${{ secrets.REPORT_ROUTE_STATUS_AUTH }}
CHECK_PHYS_NETLIST_MOCK_PASS: ${{ matrix.router != 'nxroute-poc' && secrets.REPORT_ROUTE_STATUS_URL == '' }}
run: |
make ROUTER="${{ matrix.router }}" BENCHMARKS="${{ matrix.benchmark }}" VERBOSE=1
- name: Score summary
run:
make ROUTER="${{ matrix.router }}" BENCHMARKS="${{ matrix.benchmark }}" VERBOSE=1
- name: Verify pass (non nxroute-poc)
if: matrix.router != 'nxroute-poc'
run: |
grep -H PASS *.check
# Allow following grep to fail if no URL
grep -H -e "# of nets with routing errors[. :]\+0" *.check.log || ${{ secrets.REPORT_ROUTE_STATUS_URL == '' }}
- name: Verify fail (nxroute-poc)
if: matrix.router == 'nxroute-poc'
run: |
grep -H FAIL *.check
# Allow following grep to fail if no URL
grep -H -e "# of nets with routing errors[. :]\+[1-9]" -e "# of unrouted nets[. :]\+[1-9]" *.check.log || ${{ secrets.REPORT_ROUTE_STATUS_URL == '' }}
- uses: actions/upload-artifact@v3
if: always()
with:
name: Logs
path: |
*.log
*.check
- uses: actions/upload-artifact@v3
if: always()
with:
name: ${{ matrix.router }}-${{ matrix.benchmark }}
path: |
*.dcp
*.phys
${{ matrix.benchmark }}.netlist.edn/*
*_load.tcl
!*_unrouted.phys