-
Notifications
You must be signed in to change notification settings - Fork 42
feat: speed up release by prioritizing linux/amd64 #1323
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
Conversation
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
Pull Request Test Coverage Report for Build 20327187462Details
💛 - Coveralls |
Split GoReleaser into two stages: - Fast release: linux/amd64 binary + Docker image (what users wait for) - Full release: remaining platforms, appends to existing release Changes: - Add .goreleaser-fast.yml for linux/amd64 only - Update .goreleaser.yml to exclude linux/amd64 and use append mode - Split workflow into test -> release-fast -> release-full - Move tests to dedicated prerequisite job instead of GoReleaser hook 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <[email protected]>
🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <[email protected]>
- Add `make test-quick` without -race and -count 2 flags - Use test-quick in release workflow to save ~2-3 minutes 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <[email protected]>
Tests already run on every PR via CI. No need to duplicate in release. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <[email protected]>
76e4ebc to
8bed6fd
Compare
|
@whoAbhishekSah I think this makes the pipeline very complicated and very tactical. We should keep it streamlined. And try to improve it by optimizing the process and avoid creating silos. |
|
@ravisuhag we tried optimizing the build process and the best we could get with every sort of caching, removing tests, etc was 9 mins. I think we will still benefit from this approach and can apply same optimizations to this as well. |
Speed up the release process by prioritizing linux/amd64 artifacts, which are what most users wait for.
Changes
.goreleaser-fast.yml- dedicated config for linux/amd64 binary, Docker image, and deb/rpm packages.goreleaser.yml- exclude linux/amd64 (handled by fast config), usemode: appendto add artifacts to existing releaseNew Workflow Structure
Job Details
devrelease-fast:latest,:tag,:tag-amd64), deb/rpm packagesrelease-fullrelease-fastPerformance Improvement
What's in the fast release (what users wait for)
:latest,:tag,:tag-amd64)What's deferred to full release
Test plan
raystack/frontier:latestis pushedrelease-fullappends remaining artifacts