Skip to content

Commit f4ea237

Browse files
authored
PRODENG-3392: run PR & smoke workflows on self-hosted runners (#611)
Move PR validation and smoke tests onto the internal `arc-runner-set-mirantis-public` runner set to reduce reliance on GitHub-hosted runners. - pr.yml: switch `lint` to arc-runner-set-mirantis-public (unit-test, integration-test, and security-scan stay on ubuntu-latest for now). - smoke-tests.yaml: switch smoke-modern / smoke-legacy / smoke-windows / smoke-upgrade to arc-runner-set-mirantis-public. The runner image ships without Go and its Node runtime does not satisfy hashicorp/setup-terraform's wrapper, so also: * install Go via `actions/setup-go@v6` (go-version-file: go.mod, cache: true) before `make smoke-*` in every smoke job; * pass `terraform_wrapper: false` to `hashicorp/setup-terraform@v3` so the raw `terraform` binary lands on PATH. Without this, terratest's `defaultTerraformExecutable()` probe (`terraform -version` with nil stdio) fails against the Node wrapper and falls back to `tofu`, which is not installed: exec: "tofu": executable file not found in $PATH - go.yml: scope the pull_request `paths` filter to include `.github/workflows/go.yml` itself so changes to the workflow retrigger its own checks. Verified on run 28619416867 (HEAD c2355c6, pre-squash): smoke-modern, smoke-legacy, and smoke-upgrade all pass on the self-hosted runner. smoke-windows still fails with a WinRM 5986 timeout during Reset/Connect, but this failure signature also reproduces on `main` (ubuntu-latest, run 26822741859) and is unrelated to the runner migration. Co-authored-by: pgedara <pgedara@users.noreply.github.com>
1 parent 0130e27 commit f4ea237

3 files changed

Lines changed: 34 additions & 5 deletions

File tree

.github/workflows/go.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@ on:
77
- go.mod
88
- go.sum
99
- Makefile
10+
- '.github/workflows/go.yml'
1011

1112
jobs:
1213
unit-test:

.github/workflows/pr.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ on:
2424
jobs:
2525
lint:
2626
name: Lint Code
27-
runs-on: ubuntu-latest
27+
runs-on: arc-runner-set-mirantis-public
2828
env:
2929
GOTOOLCHAIN: auto
3030

.github/workflows/smoke-tests.yaml

Lines changed: 32 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -19,67 +19,95 @@ permissions:
1919

2020
jobs:
2121
smoke-modern:
22-
runs-on: ubuntu-latest
22+
runs-on: arc-runner-set-mirantis-public
2323
if: |
2424
github.event_name == 'push' ||
2525
contains(github.event.pull_request.labels.*.name, 'smoke-test') ||
2626
contains(github.event.pull_request.labels.*.name, 'smoke-modern')
2727
steps:
2828
- name: Checkout code
2929
uses: actions/checkout@v4
30+
- name: Set up Go
31+
uses: actions/setup-go@v6
32+
with:
33+
go-version-file: go.mod
34+
cache: true
3035
- name: Setup Terraform
3136
uses: hashicorp/setup-terraform@v3
37+
with:
38+
terraform_wrapper: false
3239
- name: Run modern smoke test
3340
env:
3441
AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID }}
3542
AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
3643
run: make smoke-modern
3744

3845
smoke-legacy:
39-
runs-on: ubuntu-latest
46+
runs-on: arc-runner-set-mirantis-public
4047
if: |
4148
github.event_name == 'push' ||
4249
contains(github.event.pull_request.labels.*.name, 'smoke-test') ||
4350
contains(github.event.pull_request.labels.*.name, 'smoke-legacy')
4451
steps:
4552
- name: Checkout code
4653
uses: actions/checkout@v4
54+
- name: Set up Go
55+
uses: actions/setup-go@v6
56+
with:
57+
go-version-file: go.mod
58+
cache: true
4759
- name: Setup Terraform
4860
uses: hashicorp/setup-terraform@v3
61+
with:
62+
terraform_wrapper: false
4963
- name: Run legacy smoke test
5064
env:
5165
AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID }}
5266
AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
5367
run: make smoke-legacy
5468

5569
smoke-windows:
56-
runs-on: ubuntu-latest
70+
runs-on: arc-runner-set-mirantis-public
5771
if: |
5872
github.event_name == 'push' ||
5973
contains(github.event.pull_request.labels.*.name, 'smoke-test') ||
6074
contains(github.event.pull_request.labels.*.name, 'smoke-windows')
6175
steps:
6276
- name: Checkout code
6377
uses: actions/checkout@v4
78+
- name: Set up Go
79+
uses: actions/setup-go@v6
80+
with:
81+
go-version-file: go.mod
82+
cache: true
6483
- name: Setup Terraform
6584
uses: hashicorp/setup-terraform@v3
85+
with:
86+
terraform_wrapper: false
6687
- name: Run windows smoke test
6788
env:
6889
AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID }}
6990
AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
7091
run: make smoke-windows
7192

7293
smoke-upgrade:
73-
runs-on: ubuntu-latest
94+
runs-on: arc-runner-set-mirantis-public
7495
if: |
7596
github.event_name == 'push' ||
7697
contains(github.event.pull_request.labels.*.name, 'smoke-test') ||
7798
contains(github.event.pull_request.labels.*.name, 'smoke-upgrade')
7899
steps:
79100
- name: Checkout code
80101
uses: actions/checkout@v4
102+
- name: Set up Go
103+
uses: actions/setup-go@v6
104+
with:
105+
go-version-file: go.mod
106+
cache: true
81107
- name: Setup Terraform
82108
uses: hashicorp/setup-terraform@v3
109+
with:
110+
terraform_wrapper: false
83111
- name: Run upgrade smoke test
84112
env:
85113
AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID }}

0 commit comments

Comments
 (0)