Skip to content

Conversation

@abroudoux
Copy link
Contributor

Description

I believe I have completed the first version of the .goreleaser.yaml file, which will publish a Homebrew Formula based on the released version.

The next steps are:

  • You'll need to create a repository named 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.
  • You'll need to create a Personal Access Token with repo authorization and refer it on microcks/microcks-cli repository.

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

@abroudoux abroudoux requested a review from lbroudoux as a code owner January 24, 2025 16:46
@github-actions
Copy link

👋 @abroudoux

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.

@Harsh4902
Copy link
Member

@abroudoux Please sign off the commits.

Copy link
Member

@lbroudoux lbroudoux left a 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
Copy link
Member

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
Copy link
Member

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
Copy link
Member

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
Copy link
Member

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?

Copy link
Contributor Author

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
      ```

@lbroudoux lbroudoux added this to the 0.5.7 milestone Jan 28, 2025
@lbroudoux lbroudoux added kind/feature New feature implementation kind/task Project maintenance task component/packaging labels Jan 28, 2025
@lbroudoux
Copy link
Member

Also, I forgot to check this previously but your commits were not signed. Could you review the DCO check details and force signature?

@abroudoux abroudoux closed this Feb 6, 2025
@abroudoux abroudoux deleted the feature/goreleaser-homebrew-sbom branch February 6, 2025 15:49
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

component/packaging kind/feature New feature implementation kind/task Project maintenance task

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants