Skip to content

Conversation

@F-WRunTime
Copy link
Member

@F-WRunTime F-WRunTime commented Dec 20, 2025

Fix macOS Cachix upload timeouts by switching to public runner

Problem

The K Framework release workflow was experiencing "Connection reset by peer" errors when uploading large files to Cachix on macOS. This occurred during multipart uploads of large dependencies (e.g., hs-backend-booster-dev-tools ~748MB) when using kup publish on the self-hosted macOS runner.

Solution

Switch from the self-hosted macOS runner (self-macos-latest) to the public GitHub-hosted macOS runner (macos-latest). Testing confirmed that kup publish works reliably on the public runner, eliminating the need for more complex workarounds.

Changes

  • .github/workflows/release.yml: Changed macOS runner from self-macos-latest to macos-latest (public runner)
  • The kup publish commands remain unchanged - no need to replace with direct cachix push
  • All three package variants (.k, .k.openssl.secp256k1, .k.openssl.procps.secp256k1) continue to be published with 180-day retention

Testing

Added a test job in test-pr.yml that validated kup publish works successfully on the public macOS runner with large file uploads.

Impact

  • Minimal code changes (just runner configuration)
  • Maintains existing kup publish workflow
  • Fixes upload timeout issues on macOS
  • No functional changes to the publishing process

@rv-jenkins rv-jenkins changed the base branch from master to develop December 20, 2025 23:13
F-WRunTime and others added 2 commits December 20, 2025 21:06
- release.yml sync'd with changes in test-pr.yml after confirmation push
  works.
- test-pr has added back all other steps commented out for testing.
@F-WRunTime F-WRunTime marked this pull request as ready for review December 21, 2025 04:07
@F-WRunTime F-WRunTime requested a review from a team as a code owner December 21, 2025 04:08
- Replace kup publish with direct nix build + cachix push in release.yml
- Add cachix pin commands to replicate --keep-days 180 functionality
- Update test-pr.yml to validate cachix push approach
- Fix shellcheck lint errors by adding double quotes around variables

This addresses connection reset errors during multipart uploads on macOS
by using direct cachix push instead of kup's multipart upload mechanism.
…cing to least number of changes necessary to function. Update workflows to use public mac runner
@F-WRunTime
Copy link
Member Author

Decided to go with least amount of change needed although dependency on kup would be simpler, better to not poke the bear and make more changes that necessary

@F-WRunTime F-WRunTime self-assigned this Jan 6, 2026
@automergerpr-permission-manager automergerpr-permission-manager bot merged commit 6884c23 into develop Jan 6, 2026
20 checks passed
@automergerpr-permission-manager automergerpr-permission-manager bot deleted the fix/cachix-release-timeout branch January 6, 2026 18:49
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants