Skip to content

feat(ci): configure Go proxy settings for builds#58

Closed
bschimke95 wants to merge 9 commits intomainfrom
KU-4668/go-build-issues
Closed

feat(ci): configure Go proxy settings for builds#58
bschimke95 wants to merge 9 commits intomainfrom
KU-4668/go-build-issues

Conversation

@bschimke95
Copy link
Contributor

@bschimke95 bschimke95 commented Nov 27, 2025

Configure GOPROXY with direct fallback and disable HTTP/2 client
to avoid transient EOF errors from proxy.golang.org on self-hosted
runners.

See here for the related discussion with the rockcraft team.

@bschimke95 bschimke95 force-pushed the KU-4668/go-build-issues branch 7 times, most recently from 38b5c02 to a5d04eb Compare November 28, 2025 06:39
Update pull_request workflow to use k8s-workflows feature branch with
configurable build-env support. Add GOPROXY and GOSUMDB environment
variables to handle transient EOF errors from proxy.golang.org on
self-hosted runners.

Add dummy comment to rockcraft.yaml files to trigger build process.
@bschimke95 bschimke95 force-pushed the KU-4668/go-build-issues branch from a5d04eb to 4fc2d9a Compare November 28, 2025 06:52
Configure GOPROXY with direct fallback and disable HTTP/2 client
to avoid transient EOF errors from proxy.golang.org on self-hosted
runners. Update workflow to use main branch of k8s-workflows.
@bschimke95 bschimke95 force-pushed the KU-4668/go-build-issues branch from ba9ba99 to 80279ac Compare December 4, 2025 10:22
Remove GOPROXY settings and keep only GODEBUG=http2client=0 to disable
HTTP/2 client. This avoids transient EOF errors from proxy.golang.org
on self-hosted runners. Update comments accordingly.
Add GOPROXY=direct alongside GODEBUG=http2client=0 to completely
bypass proxy.golang.org and download Go modules directly from source.
This avoids transient EOF errors on self-hosted runners.
Remove GODEBUG=http2client=0 as it causes TLS handshake timeouts
when Go tries to fetch modules from servers that require HTTP/2.
Keep only GOPROXY=direct to bypass proxy.golang.org.
Remove GOPROXY=direct as it causes TLS handshake timeouts when Go
tries to resolve vanity import paths like sigs.k8s.io. Let Go use
its default proxy behavior which handles these cases properly.
Fixed invalid YAML syntax by removing empty build-environment keys
that were causing rockcraft validation errors across all coredns versions.

This prepares the rocks for testing the new Go caching feature
implemented in k8s-workflows.
Changed all k8s-workflows references from @main to @KU-4668/go-build-issues
to test the new Go module and build caching feature.

This will enable:
- Go module cache restoration and saving
- Go build cache restoration and saving
- Reduced EOF errors on self-hosted runners
- Faster builds with cached dependencies
Added comment to 1.13.0 rockcraft.yaml file
to trigger a rebuild that will test the new Go caching feature.
@bschimke95
Copy link
Contributor Author

only used for testing canonical/k8s-workflows#54

@bschimke95 bschimke95 closed this Dec 8, 2025
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.

1 participant