fix(ci): unbreak CircleCI and regenerate workflows to drop Node-20 mindsers action - #11
Merged
Merged
Conversation
Regenerates .github/workflows/zz_generated.*.yaml via devctl v7.40.7 gen workflows. The previous self-contained Create Release workflow is replaced with a thin wrapper invoking the centralized reusable workflow at giantswarm/github-workflows, which no longer uses mindsers/changelog-reader-action (see giantswarm/github-workflows#173). This unblocks the June 2 2026 Node 20 deprecation deadline: https://github.blog/changelog/2025-09-19-deprecation-of-node-20-on-github-actions-runners/ Refs: giantswarm/giantswarm#36091
Bump config to version 2.1 and pin the machine executor to ubuntu-2404:current. Without an explicit image, CircleCI uses its deprecated default machine image whose blobless-clone support causes the checkout step to fail silently (job 431). Also converts the legacy `deploy` step (removed in v2.1) to a plain `run` step with the same branch guard. AI-Generated: true Co-authored-by: circleci-app[bot] <127350680+circleci-app[bot]@users.noreply.github.com>
The build job dated from 2019 and fetched the architect v1.0.0 binary from the GitHub API using $RELEASE_TOKEN, which is no longer set on the project. The API returned 401, the command substitution came back empty and the step died with "wget: missing URL". Because `curl -sS` has no -f and there is no pipefail, the auth error never surfaced. Replace it with architect/go-test from the orb, matching giantswarm/app. The `architect deploy` step is dropped: it was guarded on CIRCLE_BRANCH == master while the default branch is main, so it had been dead for years. Supporting changes needed to make go-test pass: - Add go.mod. The repo was never a module, which blocked go-test and broke `go list -m` in Makefile.gen.go.mk. The go directive is 1.24.0, below every consumer, so no toolchain bump is forced. Existing consumers are unaffected since v0.4.2 is immutable. - Add to_test.go, covering every exported function (100% of statements) using only the stdlib, so the module stays dependency-free. - Add .nancy-ignore, which go-test passes to nancy via --exclude-vulnerability-file. Only .nancy-ignore.generated existed. - Add CHANGELOG.md, expected by the create-release workflows, backfilled from the tag history. - Add renovate.json5 with the shared Giant Swarm presets. - Restore the CI badge lost during the 2024 deprecation churn. Signed-off-by: weatherhog <lucas@giantswarm.io>
mproffitt
approved these changes
Aug 13, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Unbreaks CI on this repo and regenerates the auto-generated GitHub workflow files.
1. GitHub Actions — Node 20 deprecation
Regenerates the workflows via
devctl v7.40.7 gen workflows -f generic. The repo's self-contained Create Release workflow is replaced with a thin wrapper around the centralized reusable workflow ingiantswarm/github-workflows, which no longer usesmindsers/changelog-reader-action(see giantswarm/github-workflows#173).This unblocks the June 2 2026 Node 20 deprecation deadline.
Refs: giantswarm/giantswarm#36091
2. CircleCI — the build has been failing
Two separate failures, both fixed here.
Checkout (build 431) failed on the deprecated default machine image. Fixed in #12 by moving to
version: 2.1withmachine.image: ubuntu-2404:current.The architect bootstrap (builds 433, 436–438) then failed one step later. The job dated from 2019 and downloaded the architect
v1.0.0binary from the GitHub API:$RELEASE_TOKENis no longer set on this CircleCI project, so the header went out asAuthorization: tokenand GitHub answered401 Bad credentials. The substitution came back empty and the step died with the misleadingwget: missing URL—curl -sShas no-fand there's nopipefail, so the auth error never surfaced. (The release itself is fine; it resolves even unauthenticated.)Replaced with
architect/go-testfrom the orb, matchinggiantswarm/app. Thearchitect deploystep is dropped: it was guarded onCIRCLE_BRANCH == masterwhile the default branch ismain, so it had been dead since the rename.3. Supporting changes
go-testhas gates this repo couldn't meet, so:go.mod— the repo was never a Go module. This blockedgo-testand brokego list -minMakefile.gen.go.mk.go 1.24.0sits below every consumer (they're on 1.25–1.26), so no toolchain bump is forced. Existing consumers are unaffected:v0.4.2is immutable, so this only applies from the next tag.to_test.go— the package had no tests. Round-trips every exported function, 100% of statements, stdlib only so the module stays dependency-free..nancy-ignore—go-testpasses--exclude-vulnerability-file ./.nancy-ignore; only.nancy-ignore.generatedexisted, and its own header says repo-specific ignores belong in.nancy-ignore.CHANGELOG.md— expected by the create-release workflows, backfilled from the tag history.renovate.json5— shared Giant Swarm presets.Test plan
go build,go vet,go test(100% coverage),gofmt -l,goimports -local,go mod tidy && git diff --exit-code, non-ASCII filename check — everyarchitect/go-testgate run locally, all pass.architect:8.2.1ships Go 1.26.4, above thego 1.24.0directive.architect/go-testconfirmed working on a repo with nopkg/project(giantswarm/app).go-testgoes green on this PR.