-
Notifications
You must be signed in to change notification settings - Fork 161
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
update maintenance guide with recent news #419
Conversation
0fcfe08
to
4d2acf0
Compare
MAINTENANCE.md
Outdated
### Creating a new release | ||
|
||
#### Artifacts | ||
|
||
* a tag of the version number | ||
* a new [crate version](https://crates.io/crates/flate2/versions) | ||
|
||
#### Process | ||
#### Process: Plain `cargo publish` |
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.
I would like an introductory paragraph to describe why there are two release processes, and which one to use by default.
#### Process: Plain `cargo publish` | |
#### Process | |
We are moving to using `cargo smart-release` for releases, but it still needs some polishing. [Some criteria to choose which one to use.] | |
##### `cargo publish` | |
... | |
##### `cargo smart-release` | |
... |
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.
Actually, this could be up to discussion if having two processes even makes sense.
One day I just 'felt' very strongly about wanting to use cargo smart-release
but didn't think of the incompatibility regarding the tags, and the other problems that might arise from a PR-based workflow which cargo smart-release
isn't designed around (so gh
invocations might fail).
Even though Changelogs are nice, in the end, it might be easier to remove it and call it a failed experiment - I'd actually vote for that.
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.
Reverting the changes from the Process header down would be clearer. For changelogs, is it possible to add cargo changelog
to the cargo publish
workflow?
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.
That’s definitely possible.
MAINTENANCE.md
Outdated
1. `git checkout -b release-<next-version>` - move to a branch to prepare making changes to the repository. *Changes cannot be made to `main` as it is protected.* | ||
2. `cargo changelog --write` to update the changelog. Edit it to your liking. | ||
3. Create a commit like `git commit -am "update changelog prior to release"` | ||
4. `cargo smart-release -e --update-crates-index` - double-check that the release version is sensible, and if not, just edit `Cargo.toml` by hand before. |
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.
Does this create a second commit or update the commit from step 3?
MAINTENANCE.md
Outdated
1. `git checkout -b release-<next-version>` - move to a branch to prepare making changes to the repository. *Changes cannot be made to `main` as it is protected.* | ||
2. `cargo changelog --write` to update the changelog. Edit it to your liking. | ||
3. Create a commit like `git commit -am "update changelog prior to release"` | ||
4. `cargo smart-release -e --update-crates-index` - double-check that the release version is sensible, and if not, just edit `Cargo.toml` by hand before. |
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.
4. `cargo smart-release -e --update-crates-index` - double-check that the release version is sensible, and if not, just edit `Cargo.toml` by hand before. | |
4. `cargo smart-release -e --update-crates-index` - double-check that the release version is sensible, and if not, edit `Cargo.toml` to specify a sensible release. |
MAINTENANCE.md
Outdated
2. `cargo changelog --write` to update the changelog. Edit it to your liking. | ||
3. Create a commit like `git commit -am "update changelog prior to release"` | ||
4. `cargo smart-release -e --update-crates-index` - double-check that the release version is sensible, and if not, just edit `Cargo.toml` by hand before. | ||
5. Tags were created, and they should be pushed, but it might be that it fails to create a GitHub release. |
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.
Is this due to use of v...
tag? Any way to configure smart-release
to use tags without the v
?
MAINTENANCE.md
Outdated
4. `cargo smart-release -e --update-crates-index` - double-check that the release version is sensible, and if not, just edit `Cargo.toml` by hand before. | ||
5. Tags were created, and they should be pushed, but it might be that it fails to create a GitHub release. | ||
6. Create an additional release tag with the `v` removed, i.e. `git tag -s <version> v<version>`. Then `git push --tags` by hand. | ||
7. Double-check the newly created release on GitHub is populated - if not, generate the changelog manually. |
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.
It looks like the release for 1.0.31 was not populated. Can you describe the steps more clearly here, perhaps by doing them for 1.0.31?
In the |
Thanks for the review, @jongiddy , I am very happy to not be left alone here anymore :). My first suggestion is to remove the remnants of the |
Now that you are maintainer @jongiddy , you will probably be able to push into this branch to complete it. |
4d2acf0
to
af8bcdb
Compare
I removed the smart-release section and revised the text of the other sections. |
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.
LGTM! Please feel free to approve and merge.
@Byron The repo has auto-merge set, so the PR is automatically merged by you when any maintainer approves. That setting may not make as much sense with multiple maintainers. |
I think that might have been set for this PR only, I wouldn't expect that to happen next time unless it's explicitly enabled on a per PR basis. If it really is a repository setting, probably none of us has the permission to change it. |
[![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com) This PR contains the following updates: | Package | Type | Update | Change | |---|---|---|---| | [flate2](https://github.com/rust-lang/flate2-rs) | workspace.dependencies | patch | `1.0.31` -> `1.0.33` | | [prettyplease](https://github.com/dtolnay/prettyplease) | workspace.dependencies | patch | `0.2.20` -> `0.2.22` | | [quote](https://github.com/dtolnay/quote) | workspace.dependencies | patch | `1.0.36` -> `1.0.37` | | [serde](https://serde.rs) ([source](https://github.com/serde-rs/serde)) | workspace.dependencies | patch | `1.0.208` -> `1.0.209` | | [serde_json](https://github.com/serde-rs/json) | workspace.dependencies | patch | `1.0.125` -> `1.0.127` | --- ### Release Notes <details> <summary>rust-lang/flate2-rs (flate2)</summary> ### [`v1.0.33`](https://github.com/rust-lang/flate2-rs/releases/tag/1.0.33): - fix minimal manifest versions [Compare Source](https://github.com/rust-lang/flate2-rs/compare/1.0.32...1.0.33) #### What's Changed - Fix msrv: Run msrv checks with minimal versions by [@​NobodyXu](https://github.com/NobodyXu) in [https://github.com/rust-lang/flate2-rs/pull/425](https://github.com/rust-lang/flate2-rs/pull/425) #### New Contributors - [@​NobodyXu](https://github.com/NobodyXu) made their first contribution in [https://github.com/rust-lang/flate2-rs/pull/425](https://github.com/rust-lang/flate2-rs/pull/425) **Full Changelog**: rust-lang/flate2-rs@1.0.32...1.0.33 ### [`v1.0.32`](https://github.com/rust-lang/flate2-rs/releases/tag/1.0.32): - turn panic into error [Compare Source](https://github.com/rust-lang/flate2-rs/compare/1.0.31...1.0.32) #### What's Changed ##### Fix - Return error instead of packing on Z_MEM_ERROR by [@​crazymerlyn](https://github.com/crazymerlyn) in [https://github.com/rust-lang/flate2-rs/pull/423](https://github.com/rust-lang/flate2-rs/pull/423) ##### Other - prepare new release by [@​Byron](https://github.com/Byron) in [https://github.com/rust-lang/flate2-rs/pull/416](https://github.com/rust-lang/flate2-rs/pull/416) - update miniz_oxide dependency to 0.8.x by [@​oyvindln](https://github.com/oyvindln) in [https://github.com/rust-lang/flate2-rs/pull/420](https://github.com/rust-lang/flate2-rs/pull/420) - update maintenance guide with recent news by [@​Byron](https://github.com/Byron) in [https://github.com/rust-lang/flate2-rs/pull/419](https://github.com/rust-lang/flate2-rs/pull/419) - Check minimal version of Rust that compiles by [@​jongiddy](https://github.com/jongiddy) in [https://github.com/rust-lang/flate2-rs/pull/421](https://github.com/rust-lang/flate2-rs/pull/421) - Remove non-existent build in CI by [@​jongiddy](https://github.com/jongiddy) in [https://github.com/rust-lang/flate2-rs/pull/422](https://github.com/rust-lang/flate2-rs/pull/422) #### New Contributors - [@​crazymerlyn](https://github.com/crazymerlyn) made their first contribution in [https://github.com/rust-lang/flate2-rs/pull/423](https://github.com/rust-lang/flate2-rs/pull/423) **Full Changelog**: rust-lang/flate2-rs@1.0.31...1.0.32 </details> <details> <summary>dtolnay/prettyplease (prettyplease)</summary> ### [`v0.2.22`](https://github.com/dtolnay/prettyplease/releases/tag/0.2.22) [Compare Source](https://github.com/dtolnay/prettyplease/compare/0.2.21...0.2.22) - Support formatting precise capture `use<>` syntax ([#​80](https://github.com/dtolnay/prettyplease/issues/80)) ### [`v0.2.21`](https://github.com/dtolnay/prettyplease/releases/tag/0.2.21) [Compare Source](https://github.com/dtolnay/prettyplease/compare/0.2.20...0.2.21) - Support formatting tail-call `become` expressions ([#​79](https://github.com/dtolnay/prettyplease/issues/79)) </details> <details> <summary>dtolnay/quote (quote)</summary> ### [`v1.0.37`](https://github.com/dtolnay/quote/releases/tag/1.0.37) [Compare Source](https://github.com/dtolnay/quote/compare/1.0.36...1.0.37) - Implement ToTokens for CStr and CString ([#​283](https://github.com/dtolnay/quote/issues/283)) </details> <details> <summary>serde-rs/serde (serde)</summary> ### [`v1.0.209`](https://github.com/serde-rs/serde/releases/tag/v1.0.209) [Compare Source](https://github.com/serde-rs/serde/compare/v1.0.208...v1.0.209) - Fix deserialization of empty structs and empty tuples inside of untagged enums ([#​2805](https://github.com/serde-rs/serde/issues/2805), thanks [@​Mingun](https://github.com/Mingun)) </details> <details> <summary>serde-rs/json (serde_json)</summary> ### [`v1.0.127`](https://github.com/serde-rs/json/releases/tag/1.0.127) [Compare Source](https://github.com/serde-rs/json/compare/1.0.126...1.0.127) - Add more removal methods to OccupiedEntry ([#​1179](https://github.com/serde-rs/json/issues/1179), thanks [@​GREsau](https://github.com/GREsau)) ### [`v1.0.126`](https://github.com/serde-rs/json/releases/tag/1.0.126) [Compare Source](https://github.com/serde-rs/json/compare/1.0.125...1.0.126) - Improve string parsing on targets that use 32-bit pointers but also have fast 64-bit integer arithmetic, such as aarch64-unknown-linux-gnu_ilp32 and x86\_64-unknown-linux-gnux32 ([#​1182](https://github.com/serde-rs/json/issues/1182), thanks [@​CryZe](https://github.com/CryZe)) </details> --- ### Configuration 📅 **Schedule**: Branch creation - "before 10am on monday" in timezone Asia/Shanghai, Automerge - At any time (no schedule defined). 🚦 **Automerge**: Enabled. ♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox. 👻 **Immortal**: This PR will be recreated if closed unmerged. Get [config help](https://github.com/renovatebot/renovate/discussions) if that's undesired. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- This PR was generated by [Mend Renovate](https://www.mend.io/free-developer-tools/renovate/). View the [repository job log](https://developer.mend.io/github/oxc-project/oxc). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzOC4yNi4xIiwidXBkYXRlZEluVmVyIjoiMzguMjYuMSIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOltdfQ==--> Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
This might be interesting to our new maintainer, @jongiddy - welcome 🎉.