Skip to content

Commit

Permalink
misc: Merge .github develop dir to stable (#1043)
Browse files Browse the repository at this point in the history
  • Loading branch information
BobbyRBruce committed Apr 20, 2024
1 parent ee6f137 commit 0b2fa99
Show file tree
Hide file tree
Showing 5 changed files with 62 additions and 25 deletions.
63 changes: 50 additions & 13 deletions .github/workflows/ci-tests.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -14,17 +14,17 @@ concurrency:
jobs:
pre-commit:
# runs on github hosted runner
runs-on: ubuntu-22.04
runs-on: ubuntu-latest
if: github.event.pull_request.draft == false
steps:
- uses: actions/checkout@v4
- uses: actions/setup-python@v3
- uses: pre-commit/action@v3.0.0
- uses: actions/setup-python@v5
- uses: pre-commit/action@v3.0.1

# ensures we have a change-id in every commit, needed for gerrit
check-for-change-id:
# runs on github hosted runner
runs-on: ubuntu-22.04
runs-on: ubuntu-latest
if: github.event.pull_request.draft == false
steps:
- uses: actions/checkout@v4
Expand All @@ -50,7 +50,7 @@ jobs:
unittests-all-opt:
runs-on: [self-hosted, linux, x64]
if: github.event.pull_request.draft == false
container: ghcr.io/gem5/ubuntu-22.04_all-dependencies:latest
container: ghcr.io/gem5/ubuntu-24.04_all-dependencies:latest
needs: [pre-commit, check-for-change-id] # only runs if pre-commit and change-id passes
timeout-minutes: 60
steps:
Expand All @@ -65,15 +65,15 @@ jobs:
if: github.event.pull_request.draft == false
# In order to make sure the environment is exactly the same, we run in
# the same container we use to build gem5 and run the testlib tests. This
container: ghcr.io/gem5/ubuntu-22.04_all-dependencies:latest
container: ghcr.io/gem5/ubuntu-24.04_all-dependencies:latest
needs: [pre-commit, check-for-change-id]
steps:
- uses: actions/checkout@v4

# Unfortunately the 'ubunutu-latest' image doesn't have jq installed.
# We therefore need to install it as a step here.
# Unfortunately the image doesn't have jq installed.
# We therefore need to install it as a step here.
- name: Install jq
run: apt install -y jq
run: apt update && apt install -y jq

- name: Get directories for testlib-quick
working-directory: ${{ github.workspace }}/tests
Expand Down Expand Up @@ -108,7 +108,7 @@ jobs:
testlib-quick-gem5-builds:
runs-on: [self-hosted, linux, x64]
if: github.event.pull_request.draft == false
container: ghcr.io/gem5/ubuntu-22.04_all-dependencies:latest
container: ghcr.io/gem5/ubuntu-24.04_all-dependencies:latest
needs: [pre-commit, check-for-change-id, testlib-quick-matrix]
strategy:
matrix:
Expand Down Expand Up @@ -138,7 +138,7 @@ jobs:
testlib-quick-execution:
runs-on: [self-hosted, linux, x64]
if: github.event.pull_request.draft == false
container: ghcr.io/gem5/ubuntu-22.04_all-dependencies:latest
container: ghcr.io/gem5/ubuntu-24.04_all-dependencies:latest
needs: [pre-commit, check-for-change-id, testlib-quick-matrix, testlib-quick-gem5-builds]
timeout-minutes: 360 # 6 hours
strategy:
Expand Down Expand Up @@ -184,12 +184,49 @@ jobs:
path: tests/testing-results
retention-days: 30

pyunit:
runs-on: [self-hosted, linux, x64]
if: github.event.pull_request.draft == false
container: ghcr.io/gem5/ubuntu-24.04_all-dependencies:latest
needs: [pre-commit, check-for-change-id, testlib-quick-gem5-builds]
timeout-minutes: 30
steps:

# Checkout the repository then download the builds.
- uses: actions/checkout@v4
- uses: actions/download-artifact@v4
with:
name: ci-tests-${{ github.run_number }}-testlib-quick-all-gem5-builds

# Check that the gem5 binaries exist and are executable.
- name: Chmod gem5.{opt,debug,fast} to be executable
run: |
find . -name "gem5.opt" -exec chmod u+x {} \;
find . -name "gem5.debug" -exec chmod u+x {} \;
find . -name "gem5.fast" -exec chmod u+x {} \;
# Run the pyunit tests.
# Note: these are all quick tests.
- name: Run The pyunit tests
id: run-tests
working-directory: ${{ github.workspace }}/tests
run: ./main.py run --skip-build -vv -j$(nproc) pyunit

# Upload the tests/testing-results directory as an artifact.
- name: Upload pyunit test results
if: success() || failure()
uses: actions/upload-artifact@v4
with:
name: ci-tests-run-${{ github.run_number }}-attempt-${{ github.run_attempt }}-pyunit-status-${{ steps.run-tests.outcome }}-output
path: tests/testing-results
retention-days: 30

testlib-quick:
# It is 'testlib-quick' which needs to pass for the pull request to be
# merged. The 'testlib-quick-execution' is a matrix job which runs all the
# the testlib quick tests. This job is therefore a stub which will pass if
# all the testlib-quick-execution jobs pass.
runs-on: ubuntu-22.04
needs: testlib-quick-execution
runs-on: ubuntu-latest
needs: [testlib-quick-execution, pyunit]
steps:
- run: echo "This job's status is ${{ job.status }}."
4 changes: 2 additions & 2 deletions .github/workflows/compiler-tests.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ jobs:
matrix:
image: [gcc-version-13, gcc-version-12, gcc-version-11, gcc-version-10, gcc-version-8, clang-version-16, clang-version-15, clang-version-14,
clang-version-13, clang-version-12, clang-version-11, clang-version-10, clang-version-9, clang-version-8, clang-version-7, ubuntu-20.04_all-dependencies,
ubuntu-22.04_all-dependencies, ubuntu-22.04_min-dependencies]
ubuntu-22.04_all-dependencies, ubuntu-24.04_all-dependencies, ubuntu-24.04_min-dependencies]
opts: [.opt, .fast]
runs-on: [self-hosted, linux, x64]
timeout-minutes: 2880 # 48 hours
Expand Down Expand Up @@ -61,7 +61,7 @@ jobs:
# I.e., if we want to stop pull requests from being merged if the
# compiler tests are failing, we can add this job as a required status
# check.
runs-on: ubuntu-22.04
runs-on: ubuntu-latest
needs:
- latest-compilers-all-gem5-builds
- all-compilers
Expand Down
10 changes: 5 additions & 5 deletions .github/workflows/daily-tests.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -46,7 +46,7 @@ jobs:
isa-option: 'NULL'
runs-on: [self-hosted, linux, x64]
needs: name-artifacts
container: ghcr.io/gem5/ubuntu-22.04_all-dependencies:latest
container: ghcr.io/gem5/ubuntu-24.04_all-dependencies:latest
steps:
- uses: actions/checkout@v4
with:
Expand Down Expand Up @@ -74,7 +74,7 @@ jobs:
matrix:
type: [fast, debug]
runs-on: [self-hosted, linux, x64]
container: ghcr.io/gem5/ubuntu-22.04_all-dependencies:latest
container: ghcr.io/gem5/ubuntu-24.04_all-dependencies:latest
timeout-minutes: 60
steps:
- uses: actions/checkout@v4
Expand All @@ -93,7 +93,7 @@ jobs:
test-type: [arm_boot_tests, fs, gpu, insttest_se, learning_gem5, m5threads_test_atomic, memory, multi_isa, replacement_policies, riscv_boot_tests,
stdlib, x86_boot_tests]
runs-on: [self-hosted, linux, x64]
container: ghcr.io/gem5/ubuntu-22.04_all-dependencies:latest
container: ghcr.io/gem5/ubuntu-24.04_all-dependencies:latest
needs: [name-artifacts, build-gem5]
timeout-minutes: 1440 # 24 hours for entire matrix to run
steps:
Expand Down Expand Up @@ -182,7 +182,7 @@ jobs:
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: ghcr.io/gem5/ubuntu-22.04_all-dependencies:latest
container: ghcr.io/gem5/ubuntu-24.04_all-dependencies:latest
needs: [name-artifacts, build-gem5]
timeout-minutes: 1440 # 24 hours
steps:
Expand Down Expand Up @@ -304,7 +304,7 @@ jobs:
# I.e., if we want to stop pull requests from being merged if the
# daily tests are failing we can add this job as a required status
# check.
runs-on: ubuntu-22.04
runs-on: ubuntu-latest
needs:
- unittests-fast-debug
- testlib-long-tests
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/docker-build.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ on:
jobs:
obtain-dockerfiles:
runs-on: [self-hosted, linux, x64]
container: ghcr.io/gem5/ubuntu-22.04_all-dependencies:latest
container: ghcr.io/gem5/ubuntu-24.04_all-dependencies:latest

steps:
- uses: actions/checkout@v4
Expand Down
8 changes: 4 additions & 4 deletions .github/workflows/weekly-tests.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -92,7 +92,7 @@ jobs:
build-gem5:
runs-on: [self-hosted, linux, x64]
container: ghcr.io/gem5/ubuntu-22.04_all-dependencies:latest
container: ghcr.io/gem5/ubuntu-24.04_all-dependencies:latest
outputs:
build-name: ${{ steps.artifact-name.outputs.name }}
steps:
Expand Down Expand Up @@ -120,7 +120,7 @@ jobs:
matrix:
test-type: [gem5_library_example_tests, gem5_resources, parsec_benchmarks, x86_boot_tests]
runs-on: [self-hosted, linux, x64]
container: ghcr.io/gem5/ubuntu-22.04_all-dependencies:latest
container: ghcr.io/gem5/ubuntu-24.04_all-dependencies:latest
needs: [build-gem5]
timeout-minutes: 4320 # 3 days
steps:
Expand Down Expand Up @@ -157,7 +157,7 @@ jobs:

dramsys-tests:
runs-on: [self-hosted, linux, x64]
container: ghcr.io/gem5/ubuntu-22.04_all-dependencies:latest
container: ghcr.io/gem5/ubuntu-24.04_all-dependencies:latest
timeout-minutes: 4320 # 3 days
steps:
- uses: actions/checkout@v4
Expand Down Expand Up @@ -187,7 +187,7 @@ jobs:
# I.e., if we want to stop pull requests from being merged if the
# weekly tests are failing we can add this job as a required status
# check.
runs-on: ubuntu-22.04
runs-on: ubuntu-latest
needs:
- testlib-very-long-tests
- dramsys-tests
Expand Down

0 comments on commit 0b2fa99

Please sign in to comment.