diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index f3294f496..fb327e290 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -19,32 +19,38 @@ jobs: test: name: Julia ${{ matrix.version }} - ${{ matrix.os }} - ${{ matrix.arch }} runs-on: ${{ matrix.os }} - # The default timeout for each job is 6 hours, we set it to 2 hours instead - # Long enough to tell us something's wrong, short enough to catch it early - timeout-minutes: 120 + timeout-minutes: 30 strategy: fail-fast: false matrix: version: - - '1.10' - - '1.11' - - '1.12' + - '1' os: - ubuntu-latest - windows-latest - - macos-15-intel # Intel (x64) runner + - macos-15-intel arch: - x64 include: - # Keep Windows x86 coverage if needed - - os: windows-latest - version: '1.10' - arch: x86 - # macOS ARM64 (Apple Silicon) + # Apple Silicon - os: macos-latest version: '1' arch: aarch64 + # x86 + - os: windows-latest + version: '1' + arch: x86 + # Older and pre-release versions + - os: ubuntu-latest + version: '1.10' + arch: x64 + - os: ubuntu-latest + version: '1.11' + arch: x64 + - os: ubuntu-latest + version: 'pre' + arch: x64 steps: - uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # 7.0.0 diff --git a/.github/workflows/regression.yml b/.github/workflows/regression.yml index 5387fd4c1..555c2ff14 100644 --- a/.github/workflows/regression.yml +++ b/.github/workflows/regression.yml @@ -17,33 +17,28 @@ concurrency: jobs: regression: - name: ${{ matrix.style }}-${{ matrix.orgs_label }} + name: ${{ matrix.style }}-${{ matrix.version }} runs-on: ubuntu-latest timeout-minutes: 60 strategy: fail-fast: false matrix: - orgs_label: - - Group1 - - Group2 - - Group3 style: - default - blue - include: - - orgs_label: Group1 - orgs: "JuliaLang JuliaPlots MakieOrg" - - orgs_label: Group2 - orgs: "SciML JuliaDiff JuliaStats TuringLang EnzymeAD" - - orgs_label: Group3 - orgs: "jump-dev trixi-framework oscar-system" + version: + - '1' + - 'pre' steps: - uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # 7.0.0 with: path: formatter - uses: julia-actions/setup-julia@fa02766e078afaaf09b14210362cee14137e6a32 # 3.0.2 + with: + version: ${{ matrix.version }} + - uses: julia-actions/cache@a45e8fa8be21c18a06b7177052533149e61e9b38 # 3.1.0 - name: Cache target repos @@ -51,15 +46,15 @@ jobs: uses: actions/cache@55cc8345863c7cc4c66a329aec7e433d2d1c52a9 # 6.1.0 with: path: target - key: repos-${{ matrix.orgs_label }}-${{ github.run_id }} + key: repos-${{ github.run_id }} restore-keys: | - repos-${{ matrix.orgs_label }}- + repos- - name: Clone target repos env: GH_TOKEN: ${{ github.token }} run: | - for org in ${{ matrix.orgs }}; do + for org in JuliaLang JuliaPlots MakieOrg SciML JuliaDiff JuliaStats TuringLang EnzymeAD jump-dev trixi-framework oscar-system; do for name in $(gh repo list "$org" --limit 1000 --json name,isFork,pushedAt --jq '.[] | select(((.name | endswith(".jl")) or .name == "julia") and (.isFork | not) and (.pushedAt >= "2024-01-01")) | .name'); do dest="target/$org/$name" [[ -d "$dest" ]] && continue