-
-
Notifications
You must be signed in to change notification settings - Fork 22
Generate Brew Formula and SBOM thanks to Goreleaser #95
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
Generate Brew Formula and SBOM thanks to Goreleaser #95
Conversation
Signed-off-by: Arthur Broudoux <[email protected]>
Signed-off-by: Arthur Broudoux <[email protected]>
Signed-off-by: Arthur Broudoux <[email protected]>
|
Welcome to the Microcks community! 💖 Thanks and congrats 🎉 for opening your first pull request here! Be sure to follow the pull request template or please update it accordingly. Hope you have a great time there! 🌟 ~~~~~~~~~ 🌟 📢 If you like Microcks, please ⭐ star ⭐ our repo to support it! 🙏 It really helps the project to gain momentum and credibility. It's a small contribution back to the project with a big impact. |
|
@abroudoux Please sign off the commits. |
lbroudoux
left a comment
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.
Thanks a lot for this submission! Please check the comments and question in discussion.
| - name: Set up Go | ||
| uses: actions/setup-go@v5 | ||
| with: | ||
| go-version: stable |
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.
Can you change this to the same version that is used in build-verify.yml? We must be sure we reuse the same version here.
| @@ -0,0 +1,30 @@ | |||
| name: goreleaser | |||
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.
Could you rename this file to release.yml and align triger actions to the one we use in other repo like https://github.com/microcks/microcks-testcontainers-go/blob/main/.github/workflows/release.yml?
| @@ -0,0 +1,26 @@ | |||
| version: 2 | |||
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.
Can you have a check at https://github.com/microcks/microcks-testcontainers-go/blob/main/.goreleaser.yaml and also integrate the signing part here?
| - main: ./main.go | ||
| binary: microcks-cli | ||
| env: | ||
| - CGO_ENABLED=0 |
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.
Question: where do you define target platforms for the build? We used to define them into a sh build script here: https://github.com/microcks/microcks-cli/blob/master/build-binaries.sh#L12?
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.
Goreleaser provides default OS and Arch if the parameter is not specified -> See here
I can detail it for more clarity.
# GOOS list to build for.
# For more info refer to: https://pkg.go.dev/cmd/go#hdr-Environment_variables
#
# Default: [ 'darwin', 'linux', 'windows' ].
goos:
- freebsd
- windows
# GOARCH to build for.
# For more info refer to: https://pkg.go.dev/cmd/go#hdr-Environment_variables
#
# Default: [ '386', 'amd64', 'arm64' ].
goarch:
- amd64
- arm
- arm64
```
|
Also, I forgot to check this previously but your commits were not signed. Could you review the DCO check details and force signature? |
Description
I believe I have completed the first version of the
.goreleaser.yamlfile, which will publish a Homebrew Formula based on the released version.The next steps are:
microcks/homebrew-tap(this name is mandatory!), which will serve as the reference for microcks-cli. This repository will be automatically updated by Goreleaser with each new release.microcks/microcks-clirepository.I have also explored creating or updating an
apt repository, but it appears to be far more complex than Homebrew, so Goreleaser does not currently handle it. (See this issue)Some helpful links:
Goreleaser documentation for creating Homebrew formulas
Goreleaser documentation for generating SBOM
Related issue(s)
See #89 and #90