Skip to content

Commit 501fca7

Browse files
authored
chore(cli): Use large runners (#11898)
#### Summary <!-- Explain what problem this PR addresses --> <!--
1 parent d3779bd commit 501fca7

2 files changed

Lines changed: 8 additions & 28 deletions

File tree

.github/workflows/cli.yml

Lines changed: 7 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -13,25 +13,6 @@ on:
1313
- ".github/workflows/cli.yml"
1414

1515
jobs:
16-
resolve-runner:
17-
timeout-minutes: 5
18-
runs-on: ubuntu-latest
19-
outputs:
20-
runner: ${{ steps.resolve.outputs.runner }}
21-
steps:
22-
- name: Check if should use large runner
23-
id: large-runner
24-
# We want to speed runs on the main branch which prime the cache
25-
# We allow large runners only in this case to prevent forks from abusing them (it's enforced via runner groups access rules)
26-
# IF YOU WANT TO USE A LARGE RUNNER YOU NEED TO ADD THE WORKFLOW TO THE `CloudQuery releases` GROUP IN https://github.com/organizations/cloudquery/settings/actions/runner-groups
27-
if: github.event_name == 'push'
28-
run: |
29-
echo "runner=cloudquery-release-runner" >> $GITHUB_OUTPUT
30-
- name: Resolve runner
31-
id: resolve
32-
run: |
33-
RUNNER=${{ steps.large-runner.outputs.runner }}
34-
echo "runner=${RUNNER:-"ubuntu-latest"}" >> $GITHUB_OUTPUT
3516
cli:
3617
timeout-minutes: 30
3718
name: "cli"
@@ -42,7 +23,7 @@ jobs:
4223
strategy:
4324
fail-fast: false
4425
matrix:
45-
os: [ubuntu-latest, macos-latest, windows-latest]
26+
os: [ubuntu-cli-large-runner, macos-latest, windows-cli-large-runner]
4627
steps:
4728
- uses: actions/checkout@v3
4829
with:
@@ -55,7 +36,7 @@ jobs:
5536
cache-dependency-path: cli/go.sum
5637
- name: golangci-lint
5738
uses: golangci/golangci-lint-action@v3
58-
if: matrix.os == 'ubuntu-latest'
39+
if: matrix.os == 'ubuntu-cli-large-runner'
5940
with:
6041
version: v1.52.2
6142
working-directory: cli
@@ -66,15 +47,14 @@ jobs:
6647
- name: Test
6748
run: make test
6849
- name: gen-docs
69-
if: matrix.os == 'ubuntu-latest'
50+
if: matrix.os == 'ubuntu-cli-large-runner'
7051
run: make gen-docs
7152
- name: Fail if docs are changed
72-
if: matrix.os == 'ubuntu-latest'
53+
if: matrix.os == 'ubuntu-cli-large-runner'
7354
run: test "$(git status -s ../website/pages/docs/reference/cli/*.md | wc -l)" -eq 0
7455
validate-release:
7556
timeout-minutes: 30
76-
needs: [resolve-runner]
77-
runs-on: ${{ needs.resolve-runner.outputs.runner }}
57+
runs-on: ubuntu-cli-large-runner
7858
env:
7959
CGO_ENABLED: 0
8060
steps:
@@ -87,9 +67,9 @@ jobs:
8767
path: |
8868
~/.cache/go-build
8969
~/go/pkg/mod
90-
key: ${{ runner.os }}-go-1.19.5-release-cache-${{ hashFiles('cli/go.sum') }}
70+
key: ubuntu-go-1.19.5-release-cache-${{ hashFiles('cli/go.sum') }}
9171
restore-keys: |
92-
${{ runner.os }}-go-1.19.5-release-cache-cli
72+
ubuntu-go-1.19.5-release-cache-cli
9373
- name: Set up Go
9474
if: startsWith(github.head_ref, 'release-please--branches--main--components') || github.event_name == 'push'
9575
uses: actions/setup-go@v3

scripts/workflows/wait_for_required_workflows.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,7 @@ module.exports = async ({github, context}) => {
4141
// We test the CLI on multiple OSes, so we need to wait for all of them
4242
if (actions.includes("cli")) {
4343
actions = actions.filter(action => action !== "cli")
44-
actions = ["cli (ubuntu-latest)", "cli (windows-latest)", "cli (macos-latest)", ...actions]
44+
actions = ["cli (ubuntu-cli-large-runner)", "cli (windows-cli-large-runner)", "cli (macos-latest)", ...actions]
4545
}
4646

4747
// Enforce policy tests for AWS,GCP and K8s plugins

0 commit comments

Comments
 (0)