From 5910bba76ffe76fd3c27804198c79815a563d584 Mon Sep 17 00:00:00 2001 From: Matthew Mattox Date: Sat, 19 Sep 2026 01:41:46 -0500 Subject: [PATCH 1/3] ci: run jobs on the on-prem self-hosted-linux ARC pool Moves GitHub-hosted (ubuntu-latest/24.04) and retired bare-metal jobs onto the on-prem pool; the DFW CI cluster and the idle host runners are retired. No-Task: move all CI onto the on-prem cluster --- .github/workflows/cli.yml | 6 +++--- .github/workflows/docs.yml | 4 ++-- .github/workflows/e2e-tests.yml | 2 +- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/.github/workflows/cli.yml b/.github/workflows/cli.yml index fb9ccee..7e3ac23 100644 --- a/.github/workflows/cli.yml +++ b/.github/workflows/cli.yml @@ -13,7 +13,7 @@ on: jobs: test: name: Test CLI - runs-on: ubuntu-latest + runs-on: self-hosted-linux steps: - name: Checkout code uses: actions/checkout@v4 @@ -42,7 +42,7 @@ jobs: build: name: Build and Release CLI needs: test - runs-on: ubuntu-latest + runs-on: self-hosted-linux strategy: matrix: include: @@ -111,7 +111,7 @@ jobs: release: name: Create GitHub Release - runs-on: ubuntu-latest + runs-on: self-hosted-linux needs: build if: startsWith(github.ref, 'refs/tags/') steps: diff --git a/.github/workflows/docs.yml b/.github/workflows/docs.yml index 0967e34..caf911f 100644 --- a/.github/workflows/docs.yml +++ b/.github/workflows/docs.yml @@ -20,7 +20,7 @@ concurrency: jobs: build: name: Build Docusaurus - runs-on: ubuntu-latest + runs-on: self-hosted-linux steps: - name: Checkout uses: actions/checkout@v4 @@ -68,7 +68,7 @@ jobs: deploy: name: Deploy to GitHub Pages - runs-on: ubuntu-latest + runs-on: self-hosted-linux needs: build # Deploy to the github-pages environment diff --git a/.github/workflows/e2e-tests.yml b/.github/workflows/e2e-tests.yml index ca5aaec..2d96945 100644 --- a/.github/workflows/e2e-tests.yml +++ b/.github/workflows/e2e-tests.yml @@ -46,7 +46,7 @@ concurrency: jobs: e2e-tests: - runs-on: ubuntu-latest + runs-on: self-hosted-linux timeout-minutes: 60 steps: From ef0a2150af0de1abb5decef86c4dd852a3eba3a4 Mon Sep 17 00:00:00 2001 From: Matthew Mattox Date: Sat, 19 Sep 2026 02:43:39 -0500 Subject: [PATCH 2/3] ci(cli): install zip on demand; drop setup-go cache on the on-prem runner The self-hosted-linux image has no zip, so the windows leg died with 'zip: command not found' and fail-fast cancelled the other four legs. Also disable setup-go's cache: the runner's GOCACHE/GOMODCACHE are a shared hostPath and the post-step spent 6+ min tarring it. No-Task: move all CI onto the on-prem cluster --- .github/workflows/cli.yml | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/.github/workflows/cli.yml b/.github/workflows/cli.yml index 7e3ac23..b2d4329 100644 --- a/.github/workflows/cli.yml +++ b/.github/workflows/cli.yml @@ -24,7 +24,9 @@ jobs: uses: actions/setup-go@v4 with: go-version: '1.24' - cache: true + # The on-prem runner's GOCACHE/GOMODCACHE are a shared warm hostPath; setup-go's + # own cache just tars it in a 6+ min post-step. The hostPath IS the cache. + cache: false - name: Run Go fmt and vet run: | @@ -72,7 +74,9 @@ jobs: uses: actions/setup-go@v4 with: go-version: '1.24' - cache: true + # The on-prem runner's GOCACHE/GOMODCACHE are a shared warm hostPath; setup-go's + # own cache just tars it in a 6+ min post-step. The hostPath IS the cache. + cache: false - name: Set VERSION env run: echo "VERSION=$(git describe --tags --always --dirty)" >> $GITHUB_ENV @@ -96,6 +100,8 @@ jobs: - name: Compress binary run: | if [ "${{ matrix.goos }}" = "windows" ]; then + # zip is not baked into the on-prem runner image (GitHub-hosted preinstalls it). + command -v zip >/dev/null || { sudo apt-get update -qq && sudo apt-get install -y -qq zip; } cd dist && zip dr-syncer-cli-${{ matrix.goos }}-${{ matrix.goarch }}.zip dr-syncer-cli-${{ matrix.goos }}-${{ matrix.goarch }}${{ matrix.suffix }} else cd dist && tar -czvf dr-syncer-cli-${{ matrix.goos }}-${{ matrix.goarch }}.tar.gz dr-syncer-cli-${{ matrix.goos }}-${{ matrix.goarch }} From 0f56a882e05f217ecde598b21724a56efac7b992 Mon Sep 17 00:00:00 2001 From: Matthew Mattox Date: Sat, 19 Sep 2026 02:45:14 -0500 Subject: [PATCH 3/3] ci: disable setup-go's cache on the on-prem runner GOCACHE/GOMODCACHE already live on the runner's persistent shared /cache; setup-go's cache step only re-archives it in the post-job step (measured 6-27 extra minutes per job), so set cache: false on every setup-go step. No-Task: move all CI onto the on-prem cluster --- .github/workflows/cli.yml | 6 ++---- .github/workflows/controller.yml | 4 ++++ .github/workflows/e2e-tests.yml | 3 ++- 3 files changed, 8 insertions(+), 5 deletions(-) diff --git a/.github/workflows/cli.yml b/.github/workflows/cli.yml index b2d4329..b395953 100644 --- a/.github/workflows/cli.yml +++ b/.github/workflows/cli.yml @@ -24,8 +24,7 @@ jobs: uses: actions/setup-go@v4 with: go-version: '1.24' - # The on-prem runner's GOCACHE/GOMODCACHE are a shared warm hostPath; setup-go's - # own cache just tars it in a 6+ min post-step. The hostPath IS the cache. + # GOCACHE/GOMODCACHE already live on the runner's persistent shared /cache; setup-go's cache step only re-archives it cache: false - name: Run Go fmt and vet @@ -74,8 +73,7 @@ jobs: uses: actions/setup-go@v4 with: go-version: '1.24' - # The on-prem runner's GOCACHE/GOMODCACHE are a shared warm hostPath; setup-go's - # own cache just tars it in a 6+ min post-step. The hostPath IS the cache. + # GOCACHE/GOMODCACHE already live on the runner's persistent shared /cache; setup-go's cache step only re-archives it cache: false - name: Set VERSION env diff --git a/.github/workflows/controller.yml b/.github/workflows/controller.yml index 478707f..78a86f9 100644 --- a/.github/workflows/controller.yml +++ b/.github/workflows/controller.yml @@ -29,6 +29,8 @@ jobs: uses: actions/setup-go@v5 with: go-version: '1.24' + # GOCACHE/GOMODCACHE already live on the runner's persistent shared /cache; setup-go's cache step only re-archives it + cache: false - name: Set up kubectl uses: azure/setup-kubectl@v4 @@ -140,6 +142,8 @@ jobs: uses: actions/setup-go@v5 with: go-version: '1.24' + # GOCACHE/GOMODCACHE already live on the runner's persistent shared /cache; setup-go's cache step only re-archives it + cache: false - name: Install dependencies run: | diff --git a/.github/workflows/e2e-tests.yml b/.github/workflows/e2e-tests.yml index 2d96945..d7c2526 100644 --- a/.github/workflows/e2e-tests.yml +++ b/.github/workflows/e2e-tests.yml @@ -57,7 +57,8 @@ jobs: uses: actions/setup-go@v5 with: go-version: '1.24' - cache: true + # GOCACHE/GOMODCACHE already live on the runner's persistent shared /cache; setup-go's cache step only re-archives it + cache: false - name: Set up Docker Buildx uses: docker/setup-buildx-action@v3