-
Notifications
You must be signed in to change notification settings - Fork 135
feat: automate the release process via CHANGELOG.md #473
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
Changes from all commits
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,32 @@ | ||
name: Release | ||
on: | ||
push: | ||
paths: [CHANGELOG.md] | ||
branches: [master] | ||
pull_request: | ||
paths: [CHANGELOG.md] | ||
branches: [master] | ||
jobs: | ||
release: | ||
name: Release | ||
runs-on: ubuntu-latest | ||
permissions: | ||
contents: write | ||
pull-requests: write | ||
steps: | ||
- uses: actions/checkout@v4 | ||
- id: release | ||
uses: ipdxco/changelog-driven-release@v1 | ||
with: | ||
path: CHANGELOG.md | ||
draft: ${{ github.event_name == 'pull_request' }} | ||
mutable: 'false' | ||
- if: github.event_name == 'pull_request' && steps.release.outputs.tag != '' | ||
uses: marocchino/sticky-pull-request-comment@331f8f5b4215f0445d3c07b4967662a32a2d3e31 # v2.9.0 | ||
with: | ||
header: release | ||
recreate: true | ||
message: | | ||
## [${{ steps.release.outputs.tag }}](${{ steps.release.outputs.url }}) | ||
|
||
${{ steps.release.outputs.body }} |
Original file line number | Diff line number | Diff line change | ||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
@@ -95,7 +95,7 @@ Run it like so: | |||||||||||||
./mkreleaselog v0.25.0 v0.26.0 > /tmp/v0.26.0.notes.txt | ||||||||||||||
``` | ||||||||||||||
|
||||||||||||||
## Contribution | ||||||||||||||
## Contribution | ||||||||||||||
|
||||||||||||||
### Maintainers | ||||||||||||||
|
||||||||||||||
|
@@ -124,7 +124,7 @@ We will cooperates with the [lotus' releases and it's testing flows](https://git | |||||||||||||
- If any bug is found during the testing, the fix should land in master then get backported to `release/lotus-vX`. The updated commit should be integrated into lotus and getting tested. Repeat the steps until it can be considered as stable. | ||||||||||||||
|
||||||||||||||
*Consensus breaking changes* | ||||||||||||||
- Consensus breaking changes should be developed in it's own branch, (branch name is suggested to be: feature branches `feat/` or bug fix branches `bug/`). | ||||||||||||||
- Consensus breaking changes should be developed in it's own branch, (branch name is suggested to be: feature branches `feat/` or bug fix branches `bug/`). | ||||||||||||||
- Consensus breaking changes that are scoped into the next immediate network upgrade shall land in `next` branch first. The maintainers are responsible to coordinate on when to land `next` to `master` according to lotus mandatory(network upgrade) release schedules. | ||||||||||||||
- A new dev branch should be created and contributors are responsible to rebase the branch onto `master`/`next` as needed. | ||||||||||||||
|
||||||||||||||
|
@@ -134,37 +134,7 @@ The versioning in Filecoin-FFI currently follows the Lotus versioning. For exam | |||||||||||||
|
||||||||||||||
#### Release Process | ||||||||||||||
|
||||||||||||||
##### Cutting a development or release candidate release | ||||||||||||||
|
||||||||||||||
<details> | ||||||||||||||
<summary>Steps to cut a development or release candidate release:</summary> | ||||||||||||||
|
||||||||||||||
1. Go to [Filecoin-FFI Releases](https://github.com/filecoin-project/filecoin-ffi/releases). | ||||||||||||||
2. Click the "Draft a new release" button in the right corner. | ||||||||||||||
3. In the "Choose a tag" dropdown, enter the desired version and click "Create new tag: vX.XX.X-rcX/dev on publish". | ||||||||||||||
4. Target the master branch. | ||||||||||||||
5. Set the previous tag to compare against, which should be the last stable release. | ||||||||||||||
6. Click the "Generate release notes" button. | ||||||||||||||
6. Check the "Set as a pre-release" checkbox. | ||||||||||||||
7. Click "Publish release" to create the release. | ||||||||||||||
|
||||||||||||||
</details> | ||||||||||||||
|
||||||||||||||
##### Cutting a definitive release | ||||||||||||||
|
||||||||||||||
<details> | ||||||||||||||
<summary>Steps to cut a definitive release:</summary> | ||||||||||||||
|
||||||||||||||
1. Go to [Filecoin-FFI Releases](https://github.com/filecoin-project/filecoin-ffi/releases). | ||||||||||||||
2. Click the "Draft a new release" button in the right corner. | ||||||||||||||
3. In the "Choose a tag" dropdown, enter the desired version and click "Create new tag: vX.XX.X on publish". | ||||||||||||||
4. Target the release candidate you want to create a stable. | ||||||||||||||
5. Set the previous tag to compare against, which should be the last stable release (e.g., non-RC) | ||||||||||||||
6. click the "Generate release notes" button. | ||||||||||||||
6. Ensure the "Set as a latest release" checkbox **is checked**. | ||||||||||||||
7. Click "Publish release" to create the release. | ||||||||||||||
|
||||||||||||||
</details> | ||||||||||||||
Create a new entry in the [Changelog](CHANGELOG.md) for the new release. If you don't provide any description/body for the new entry, the release will be created with auto-generated release notes. | ||||||||||||||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more.
Suggested change
Might just be me, but this section seemed a little too sparse. I know the process is simple (good), but I think a bit more info is useful. https://keepachangelog.com/en/1.1.0/ doesn't seem like the right link here given it doesn't specify the |
||||||||||||||
|
||||||||||||||
## License | ||||||||||||||
|
||||||||||||||
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Can we also have a note about if/how/when release assets are created (since I don't think that is covered in #464 )