From 7371dd51b9c324f1a52aaac40aeaf60d5ade9931 Mon Sep 17 00:00:00 2001 From: Melissa Jost Date: Tue, 25 Jul 2023 17:38:54 -0700 Subject: [PATCH] misc: Move gem5 library example tests into a matrix This moves the gem5 library example tests into a separate matrix, so they can run on separate runners Change-Id: Ie9f51b5bae9e7e424d1c98b545b4cf92b481a2fb --- .github/workflows/daily-tests.yaml | 46 ++++++++++++++++++++++++++++++ 1 file changed, 46 insertions(+) diff --git a/.github/workflows/daily-tests.yaml b/.github/workflows/daily-tests.yaml index 6ef933da68..0384bfeadb 100644 --- a/.github/workflows/daily-tests.yaml +++ b/.github/workflows/daily-tests.yaml @@ -160,6 +160,52 @@ jobs: rm -rf ~/.cache || true - run: echo "This job's status is ${{ job.status }}." + # split library example tests into runs based on Suite UID + # so that they don't hog the runners for too long + testlib-long-gem5_library_example_tests: + runs-on: [self-hosted, linux, x64, run] + strategy: + matrix: + test-type: [gem5-library-example-x86-ubuntu-run-ALL-x86_64-opt, gem5-library-example-riscv-ubuntu-run-ALL-x86_64-opt, lupv-example-ALL-x86_64-opt, gem5-library-example-arm-ubuntu-run-test-ALL-x86_64-opt, gem5-library-example-riscvmatched-hello-ALL-x86_64-opt] + container: gcr.io/gem5-test/ubuntu-22.04_all-dependencies:latest + needs: build-gem5 + timeout-minutes: 1440 # 24 hours + steps: + - uses: actions/checkout@v3 + with: + # Scheduled workflows run on the default branch by default. We + # therefore need to explicitly checkout the develop branch. + ref: develop + - uses: actions/download-artifact@v3 + with: + name: ${{needs.name-artifacts.outputs.build-name}}ALL + path: build/ALL + - run: chmod u+x build/ALL/gem5.opt + - name: long ${{ matrix.test-type }} gem5_library_example_tests + working-directory: ${{ github.workspace }}/tests + run: ./main.py run --uid SuiteUID:tests/gem5/gem5_library_example_tests/test_gem5_library_examples.py:test-${{ matrix.test-type }} --length=long --skip-build -vv + - name: create zip of results + if: success() || failure() + run: | + apt-get -y install zip + zip -r output.zip tests/testing-results + - name: upload zip + if: success() || failure() + uses: actions/upload-artifact@v3 + env: + MY_STEP_VAR: ${{github.job}}_COMMIT.${{github.sha}}_RUN.${{github.run_id}}_ATTEMPT.${{github.run_attempt}} + with: + name: ${{ env.MY_STEP_VAR }} + path: output.zip + retention-days: 7 + - name: Clean runner + if: success() || failure() + run: + rm -rf ./* || true + rm -rf ./.??* || true + rm -rf ~/.cache || true + - run: echo "This job's status is ${{ job.status }}." + # This runs the SST-gem5 integration compilation and tests it with # ext/sst/sst/example.py. sst-test: