Skip to content

fix: migrate goreleaser to v2 and bump actions to node24#237

Merged
barnabasbusa merged 7 commits intomasterfrom
fix/goreleaser-v2-and-node24-actions
Mar 31, 2026
Merged

fix: migrate goreleaser to v2 and bump actions to node24#237
barnabasbusa merged 7 commits intomasterfrom
fix/goreleaser-v2-and-node24-actions

Conversation

@barnabasbusa
Copy link
Copy Markdown
Contributor

@barnabasbusa barnabasbusa commented Mar 31, 2026

Summary

  • Migrate goreleaser config from v0 to v2 format (version: 2, snapshot.version_template, dockers_v2)
  • Replace dockers + docker_manifests (16 entries) with dockers_v2 (2 entries) for simplified multi-arch builds
  • Update Dockerfiles to use $TARGETPLATFORM for multi-platform binary copy
  • Remove samcm/ Docker image references, only push to ethpandaops/
  • Remove guyarb/golang-test-annotations dependency — stuck on node20 with no node24 version available, and GitHub Actions logs already surface test failures
  • Bump Go from 1.25 to 1.26 across go.mod, Dockerfile, and all workflows
  • Use latest tags for consensus client images in integration tests instead of hardcoded versions
  • Bump all GitHub Actions to node24-compatible versions (all pinned by SHA)

Actions updated

Action Old New
actions/checkout v3 (node16) v6 (node24)
actions/setup-go v3 (node16) v6 (node24)
actions/setup-node v3 (node16) v6 (node24)
actions/upload-artifact v4 (node20) v7 (node24)
docker/setup-qemu-action v2 (node16) v4 (node24)
docker/setup-buildx-action v2 (node16) v4 (node24)
docker/login-action v2 (node16) v4 (node24)
goreleaser/goreleaser-action v4 (node16) v7 (node24)
golangci/golangci-lint-action v8 v9 (node24)
guyarb/golang-test-annotations v0.6 (node20) removed — no node24 version available

Integration test images

Switched from pinned versions to latest tags:

Client Old New
Lighthouse sigp/lighthouse:v8.0.1 sigp/lighthouse:latest
Teku consensys/teku:25.11.0 consensys/teku:latest
Prysm gcr.io/.../beacon-chain:v7.0.0 gcr.io/.../beacon-chain:latest
Nimbus statusim/nimbus-eth2:amd64-v25.11.0 statusim/nimbus-eth2:amd64-latest
Lodestar chainsafe/lodestar:v1.36.0 chainsafe/lodestar:latest

Test plan

  • Verify goreleaser release workflow succeeds on next tag push
  • Verify multi-arch Docker images are built and pushed correctly to ethpandaops/checkpointz
  • Verify CI workflows (lint, test, integration) pass on PR

🤖 Generated with Claude Code

- Add version: 2 to goreleaser config to fix "only version: 2 supported" error
- Rename snapshot.name_template to version_template (deprecated)
- Replace dockers + docker_manifests with dockers_v2 for simplified multi-arch builds
- Update Dockerfiles to use $TARGETPLATFORM for multi-platform binary copy
- Remove samcm/ Docker image references, only push to ethpandaops/
- Bump all GitHub Actions to node24-compatible versions:
  - actions/checkout v3 -> v6
  - actions/setup-go v3 -> v6
  - actions/setup-node v3 -> v6
  - docker/setup-qemu-action v2 -> v4
  - docker/setup-buildx-action v2 -> v4
  - docker/login-action v2 -> v4
  - goreleaser/goreleaser-action v4 -> v7
  - golangci/golangci-lint-action v8 -> v9
  - guyarb/golang-test-annotations v0.6 -> v0.8

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
@barnabasbusa barnabasbusa requested a review from samcm as a code owner March 31, 2026 09:13
barnabasbusa and others added 6 commits March 31, 2026 11:14
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
The annotation action was stuck on node20 with no node24 version
available. GitHub Actions logs already surface test failures.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
go.mod requires go 1.25.1, but workflows were using 1.22 causing
lint to fail with "go.mod requires go >= 1.25.1 (running go 1.22.12)".

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Update go.mod, Dockerfile, and all workflows to Go 1.26.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Avoids needing to manually bump versions for each client release.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
- Preallocate peers slice with capacity
- Add nolint:gosec annotations for safe integer conversions

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
@barnabasbusa barnabasbusa merged commit 696cade into master Mar 31, 2026
6 of 12 checks passed
@barnabasbusa barnabasbusa deleted the fix/goreleaser-v2-and-node24-actions branch March 31, 2026 11:37
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants