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

goreleaser configuration and automatic release workflow #570

Closed
wants to merge 1 commit into from

Conversation

johejo
Copy link
Contributor

@johejo johejo commented May 21, 2021

close #74

Required settings

GitHub Actions secrets

  • DOCKERHUB_USERNAME
  • DOCKERHUB_PASSWORD
  • PACKAGECLOUD_TOKEN

How to release

I imagined as much as possible what the existing release workflow would look like, and followed the steps below.
If you don't like it, please send comments.
We can also automatically generate a change log for the release notes.

  1. push a new tag (manual)
  2. publish draft release (automatic)
  3. edit draft release and publish release (manual)

Copy link
Member

@dhui dhui left a comment

Choose a reason for hiding this comment

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

I'm still not completely sold on using GitHub Actions over CircleCI (even though CircleCI is currently having an outage as I write this).

Do you have a preference of GitHub Actions over CircleCI and why?

Are there additional tools you need to install to use buildx that's more cumbersome with CircleCI? I noticed you were using qemu.

@coveralls
Copy link

coveralls commented May 22, 2021

Pull Request Test Coverage Report for Build 424

  • 0 of 0 changed or added relevant lines in 0 files are covered.
  • No unchanged relevant lines lost coverage.
  • Overall coverage remained the same at 57.418%

Totals Coverage Status
Change from base Build 420: 0.0%
Covered Lines: 3611
Relevant Lines: 6289

💛 - Coveralls

@johejo
Copy link
Contributor Author

johejo commented May 22, 2021

Here's why I chose GitHub Actions:

  • The official action makes it easy to set up buildx and qemu needed to build a docker image for multiple architectures. It's certainly possible with CircleCI. But it seems complicated. https://circleci.com/blog/building-docker-images-for-multiple-os-architectures/
  • Default GITHUB_TOKEN available, No additional PAT setting is required for new release workflow.
  • I used it in my daily work and was used to it.

If the maintainer decides that CircleCI is preferable for some reasons, I'll remove the workflow config file from this PR once because I'm not familiar with CircleCI.

I might try another PR.
It seems that Arm instance is also available on CircleCI.
https://circleci.com/changelog/#arm-compute-now-generally-available

@dhui
Copy link
Member

dhui commented May 28, 2021

This PR should also unblock releases: #546

@dhui
Copy link
Member

dhui commented May 28, 2021

Sorry for the delayed response!

Can you modify this to use CircleCI?
My concern with Github Actions is the 2K action minutes limit:

GitHub Actions limits

@Juneezee
Copy link
Contributor

Sorry for the delayed response!

Can you modify this to use CircleCI?
My concern with Github Actions is the 2K action minutes limit:

GitHub Actions limits

The 2K limit only applies to private repositories.

@dhui
Copy link
Member

dhui commented May 28, 2021

@Juneezee See the link and attached screenshot in my original comment. It shows 2k action minutes for "Github Free for organizations"

@Juneezee
Copy link
Contributor

@Juneezee See the link and attached screenshot in my original comment. It shows 2k action minutes for "Github Free for organizations"

I can't stress this enough. It has been clearly stated here (https://docs.github.com/en/billing/managing-billing-for-github-actions/about-billing-for-github-actions#about-billing-for-github-actions) that GitHub Actions is free for public repositories. Those minutes limit you are seeing only applies for private repositories.

If you still don't believe me, you can go to the Billing & Plans section of golang-migrate organization. Under the Usage This Month, the 2K limit is clearly labelled for private repositories only.

@dhui
Copy link
Member

dhui commented May 28, 2021

Ahh, thanks for the pointer @Juneezee! I can see that the minutes are only tracked for private repos:

github actions billing

@xrn
Copy link

xrn commented Jun 25, 2021

Hi, any progress on this? Are we able to enable the release process of this repository one more time?

@onelapahead
Copy link

Would love to see this (or something like it) merged soon, I was using the migrate/migrate:latest Docker image to pull migrations from a public GH repo and got:

error: no username:token provided

which (after some time) I found was fixed in #501 which is why the docs say it works so I was very confused. The lack of a CI process currently is hurting the usability of the CLI/image.

I'm fine with pushing a temporary image of the latest commit from master to our internal registry but would really like to not have to maintain that in the long-run.

@onelapahead
Copy link

FWIW we just chose GitHub Actions and GHCR for the CI and container registry of our open-source project https://github.com/hyperledger-labs/firefly due to the free build minutes for public repos, growing ecosystem of actions and features, CI being directly integrated into SCM is a great dev experience, and the lack of (relative to DockerHub) image pull rate-limiting.

Perhaps as a follow up to this PR being merged, the image can be migrated from DockerHub to GHCR.

@johejo
Copy link
Contributor Author

johejo commented Jul 29, 2021

See #604, thanks @Fontinalis

@johejo johejo closed this Jul 29, 2021
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.

Use GoReleaser for releases
6 participants