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

update maintenance guide with recent news #419

Merged
merged 1 commit into from
Aug 14, 2024

Conversation

Byron
Copy link
Member

@Byron Byron commented Aug 11, 2024

This might be interesting to our new maintainer, @jongiddy - welcome 🎉.

@Byron Byron marked this pull request as ready for review August 11, 2024 18:06
@Byron Byron enabled auto-merge August 11, 2024 18:06
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`
Copy link
Contributor

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.

Suggested change
#### 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`
...

Copy link
Member Author

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.

Copy link
Contributor

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?

Copy link
Member Author

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.
Copy link
Contributor

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.
Copy link
Contributor

Choose a reason for hiding this comment

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

Suggested change
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.
Copy link
Contributor

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.
Copy link
Contributor

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?

@jongiddy
Copy link
Contributor

In the cargo publish section there is an instruction to get it merged which implies getting approval to merge. There should be something similar in the cargo smart-release section. In both sections, maybe it should read get the PR approved and merged.

@Byron
Copy link
Member Author

Byron commented Aug 12, 2024

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 cargo smart-release experiment and go back to doing it like previously described. If you agree, I invite you to make the changes you'd find useful directly and push them to this branch - that's easier and faster as well.

@Byron
Copy link
Member Author

Byron commented Aug 13, 2024

Now that you are maintainer @jongiddy , you will probably be able to push into this branch to complete it.
I guess it's my way of saying "hi, and welcome" :).

@jongiddy
Copy link
Contributor

I removed the smart-release section and revised the text of the other sections.

Copy link
Member Author

@Byron Byron left a 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 Byron merged commit 74b3c73 into rust-lang:main Aug 14, 2024
10 checks passed
@Byron Byron deleted the maintenance-guide branch August 14, 2024 06:58
@jongiddy
Copy link
Contributor

@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.

@Byron
Copy link
Member Author

Byron commented Aug 14, 2024

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.

renovate bot referenced this pull request in oxc-project/oxc Aug 26, 2024
[![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
[@&#8203;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

- [@&#8203;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
[@&#8203;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 [@&#8203;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
[@&#8203;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
[@&#8203;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
[@&#8203;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
[@&#8203;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

- [@&#8203;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
([#&#8203;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
([#&#8203;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
([#&#8203;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
([#&#8203;2805](https://github.com/serde-rs/serde/issues/2805), thanks
[@&#8203;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
([#&#8203;1179](https://github.com/serde-rs/json/issues/1179), thanks
[@&#8203;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
([#&#8203;1182](https://github.com/serde-rs/json/issues/1182), thanks
[@&#8203;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>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants