Skip to content
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

Use GoReleaser for Builds #1455

Merged
merged 29 commits into from
Jul 27, 2022
Merged

Conversation

nathanhammond
Copy link
Contributor

This is to enable using GoReleaser as a first step toward continuous delivery of build artifacts via CI. This is also the first step toward using CGO across a wider array of platforms.

@vercel
Copy link

vercel bot commented Jun 29, 2022

@nathanhammond is attempting to deploy a commit to the Vercel Team on Vercel.

A member of the Team first needs to authorize it.

@vercel
Copy link

vercel bot commented Jun 29, 2022

The latest updates on your projects. Learn more about Vercel for Git ↗︎

Name Status Preview Updated
turbo-site ✅ Ready (Inspect) Visit Preview Jul 27, 2022 at 7:36AM (UTC)

@jaredpalmer
Copy link
Contributor

jaredpalmer commented Jun 29, 2022

A good reference for implementation if we want to publish to homebrew, scoop, chocolatey, etc is Planetscale's CLI: https://github.com/planetscale/cli/blob/main/.goreleaser.yml

@jaredpalmer jaredpalmer reopened this Jun 29, 2022
@nathanhammond
Copy link
Contributor Author

Either we do a second script for moving assets into place after build (e.g. fbc81a8#diff-04a30fd90db0e74acd7450aeade4bc2150c086d66cfe0c1048dab6dccddb3ecc) or this feature request sticks: goreleaser/goreleaser#3215

@nathanhammond
Copy link
Contributor Author

@nathanhammond nathanhammond force-pushed the go-releaser branch 5 times, most recently from 4f72300 to cbf4e69 Compare July 20, 2022 23:54
@nathanhammond nathanhammond marked this pull request as ready for review July 20, 2022 23:58
@nathanhammond
Copy link
Contributor Author

This, with the failing test (!) is actually ready for review and to land.

The failing test is because it is installing turbo@1.3.3 during the install step, and this PR changes the path of the asset.

https://github.com/vercel/turborepo/runs/7440069115?check_suite_focus=true#step:8:79

It will work correctly once:

  • This PR is merged.
  • A new version is pushed to the latest tag on npm using this release process.

Copy link
Member

@tknickman tknickman left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good, I don't have a great way to test this locally so relying on you for the actual release testing since you have the go releaser 🔑 - but the approach looks sound.

Only callout is moving the version.txt to root. This makes sense if we're versioning all the packages along with turbo itself (which we can) but if we're not 100% on that yet, or we deviate, that could cause confusion.

I could see us wanting to keep versions separate - for example create-turbo has no strict dependency on turbo itself, and we likely won't need to push major changes to the packages (with the exception of turbo-ignore since it shells out to turbo, but even that depends on the scope of the breaking CLI change) when turbo has a new major.

But, keeping everything lockstep as you suggested is definitely the simpler approach.

@nathanhammond nathanhammond force-pushed the go-releaser branch 4 times, most recently from 33439a4 to 2a455c9 Compare July 27, 2022 07:22
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.

None yet

3 participants