Repository navigation
56 lines (56 loc) · 1.6 KB
/
Copy pathsource-sync.yml
File metadata and controls
56 lines (56 loc) · 1.6 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
---
name: Check upstream source updates
permissions:
contents: read
actions: read
jobs:
select:
runs-on: ubuntu-24.04
timeout-minutes: 10
outputs:
matrix: "${{ steps.cases.outputs.matrix }}"
window_open: "${{ steps.window.outputs.open }}"
steps:
- uses: actions/checkout@d23441a48e516b6c34aea4fa41551a30e30af803
with:
persist-credentials: false
- uses: ruby/setup-ruby@95ef2b042f9d7a56d8268cba8559e2842e2ad01b
- run: bundle install --jobs 4 --retry 2
- id: window
env:
BENCHMARK_CADENCE_UNTIL: ${{ vars.BENCHMARK_CADENCE_UNTIL }}
run: ruby scripts/cadence-window.rb
- id: cases
env:
CASE_ID: "${{ inputs.case_id }}"
run: |
args=()
[[ -z "$CASE_ID" ]] || args+=(--case "$CASE_ID")
echo "matrix=$(ruby scripts/sync-sources.rb --matrix "${args[@]}")" >> "$GITHUB_OUTPUT"
sources:
name: "${{ matrix.case_id }}"
needs: select
permissions:
contents: write
actions: write
concurrency:
group: benchmark-source-${{ matrix.case_id }}
cancel-in-progress: false
queue: max
strategy:
fail-fast: false
max-parallel: 6
matrix: "${{ fromJSON(needs.select.outputs.matrix) }}"
uses: "./.github/workflows/source-case.yml"
with:
case_id: "${{ matrix.case_id }}"
cadence_window_open: ${{ needs.select.outputs.window_open == 'true' }}
'on':
schedule:
- cron: 11 * * * *
workflow_dispatch:
inputs:
case_id:
description: Optional case ID; empty checks the scheduled suite.
type: string
default: ''