From d2af83cfb1035fe3e03c953e4ddc8efa4b80f0f8 Mon Sep 17 00:00:00 2001 From: Amir Poolad Date: Thu, 30 Jan 2025 14:38:44 -0500 Subject: [PATCH 1/2] Add initial nightly test workflow --- .github/workflows/nightly_test_manual.yml | 71 +++++++++++++++++++++++ 1 file changed, 71 insertions(+) create mode 100644 .github/workflows/nightly_test_manual.yml diff --git a/.github/workflows/nightly_test_manual.yml b/.github/workflows/nightly_test_manual.yml new file mode 100644 index 00000000000..cf5bc81c9e9 --- /dev/null +++ b/.github/workflows/nightly_test_manual.yml @@ -0,0 +1,71 @@ +name: NightlyTestManual + +# This workflow can only be dispatched. +on: + workflow_dispatch: + +# We want to cancel previous runs for a given PR or branch / ref if another CI +# run is requested. +# See: https://docs.github.com/en/actions/using-jobs/using-concurrency +concurrency: + group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }} + cancel-in-progress: true + +env: + # default compiler for all non-compatibility tests + MATRIX_EVAL: "CC=gcc-11 && CXX=g++-11" + +jobs: + Run-tests: + # Prevents from running on forks where no custom runners are available + if: ${{ github.repository_owner == 'verilog-to-routing' }} + + name: 'Nightly Tests Manual Run' + # This workflow is expected to take around 19 hours. Giving it 24 hours + # before timing out. + timeout-minutes: 1440 + runs-on: [self-hosted, Linux, X64, SAVI] + + steps: + # Clean previous runs of this workflow. + - name: 'Cleanup build folder' + run: | + rm -rf ./* || true + rm -rf ./.??* || true + + # Checkout the VTR repo. + - uses: actions/checkout@v4 + with: + submodules: 'true' + + # Get the extra benchmarks + - name: 'Get Extra Benchmarks' + run: | + make get_titan_benchmarks + make get_ispd_benchmarks + ./dev/upgrade_vtr_archs.sh + make get_symbiflow_benchmarks + + # Build VTR using the default build options. + - name: 'Build VTR' + run: | + make -j12 + make env + source .venv/bin/activate + pip install -r requirements.txt + + # Run all of the nightly tests. + # TODO: We could expose more parallelism if we had one task list which ran + # all of these. + - name: 'Run Nightly Tests' + run: | + source .venv/bin/activate + ./run_reg_test.py -j12 \ + vtr_reg_nightly_test1 \ + vtr_reg_nightly_test2 \ + vtr_reg_nightly_test3 \ + vtr_reg_nightly_test4 \ + vtr_reg_nightly_test5 \ + vtr_reg_nightly_test6 \ + vtr_reg_nightly_test7 + From 6a749bc02168bd42fda11c7c098232f1423ded0d Mon Sep 17 00:00:00 2001 From: Amir Poolad Date: Thu, 30 Jan 2025 22:06:39 -0500 Subject: [PATCH 2/2] Change gcc version to 13 --- .github/workflows/nightly_test_manual.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/nightly_test_manual.yml b/.github/workflows/nightly_test_manual.yml index cf5bc81c9e9..bc2b0f6834c 100644 --- a/.github/workflows/nightly_test_manual.yml +++ b/.github/workflows/nightly_test_manual.yml @@ -13,7 +13,7 @@ concurrency: env: # default compiler for all non-compatibility tests - MATRIX_EVAL: "CC=gcc-11 && CXX=g++-11" + MATRIX_EVAL: "CC=gcc-13 && CXX=g++-13" jobs: Run-tests: