Skip to content

Commit a666577

Browse files
committed
Check for large runners
Variable | Runner to use if set to `1` -|- `use-large-linux-runners-for-speed` | `ubuntu-latest-xl` `use-large-mac-runners-for-speed` | `macos-12-xl` `use-large-win-runners-for-speed` | `windows-latest-xl`
1 parent aeae208 commit a666577

8 files changed

+181
-17
lines changed

Diff for: .github/workflows/compile-queries.yml

+19-1
Original file line numberDiff line numberDiff line change
@@ -9,8 +9,26 @@ on:
99
pull_request:
1010

1111
jobs:
12+
choose-runner:
13+
runs-on: ubuntu-latest
14+
outputs:
15+
mac-12: ${{ steps.results.outputs.MAC_12 }}
16+
ubuntu-latest: ${{ steps.results.outputs.UBUNTU_LATEST }}
17+
windows-latest: ${{ steps.results.outputs.WINDOWS_LATEST }}
18+
steps:
19+
- id: results
20+
run: |
21+
echo "UBUNTU_LATEST=$UBUNTU_LATEST" >> $GITHUB_OUTPUT
22+
echo "MAC_12=$MAC_12" >> $GITHUB_OUTPUT
23+
echo "WINDOWS_LATEST=$WINDOWS_LATEST" >> $GITHUB_OUTPUT
24+
env:
25+
UBUNTU_LATEST: ${{ vars.use-large-linux-runners-for-speed && 'ubuntu-latest-xl' || 'ubuntu-latest' }}
26+
MAC_12: ${{ vars.use-large-mac-runners-for-speed && 'macos-12-xl' || 'macos-12' }}
27+
WINDOWS_LATEST: ${{ vars.use-large-win-runners-for-speed && 'windows-latest-xl' || 'windows-latest' }}
28+
1229
compile-queries:
13-
runs-on: ubuntu-latest-xl
30+
needs: choose-runner
31+
runs-on: ${{ needs.choose-runner.outputs.ubuntu-latest }}
1432

1533
steps:
1634
- uses: actions/checkout@v4

Diff for: .github/workflows/csharp-qltest.yml

+23-1
Original file line numberDiff line numberDiff line change
@@ -45,8 +45,30 @@ jobs:
4545
--dbscheme=ql/lib/semmlecode.csharp.dbscheme --target-dbscheme=downgrades/initial/semmlecode.csharp.dbscheme |
4646
xargs codeql execute upgrades testdb
4747
diff -q testdb/semmlecode.csharp.dbscheme downgrades/initial/semmlecode.csharp.dbscheme
48+
49+
choose-runner:
50+
defaults:
51+
run:
52+
working-directory: /tmp
53+
runs-on: ubuntu-latest
54+
outputs:
55+
mac-12: ${{ steps.results.outputs.MAC_12 }}
56+
ubuntu-latest: ${{ steps.results.outputs.UBUNTU_LATEST }}
57+
windows-latest: ${{ steps.results.outputs.WINDOWS_LATEST }}
58+
steps:
59+
- id: results
60+
run: |
61+
echo "UBUNTU_LATEST=$UBUNTU_LATEST" >> $GITHUB_OUTPUT
62+
echo "MAC_12=$MAC_12" >> $GITHUB_OUTPUT
63+
echo "WINDOWS_LATEST=$WINDOWS_LATEST" >> $GITHUB_OUTPUT
64+
env:
65+
UBUNTU_LATEST: ${{ vars.use-large-linux-runners-for-speed && 'ubuntu-latest-xl' || 'ubuntu-latest' }}
66+
MAC_12: ${{ vars.use-large-mac-runners-for-speed && 'macos-12-xl' || 'macos-12' }}
67+
WINDOWS_LATEST: ${{ vars.use-large-win-runners-for-speed && 'windows-latest-xl' || 'windows-latest' }}
68+
4869
qltest:
49-
runs-on: ubuntu-latest-xl
70+
needs: choose-runner
71+
runs-on: ${{ needs.choose-runner.outputs.ubuntu-latest }}
5072
strategy:
5173
fail-fast: false
5274
matrix:

Diff for: .github/workflows/go-tests-other-os.yml

+19-1
Original file line numberDiff line numberDiff line change
@@ -45,9 +45,27 @@ jobs:
4545
cd go
4646
make test cache="${{ steps.query-cache.outputs.cache-dir }}"
4747
48+
choose-runner:
49+
runs-on: ubuntu-latest
50+
outputs:
51+
mac-12: ${{ steps.results.outputs.MAC_12 }}
52+
ubuntu-latest: ${{ steps.results.outputs.UBUNTU_LATEST }}
53+
windows-latest: ${{ steps.results.outputs.WINDOWS_LATEST }}
54+
steps:
55+
- id: results
56+
run: |
57+
echo "UBUNTU_LATEST=$UBUNTU_LATEST" >> $GITHUB_OUTPUT
58+
echo "MAC_12=$MAC_12" >> $GITHUB_OUTPUT
59+
echo "WINDOWS_LATEST=$WINDOWS_LATEST" >> $GITHUB_OUTPUT
60+
env:
61+
UBUNTU_LATEST: ${{ vars.use-large-linux-runners-for-speed && 'ubuntu-latest-xl' || 'ubuntu-latest' }}
62+
MAC_12: ${{ vars.use-large-mac-runners-for-speed && 'macos-12-xl' || 'macos-12' }}
63+
WINDOWS_LATEST: ${{ vars.use-large-win-runners-for-speed && 'windows-latest-xl' || 'windows-latest' }}
64+
4865
test-win:
4966
name: Test Windows
50-
runs-on: windows-latest-xl
67+
needs: choose-runner
68+
runs-on: ${{ needs.choose-runner.outputs.windows-latest }}
5169
steps:
5270
- name: Set up Go ${{ env.GO_VERSION }}
5371
uses: actions/setup-go@v5

Diff for: .github/workflows/go-tests.yml

+19-1
Original file line numberDiff line numberDiff line change
@@ -18,9 +18,27 @@ on:
1818
env:
1919
GO_VERSION: '~1.21.0'
2020
jobs:
21+
choose-runner:
22+
runs-on: ubuntu-latest
23+
outputs:
24+
mac-12: ${{ steps.results.outputs.MAC_12 }}
25+
ubuntu-latest: ${{ steps.results.outputs.UBUNTU_LATEST }}
26+
windows-latest: ${{ steps.results.outputs.WINDOWS_LATEST }}
27+
steps:
28+
- id: results
29+
run: |
30+
echo "UBUNTU_LATEST=$UBUNTU_LATEST" >> $GITHUB_OUTPUT
31+
echo "MAC_12=$MAC_12" >> $GITHUB_OUTPUT
32+
echo "WINDOWS_LATEST=$WINDOWS_LATEST" >> $GITHUB_OUTPUT
33+
env:
34+
UBUNTU_LATEST: ${{ vars.use-large-linux-runners-for-speed && 'ubuntu-latest-xl' || 'ubuntu-latest' }}
35+
MAC_12: ${{ vars.use-large-mac-runners-for-speed && 'macos-12-xl' || 'macos-12' }}
36+
WINDOWS_LATEST: ${{ vars.use-large-win-runners-for-speed && 'windows-latest-xl' || 'windows-latest' }}
37+
2138
test-linux:
2239
name: Test Linux (Ubuntu)
23-
runs-on: ubuntu-latest-xl
40+
needs: choose-runner
41+
runs-on: ${{ needs.choose-runner.outputs.ubuntu-latest }}
2442
steps:
2543
- name: Set up Go ${{ env.GO_VERSION }}
2644
uses: actions/setup-go@v5

Diff for: .github/workflows/ql-for-ql-build.yml

+19-1
Original file line numberDiff line numberDiff line change
@@ -10,8 +10,26 @@ env:
1010
CARGO_TERM_COLOR: always
1111

1212
jobs:
13+
choose-runner:
14+
runs-on: ubuntu-latest
15+
outputs:
16+
mac-12: ${{ steps.results.outputs.MAC_12 }}
17+
ubuntu-latest: ${{ steps.results.outputs.UBUNTU_LATEST }}
18+
windows-latest: ${{ steps.results.outputs.WINDOWS_LATEST }}
19+
steps:
20+
- id: results
21+
run: |
22+
echo "UBUNTU_LATEST=$UBUNTU_LATEST" >> $GITHUB_OUTPUT
23+
echo "MAC_12=$MAC_12" >> $GITHUB_OUTPUT
24+
echo "WINDOWS_LATEST=$WINDOWS_LATEST" >> $GITHUB_OUTPUT
25+
env:
26+
UBUNTU_LATEST: ${{ vars.use-large-linux-runners-for-speed && 'ubuntu-latest-xl' || 'ubuntu-latest' }}
27+
MAC_12: ${{ vars.use-large-mac-runners-for-speed && 'macos-12-xl' || 'macos-12' }}
28+
WINDOWS_LATEST: ${{ vars.use-large-win-runners-for-speed && 'windows-latest-xl' || 'windows-latest' }}
29+
1330
analyze:
14-
runs-on: ubuntu-latest-xl
31+
needs: choose-runner
32+
runs-on: ${{ needs.choose-runner.outputs.ubuntu-latest }}
1533
steps:
1634
### Build the queries ###
1735
- uses: actions/checkout@v4

Diff for: .github/workflows/ruby-build.yml

+22-1
Original file line numberDiff line numberDiff line change
@@ -110,8 +110,29 @@ jobs:
110110
ruby/extractor/target/release/codeql-extractor-ruby
111111
ruby/extractor/target/release/codeql-extractor-ruby.exe
112112
retention-days: 1
113+
choose-runner:
114+
defaults:
115+
run:
116+
working-directory: /tmp
117+
runs-on: ubuntu-latest
118+
outputs:
119+
mac-12: ${{ steps.results.outputs.MAC_12 }}
120+
ubuntu-latest: ${{ steps.results.outputs.UBUNTU_LATEST }}
121+
windows-latest: ${{ steps.results.outputs.WINDOWS_LATEST }}
122+
steps:
123+
- id: results
124+
run: |
125+
echo "UBUNTU_LATEST=$UBUNTU_LATEST" >> $GITHUB_OUTPUT
126+
echo "MAC_12=$MAC_12" >> $GITHUB_OUTPUT
127+
echo "WINDOWS_LATEST=$WINDOWS_LATEST" >> $GITHUB_OUTPUT
128+
env:
129+
UBUNTU_LATEST: ${{ vars.use-large-linux-runners-for-speed && 'ubuntu-latest-xl' || 'ubuntu-latest' }}
130+
MAC_12: ${{ vars.use-large-mac-runners-for-speed && 'macos-12-xl' || 'macos-12' }}
131+
WINDOWS_LATEST: ${{ vars.use-large-win-runners-for-speed && 'windows-latest-xl' || 'windows-latest' }}
132+
113133
compile-queries:
114-
runs-on: ubuntu-latest-xl
134+
needs: choose-runner
135+
runs-on: ${{ needs.choose-runner.outputs.ubuntu-latest }}
115136
steps:
116137
- uses: actions/checkout@v4
117138
- name: Fetch CodeQL

Diff for: .github/workflows/ruby-qltest.yml

+23-1
Original file line numberDiff line numberDiff line change
@@ -49,8 +49,30 @@ jobs:
4949
--dbscheme=ql/lib/ruby.dbscheme --target-dbscheme=downgrades/initial/ruby.dbscheme |
5050
xargs codeql execute upgrades testdb
5151
diff -q testdb/ruby.dbscheme downgrades/initial/ruby.dbscheme
52+
53+
choose-runner:
54+
defaults:
55+
run:
56+
working-directory: /tmp
57+
runs-on: ubuntu-latest
58+
outputs:
59+
mac-12: ${{ steps.results.outputs.MAC_12 }}
60+
ubuntu-latest: ${{ steps.results.outputs.UBUNTU_LATEST }}
61+
windows-latest: ${{ steps.results.outputs.WINDOWS_LATEST }}
62+
steps:
63+
- id: results
64+
run: |
65+
echo "UBUNTU_LATEST=$UBUNTU_LATEST" >> $GITHUB_OUTPUT
66+
echo "MAC_12=$MAC_12" >> $GITHUB_OUTPUT
67+
echo "WINDOWS_LATEST=$WINDOWS_LATEST" >> $GITHUB_OUTPUT
68+
env:
69+
UBUNTU_LATEST: ${{ vars.use-large-linux-runners-for-speed && 'ubuntu-latest-xl' || 'ubuntu-latest' }}
70+
MAC_12: ${{ vars.use-large-mac-runners-for-speed && 'macos-12-xl' || 'macos-12' }}
71+
WINDOWS_LATEST: ${{ vars.use-large-win-runners-for-speed && 'windows-latest-xl' || 'windows-latest' }}
72+
5273
qltest:
53-
runs-on: ubuntu-latest-xl
74+
needs: choose-runner
75+
runs-on: ${{ needs.choose-runner.outputs.ubuntu-latest }}
5476
strategy:
5577
fail-fast: false
5678
steps:

Diff for: .github/workflows/swift.yml

+37-10
Original file line numberDiff line numberDiff line change
@@ -34,41 +34,68 @@ on:
3434
- codeql-cli-*
3535

3636
jobs:
37+
choose-runner:
38+
runs-on: ubuntu-latest
39+
outputs:
40+
mac-12: ${{ steps.results.outputs.MAC_12 }}
41+
ubuntu-latest: ${{ steps.results.outputs.UBUNTU_LATEST }}
42+
windows-latest: ${{ steps.results.outputs.WINDOWS_LATEST }}
43+
steps:
44+
- id: results
45+
run: |
46+
echo "UBUNTU_LATEST=$UBUNTU_LATEST" >> $GITHUB_OUTPUT
47+
echo "MAC_12=$MAC_12" >> $GITHUB_OUTPUT
48+
echo "WINDOWS_LATEST=$WINDOWS_LATEST" >> $GITHUB_OUTPUT
49+
env:
50+
UBUNTU_LATEST: ${{ vars.use-large-linux-runners-for-speed && 'ubuntu-latest-xl' || 'ubuntu-latest' }}
51+
MAC_12: ${{ vars.use-large-mac-runners-for-speed && 'macos-12-xl' || 'macos-12' }}
52+
WINDOWS_LATEST: ${{ vars.use-large-win-runners-for-speed && 'windows-latest-xl' || 'windows-latest' }}
53+
3754
# not using a matrix as you cannot depend on a specific job in a matrix, and we want to start linux checks
3855
# without waiting for the macOS build
3956
build-and-test-macos:
40-
runs-on: macos-12-xl
57+
needs: choose-runner
58+
runs-on: ${{ needs.choose-runner.outputs.mac-12 }}
4159
steps:
4260
- uses: actions/checkout@v4
4361
- uses: ./swift/actions/build-and-test
4462
build-and-test-linux:
45-
runs-on: ubuntu-latest-xl
63+
needs: choose-runner
64+
runs-on: ${{ needs.choose-runner.outputs.ubuntu-latest }}
4665
steps:
4766
- uses: actions/checkout@v4
4867
- uses: ./swift/actions/build-and-test
4968
qltests-linux:
50-
needs: build-and-test-linux
51-
runs-on: ubuntu-latest-xl
69+
needs:
70+
- build-and-test-linux
71+
- choose-runner
72+
runs-on: ${{ needs.choose-runner.outputs.ubuntu-latest }}
5273
steps:
5374
- uses: actions/checkout@v4
5475
- uses: ./swift/actions/run-ql-tests
5576
qltests-macos:
5677
if : ${{ github.event_name == 'pull_request' }}
57-
needs: build-and-test-macos
58-
runs-on: macos-12-xl
78+
needs:
79+
- build-and-test-macos
80+
- choose-runner
81+
runs-on: ${{ needs.choose-runner.outputs.mac-12 }}
5982
steps:
6083
- uses: actions/checkout@v4
6184
- uses: ./swift/actions/run-ql-tests
6285
integration-tests-linux:
63-
needs: build-and-test-linux
64-
runs-on: ubuntu-latest-xl
86+
needs:
87+
- build-and-test-linux
88+
- choose-runner
89+
runs-on: ${{ needs.choose-runner.outputs.ubuntu-latest }}
6590
steps:
6691
- uses: actions/checkout@v4
6792
- uses: ./swift/actions/run-integration-tests
6893
integration-tests-macos:
6994
if : ${{ github.event_name == 'pull_request' }}
70-
needs: build-and-test-macos
71-
runs-on: macos-12-xl
95+
needs:
96+
- build-and-test-macos
97+
- choose-runner
98+
runs-on: ${{ needs.choose-runner.outputs.mac-12 }}
7299
timeout-minutes: 60
73100
steps:
74101
- uses: actions/checkout@v4

0 commit comments

Comments
 (0)