| # This workflow runs all of the compiler tests |
| |
| name: Compiler Tests |
| run-name: ${{ github.actor }} is running compiler tests |
| |
| |
| on: |
| # Runs every Friday from 7AM UTC |
| schedule: |
| - cron: '00 7 * * 5' |
| # Allows us to manually start workflow for testing |
| workflow_dispatch: |
| |
| jobs: |
| # replication of compiler-tests.sh |
| all-compilers: |
| strategy: |
| matrix: |
| image: [gcc-version-12, gcc-version-11, gcc-version-10, gcc-version-9, gcc-version-8, gcc-version-7, clang-version-14, clang-version-13, clang-version-12, clang-version-11, clang-version-10, clang-version-9, clang-version-8, clang-version-7, clang-version-6.0, ubuntu-18.04_all-dependencies, 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] |
| timeout-minutes: 2880 # 48 hours |
| container: gcr.io/gem5-test/${{ matrix.image }}:latest |
| 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: Compile build/ALL/gem5${{ matrix.opts }} with ${{ matrix.image }} |
| run: /usr/bin/env python3 /usr/bin/scons --ignore-style build/ALL/gem5${{ matrix.opts }} |
| timeout-minutes: 600 # 10 hours |
| |
| # Tests the two latest gcc and clang supported compilers against all gem5 compilations. |
| latest-compilers-all-gem5-builds: |
| strategy: |
| 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] |
| image: [gcc-version-12, clang-version-14] |
| opts: [.opt] |
| runs-on: [self-hosted, linux, x64, run] |
| timeout-minutes: 2880 # 48 hours |
| container: gcr.io/gem5-test/${{ matrix.image }}:latest |
| 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: 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 }} |
| timeout-minutes: 600 # 10 hours |