misc: Copy .github directory from develop to stable

Change-Id: I7755f90c1b5d81ff1cf66920f229be921d47e844
This commit is contained in:
Bobby R. Bruce
2023-08-30 17:16:12 -07:00
parent f29bfc0640
commit 6966518dcc
5 changed files with 88 additions and 10 deletions

View File

@@ -11,6 +11,7 @@ jobs:
pre-commit:
# runs on github hosted runner
runs-on: ubuntu-22.04
if: github.event.pull_request.draft == false
steps:
- uses: actions/checkout@v3
- uses: actions/setup-python@v3
@@ -20,6 +21,7 @@ jobs:
check-for-change-id:
# runs on github hosted runner
runs-on: ubuntu-22.04
if: github.event.pull_request.draft == false
steps:
- uses: actions/checkout@v3
with:
@@ -43,6 +45,7 @@ jobs:
build-gem5:
runs-on: [self-hosted, linux, x64, build]
if: github.event.pull_request.draft == false
container: gcr.io/gem5-test/ubuntu-22.04_all-dependencies:latest
needs: [pre-commit, check-for-change-id] # only runs if pre-commit and change-id passes
outputs:
@@ -63,6 +66,7 @@ jobs:
unittests-all-opt:
runs-on: [self-hosted, linux, x64, run]
if: github.event.pull_request.draft == false
container: gcr.io/gem5-test/ubuntu-22.04_all-dependencies:latest
needs: [pre-commit, check-for-change-id] # only runs if pre-commit and change-id passes
timeout-minutes: 60
@@ -75,6 +79,7 @@ jobs:
testlib-quick:
runs-on: [self-hosted, linux, x64, run]
if: github.event.pull_request.draft == false
container: gcr.io/gem5-test/ubuntu-22.04_all-dependencies:latest
needs: [pre-commit, build-gem5, check-for-change-id]
timeout-minutes: 360 # 6 hours

View File

@@ -15,11 +15,11 @@ jobs:
# replication of compiler-tests.sh
all-compilers:
strategy:
fail-fast: false
matrix:
image: [gcc-version-12, gcc-version-11, gcc-version-10, gcc-version-9, gcc-version-8, 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]
opts: [.opt, .fast]
runs-on: [self-hosted, linux, x64, run]
continue-on-error: true
runs-on: [self-hosted, linux, x64, build]
timeout-minutes: 2880 # 48 hours
container: gcr.io/gem5-test/${{ matrix.image }}:latest
steps:
@@ -29,18 +29,18 @@ jobs:
# therefore need to explicitly checkout the develop branch.
ref: develop
- name: Compile build/ALL/gem5${{ matrix.opts }} with ${{ matrix.image }}
run: /usr/bin/env python3 /usr/bin/scons --ignore-style build/ALL/gem5${{ matrix.opts }}
run: /usr/bin/env python3 /usr/bin/scons --ignore-style build/ALL/gem5${{ matrix.opts }} -j$(nproc)
timeout-minutes: 600 # 10 hours
# Tests the two latest gcc and clang supported compilers against all gem5 compilations.
latest-compilers-all-gem5-builds:
strategy:
fail-fast: false
matrix:
gem5-compilation: [ARM, ARM_MESI_Three_Level, ARM_MESI_Three_Level_HTM, ARM_MOESI_hammer, Garnet_standalone, GCN3_X86, MIPS, 'NULL', NULL_MESI_Two_Level, NULL_MOESI_CMP_directory, NULL_MOESI_CMP_token, NULL_MOESI_hammer, POWER, RISCV, SPARC, X86, X86_MI_example, X86_MOESI_AMD_Base, VEGA_X86, GCN3_X86]
image: [gcc-version-12, clang-version-14]
opts: [.opt]
runs-on: [self-hosted, linux, x64, run]
continue-on-error: true
runs-on: [self-hosted, linux, x64, build]
timeout-minutes: 2880 # 48 hours
container: gcr.io/gem5-test/${{ matrix.image }}:latest
steps:
@@ -50,5 +50,5 @@ jobs:
# therefore need to explicitly checkout the develop branch.
ref: develop
- name: Compile build/${{ matrix.gem5-compilation }}/gem5${{ matrix.opts }} with ${{ matrix.image }}
run: /usr/bin/env python3 /usr/bin/scons --ignore-style build/${{ matrix.gem5-compilation }}/gem5${{ matrix.opts }}
run: /usr/bin/env python3 /usr/bin/scons --ignore-style build/${{ matrix.gem5-compilation }}/gem5${{ matrix.opts }} -j$(nproc)
timeout-minutes: 600 # 10 hours

View File

@@ -19,6 +19,7 @@ jobs:
build-gem5:
strategy:
fail-fast: false
matrix:
# NULL is in quotes since it is considered a keyword in yaml files
image: [ALL, ALL_CHI, ARM, ALL_MSI, ALL_MESI_Two_Level, "NULL", NULL_MI_example, RISCV, VEGA_X86]
@@ -36,7 +37,6 @@ jobs:
- image: NULL_MI_example
command-line: --default=NULL PROTOCOL=MI_example -j $(nproc)
runs-on: [self-hosted, linux, x64, build]
continue-on-error: true
needs: name-artifacts
container: gcr.io/gem5-test/ubuntu-22.04_all-dependencies:latest
steps:
@@ -74,10 +74,10 @@ jobs:
# start running all of the long tests
testlib-long-tests:
strategy:
fail-fast: false
matrix:
test-type: [arm_boot_tests, fs, gem5_library_example_tests, 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, run]
continue-on-error: true
container: gcr.io/gem5-test/ubuntu-22.04_all-dependencies:latest
needs: [name-artifacts, build-gem5]
timeout-minutes: 1440 # 24 hours for entire matrix to run
@@ -166,10 +166,10 @@ jobs:
testlib-long-gem5_library_example_tests:
runs-on: [self-hosted, linux, x64, run]
strategy:
fail-fast: false
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
continue-on-error: true
needs: [name-artifacts, build-gem5]
timeout-minutes: 1440 # 24 hours
steps:

42
.github/workflows/docker-build.yaml vendored Normal file
View File

@@ -0,0 +1,42 @@
#
name: Docker images build and push
on:
push:
branches:
- develop
paths:
- 'util/docker/ubuntu-20.04_all-depenencies'
workflow_dispatch:
env:
IMAGE_NAME: ubuntu-20.04_all-depenencies
#
jobs:
# This builds and pushes the docker image.
push:
runs-on: [self-hosted, linux, x64, run]
permissions:
packages: write
contents: read
steps:
- uses: actions/checkout@v3
- name: Build image
run: |
cd util/docker/ubuntu-20.04_all-depenencies
docker build . --file Dockerfile --tag $IMAGE_NAME --label "runnumber=${GITHUB_RUN_ID}"
- name: Log in to registry
run: echo "${{ secrets.GITHUB_TOKEN }}" | docker login ghcr.io -u $ --password-stdin
- name: Push image
run: |
IMAGE_ID=ghcr.io/${{ github.repository_owner }}/$IMAGE_NAME
# This changes all uppercase characters to lowercase.
IMAGE_ID=$(echo $IMAGE_ID | tr '[A-Z]' '[a-z]')
docker tag $IMAGE_NAME $IMAGE_ID:latest
docker push $IMAGE_ID::latest

View File

@@ -36,10 +36,10 @@ jobs:
# start running the very-long tests
testlib-very-long-tests:
strategy:
fail-fast: false
matrix:
test-type: [gem5_library_example_tests, gem5_resources, parsec_benchmarks, x86_boot_tests]
runs-on: [self-hosted, linux, x64, run]
continue-on-error: true
container: gcr.io/gem5-test/ubuntu-22.04_all-dependencies:latest
needs: [build-gem5]
timeout-minutes: 4320 # 3 days
@@ -77,3 +77,34 @@ jobs:
path: output.zip
retention-days: 7
- run: echo "This job's status is ${{ job.status }}."
dramsys-tests:
runs-on: [self-hosted, linux, x64, build]
container: gcr.io/gem5-test/ubuntu-22.04_all-dependencies:latest
timeout-minutes: 4320 # 3 days
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
- name: Checkout DRAMSys
working-directory: ${{ github.workspace }}/ext/dramsys
run: |
git clone https://github.com/tukl-msd/DRAMSys DRAMSys
cd DRAMSys
git checkout -b gem5 09f6dcbb91351e6ee7cadfc7bc8b29d97625db8f
git submodule update --init --recursive
# gem5 is built separately because it depends on the DRAMSys library
- name: Build gem5
working-directory: ${{ github.workspace }}
run: scons build/ALL/gem5.opt -j $(nproc)
- name: Run DRAMSys Checks
working-directory: ${{ github.workspace }}
run: |
./build/ALL/gem5.opt configs/example/gem5_library/dramsys/arm-hello-dramsys.py
./build/ALL/gem5.opt configs/example/gem5_library/dramsys/dramsys-traffic.py
./build/ALL/gem5.opt configs/example/dramsys.py