You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
As a followup to #205, the release process should be moved into a github action so that it can be easy triggered by a maintainer and wont depend on any one individuals machine.
There is currently a workflow located at .github/workflows/publish.yml which triggers when a release is created but it does package everything correctly. It compiles the binaries for each platform but it doesn't package them for each OS, follow the correct naming convention, or removing debugging info. If this is used, then it will need to be modified in some way.
I made an initial attempt at running the project's make commands in CI and ran in to issues because they use a docker container to build everything. There are GHA that can be used for this but they will require more investigation. Getting these to work would set us up with the artifacts that are ready to go and match previous builds. I'm also a fan of being able to build a project with the same command in CI and locally.
Overall suggested release process:
A maintainer creates a new draft release in the repo's releases section
a. The name should follow semantic convention prepended with a 'v'
b. A tag with the same name should be created on the latest commit to master
c. Release notes should be generated using the previous tag and the new tag as the range
d. Check the box to Set as a pre-release
e. Save as a draft
The release GHA should now trigger to build and publish the release artifacts
Use the newly created tag for the release version and artifact name
This is currently pulled from files and requires a release PR to update them. I'd like to change it so no release PR is needed. Non release builds could use something like dev or {latest tag}-{commits since latest tag}-{commit sha}. The git command to check if there is a tag on the current commit defaults to something along these lines
Build the artifacts in parallel
The release can now go through a review process to look for any issues
Change the draft to a published release
Celebrate 🍻
Summary
Create a github action to build the release artifacts
Change the project's version to be pulled from the
Document the process in CONTRIBUTING.md
The text was updated successfully, but these errors were encountered:
As a followup to #205, the release process should be moved into a github action so that it can be easy triggered by a maintainer and wont depend on any one individuals machine.
There is currently a workflow located at
.github/workflows/publish.yml
which triggers when a release is created but it does package everything correctly. It compiles the binaries for each platform but it doesn't package them for each OS, follow the correct naming convention, or removing debugging info. If this is used, then it will need to be modified in some way.I made an initial attempt at running the project's
make
commands in CI and ran in to issues because they use a docker container to build everything. There are GHA that can be used for this but they will require more investigation. Getting these to work would set us up with the artifacts that are ready to go and match previous builds. I'm also a fan of being able to build a project with the same command in CI and locally.Overall suggested release process:
a. The name should follow semantic convention prepended with a 'v'
b. A tag with the same name should be created on the latest commit to master
c. Release notes should be generated using the previous tag and the new tag as the range
d. Check the box to Set as a pre-release
e. Save as a draft
This is currently pulled from files and requires a release PR to update them. I'd like to change it so no release PR is needed. Non release builds could use something like
dev
or{latest tag}-{commits since latest tag}-{commit sha}
. Thegit
command to check if there is a tag on the current commit defaults to something along these linesSummary
CONTRIBUTING.md
The text was updated successfully, but these errors were encountered: