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

[Merged by Bors] - add automated release workflow #2077

Closed
wants to merge 11 commits into from

Conversation

realbigsean
Copy link
Member

@realbigsean realbigsean commented Dec 10, 2020

Issue Addressed

Resolves #1674

Proposed Changes

  • Whenever a tag is pushed with the prefix v this workflow is triggered
  • creates portable and non-portable binaries for linux x86_64, linux aarch64, macOS
    • an attempt at using github actions caching
  • signs each binary using GPG
  • auto-generates full changelog based on commit messages since the last release
  • creates a draft release
  • hot new formatting (preview here)
  • has been taking around 35 minutes

Additional Info

TODOs:

  • Figure out how we should automate dockerhub's version tag.
    • It'd be quickest just to tag latest, but we'd need to make sure the docker workflow completes before this starts
  • we do the same cross-compile in the docker workflow, we could try to use the same binary
  • integrate a similar flow for unstable binaries (-rc tag?)
  • improve caching, potentially use sccache
  • if we start using a self-hosted runner this'll require some re-working

Need to add the following secrets to Github:

  • GPG_PASSPHRASE
  • GPG_PUBLIC_KEY hard-coded this, because it was tough manage as a secret
  • GPG_SIGNING_KEY

Copy link
Member

@AgeManning AgeManning left a comment

Choose a reason for hiding this comment

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

Wow. This is really cool!

Should speed some things up. Will be good to test out next release. I'll look into adding the secrets.

@sigp sigp deleted a comment from bors bot Dec 16, 2020
@michaelsproul michaelsproul self-requested a review December 16, 2020 03:13
@michaelsproul
Copy link
Member

I'd like to review this before merging, I'll try to get to it soon

@realbigsean
Copy link
Member Author

I think it'd be a good idea to set up environment secrets: https://docs.github.com/en/free-pro-team@latest/actions/reference/environments

If someone tries to access a secret in a new workflow, we could require review before it's run

@paulhauner
Copy link
Member

I'd like to review this before merging, I'll try to get to it soon

Since @michaelsproul is on leave, I'll make the call to move forward without his review :)

Copy link
Member

@paulhauner paulhauner 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've added the secrets to the protected environment. Can't wait to try this out!

bors r+

@paulhauner paulhauner added ready-for-merge This PR is ready to merge. and removed ready-for-review The code is ready for review labels Dec 23, 2020
bors bot pushed a commit that referenced this pull request Dec 23, 2020
## Issue Addressed

Resolves #1674 

## Proposed Changes

- Whenever a tag is pushed with the prefix `v` this workflow is triggered
- creates portable and non-portable binaries for linux x86_64, linux aarch64, macOS
  - an attempt at using github actions caching
- signs each binary using GPG
- auto-generates full changelog based on commit messages since the last release
- creates a **draft** release
- hot new formatting (preview [here](https://github.com/realbigsean/lighthouse/releases/tag/v0.9.23))
- has been taking around 35 minutes

## Additional Info

TODOs:
- Figure out how we should automate dockerhub's version tag. 
  - It'd be quickest just to tag `latest`, but we'd need to make sure the docker workflow completes before this starts
- we do the same cross-compile in the `docker` workflow, we could try to use the same binary
- integrate a similar flow for unstable binaries (`-rc` tag?)
- improve caching, potentially use sccache
- if we start using a self-hosted runner this'll require some re-working

Need to add the following secrets to Github: 

- `GPG_PASSPHRASE`
- ~~`GPG_PUBLIC_KEY`~~ hard-coded this, because it was tough manage as a secret
- `GPG_SIGNING_KEY` 


Co-authored-by: realbigsean <[email protected]>
@paulhauner
Copy link
Member

bors r-

I'm going to try and batch this

@bors
Copy link

bors bot commented Dec 23, 2020

Canceled.

@paulhauner
Copy link
Member

bors r+

bors bot pushed a commit that referenced this pull request Dec 23, 2020
## Issue Addressed

Resolves #1674 

## Proposed Changes

- Whenever a tag is pushed with the prefix `v` this workflow is triggered
- creates portable and non-portable binaries for linux x86_64, linux aarch64, macOS
  - an attempt at using github actions caching
- signs each binary using GPG
- auto-generates full changelog based on commit messages since the last release
- creates a **draft** release
- hot new formatting (preview [here](https://github.com/realbigsean/lighthouse/releases/tag/v0.9.23))
- has been taking around 35 minutes

## Additional Info

TODOs:
- Figure out how we should automate dockerhub's version tag. 
  - It'd be quickest just to tag `latest`, but we'd need to make sure the docker workflow completes before this starts
- we do the same cross-compile in the `docker` workflow, we could try to use the same binary
- integrate a similar flow for unstable binaries (`-rc` tag?)
- improve caching, potentially use sccache
- if we start using a self-hosted runner this'll require some re-working

Need to add the following secrets to Github: 

- `GPG_PASSPHRASE`
- ~~`GPG_PUBLIC_KEY`~~ hard-coded this, because it was tough manage as a secret
- `GPG_SIGNING_KEY` 


Co-authored-by: realbigsean <[email protected]>
@bors bors bot changed the title add automated release workflow [Merged by Bors] - add automated release workflow Dec 23, 2020
@bors bors bot closed this Dec 23, 2020
@realbigsean realbigsean deleted the add-release-workflow branch November 21, 2023 16:10
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
ready-for-merge This PR is ready to merge.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants