Skip to content

Run-Frequent

Run-Frequent #1021

Workflow file for this run

name: Run-Frequent
# Performs workloads we want to run as frequently as possible
# Currently that is building/testing a variety of targets
# Current compute time estimate:
# ~116 hrs every 6 hours
# There are 20 github runners, giving us a hard limit of 120 hrs every 6 hrs
on:
schedule:
# Run 4 times a day
- cron: 0 0,6,12,18 * * *
workflow_call:
inputs:
gcchash:
description: 'GCC Hash'
required: true
type: string
issue_num:
description: 'Issue number of baseline'
required: true
type: string
workflow_dispatch:
branches:
- main
inputs:
gcchash:
description: 'GCC Hash'
required: true
multi_target:
description: 'Targets to run (libc:arch-abi;...)'
required: true
issue_num:
description: 'Bisection Issue Number (Optional)'
required: false
jobs:
init-submodules:
uses: ./.github/workflows/init-submodules.yaml
with:
prefix: ''
gcchash: ${{ inputs.gcchash }}
branch: master
creg: # Check Regressions. Short name so I can see the matrix string in github
needs: [init-submodules]
strategy:
fail-fast: false
matrix:
mode: [newlib, linux]
target:
[
rv32gc-ilp32d,
rv64gc-lp64d,
rv32gc_zba_zbb_zbc_zbs-ilp32d, # rv32 bitmanip
rv64gc_zba_zbb_zbc_zbs-lp64d, # rv64 bitmanip
]
multilib: [non-multilib]
uses: ./.github/workflows/build-test.yaml
with:
mode: ${{ matrix.mode }}
target: ${{ matrix.target }}
gcchash: ${{ needs.init-submodules.outputs.gcchash }}
multilib: ${{ matrix.multilib }}
multitarget: ${{ github.event.inputs.multi_target }}
run_on_self_hosted: false
prefix: ''
cmreg-self-hosted: # Check Multilib Regressions. Short name so I can see the matrix string in github
needs: [init-submodules]
strategy:
fail-fast: false
matrix:
mode: [newlib, linux]
target: [rv64gcv-lp64d] # Dummy placeholder.
# Actually runs rv32/rv64 multilib:
# rv32gcv-ilp32d, # rv32 vector
# rv64gcv-lp64d, # rv64 vector
# rv64gcv_zvbb_zvbc_zvkg_zvkn_zvknc_zvkned_zvkng_zvknha_zvknhb_zvks_zvksc_zvksed_zvksg_zvksh_zvkt-lp64d, # rv64 vector crypto
# rv64imafdcv_zicond_zawrs_zbc_zvkng_zvksg_zvbb_zvbc_zicsr_zba_zbb_zbs_zicbom_zicbop_zicboz_zfhmin_zkt-lp64d, # RVA23U64 profile with optional extensions, excluding unsupported extensions
multilib: [multilib]
uses: ./.github/workflows/build-test.yaml
with:
mode: ${{ matrix.mode }}
target: ${{ matrix.target }}
gcchash: ${{ needs.init-submodules.outputs.gcchash }}
multilib: ${{ matrix.multilib }}
multitarget: ${{ github.event.inputs.multi_target }}
run_on_self_hosted: true
prefix: ''
cmreg-self-hosted-uc: # Check Multilib Regressions. Short name so I can see the matrix string in github
needs: [init-submodules]
strategy:
fail-fast: false
matrix:
mode: [newlib] # linux does not support no a extension
target:
[
# Left as rv64 with lp64d instead of lp64 for naming
rv64imc-lp64d, # runs base targets
rv64imc_zba_zbb_zbc_zbs-lp64d, # runs base + bitmanip
]
multilib: [multilib]
uses: ./.github/workflows/build-test.yaml
with:
mode: ${{ matrix.mode }}
target: ${{ matrix.target }}
gcchash: ${{ needs.init-submodules.outputs.gcchash }}
multilib: ${{ matrix.multilib }}
multitarget: ${{ github.event.inputs.multi_target }}
run_on_self_hosted: true
prefix: ''
summarize:
if: "!cancelled()" # Generate github issues even when some (or all) targets fail to build
needs: [init-submodules, creg, cmreg-self-hosted, cmreg-self-hosted-uc]
permissions:
issues: write
uses: ./.github/workflows/generate-summary.yaml
with:
gcchash: ${{ needs.init-submodules.outputs.gcchash }}
issue_num: ${{ inputs.issue_num }}
issue_hash_prefix: Testsuite Status
prefix: ''
branch: master