Skip to content

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 <seananderson33@gmail.com>
@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 <seananderson33@gmail.com>
@bors
Copy link

bors bot commented Dec 23, 2020

@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