-
Notifications
You must be signed in to change notification settings - Fork 887
Remove goreleaser in favor of build scripts #2143
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
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I'm not sure what pain-points we're hitting with goreleaser
, but I took a surface-level look at this and it looks good!
(I think that #2202 might also be easier to implement with this refactor).
One addition that could be nice is to add checks that the required tools are available beforehand (e.g. jq
, codesign
, gon
, etc).
scripts/publish_release.sh
Outdated
release_notes=" | ||
## Changelog | ||
|
||
$(git log --no-merges --pretty=format:"- %h %s" "$old_tag..$new_tag") |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Suggestion: I think it would make the release notes easier to consume if we sorted the commits by feat/fix/etc (e.g. pipe to something like | sort -t' ' -k2
).
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I've opted for trying to keep everything as close as possible to what it is with goreleaser, so instead of changing this in this PR you should open a ticket for it 😄
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I really like this change! You can't beat a good ol' bash script.
I'm just having some issues with the build_docker
script and I'm pretty sure I'm not holding it wrong.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
🐚
.github/workflows/coder.yaml
Outdated
-covermode=atomic -coverprofile="gotests.coverage" | ||
-coverpkg=./...,github.com/coder/coder/codersdk | ||
-timeout=3m -count=$GOCOUNT -short -failfast | ||
-timeout=5m -count=$GOCOUNT -short -failfast |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
non-blocking: I wonder if we should instead just use the Makefile
target so we don't need to keep this in sync?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think this is a comment on the merge commit since I didn't touch this in my PR. Feel free to fix this in a separate PR
I get a weird error when I update to 0.7.2 now. Thought it's best to update here, since this PR added it, you might know the error. The ARM64 DEB binary is actually AMD64, so is there any good enough fix? |
@im-coder-lg what error are you getting? I just ran
|
Oh I see the issue, the architecture in the packages are hardcoded as amd64 even though it contains the correct binary. I'll absolutely fix this |
Will be fixed by #2511, and once merged I will create a new release :) |
Fixed for arm64 and a fix for armv7 should be released later today :) |
This PR will remove goreleaser from the repository as a dependency in favor of our own build scripts. Goreleaser is presenting many issues when we try to create releases on multiple OS types with notarized binaries.
Subtasks
build_go.sh
scriptbuild_go_matrix.sh
scriptarchive.sh
script to produce (and sign) an archive for the given binarypackage.sh
script to produce linux package filesbuild_docker.sh
to build and push docker imagesbuild_docker_multiarch.sh
to create a multiarch manifest and push itpublish_release.sh
to publish a release to githubFixes #2289