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

Clippy release process: Including our changelog in the upstream release announcement #3955

Closed
Manishearth opened this issue Apr 13, 2019 · 16 comments
Labels
S-needs-discussion Status: Needs further discussion before merging or work can be started

Comments

@Manishearth
Copy link
Member

Currently Clippy maintains a changelog, however it only contains stuff for the current stable release.

We should also maintain one for the beta branch, and work with the release team each release to add things to the release blog post and link to the changelog, IMO.

Thoughts? @phansch @oli-obk

cc @Centril from the release team side

@Manishearth Manishearth added the S-needs-discussion Status: Needs further discussion before merging or work can be started label Apr 13, 2019
@Manishearth
Copy link
Member Author

We could also encourage each nontrivial PR that lands to have a changelog entry in the PR body? Making changelog generation easy.

@Manishearth
Copy link
Member Author

#3956

@Centril
Copy link
Contributor

Centril commented Apr 13, 2019

cc @rust-lang/release

I think we can, trivially, as a start, link to the clippy changelog in each new release.

I've included this in T-release's agenda for next week.

@Manishearth
Copy link
Member Author

That sounds easy enough. Be sure to ping us so we can update it first 😄

Hopefully we'll always have an up to date beta changelong

@phansch
Copy link
Member

phansch commented Apr 14, 2019

Sounds good!

Hopefully we'll always have an up to date beta changelog

The main reason I didn't include the beta changelog initially was indeed the extra work required to maintain it, but I think we can do that.
I'm not clear on when we should update the beta changelog, though. Is it enough to update it after every stable release?

@Manishearth
Copy link
Member Author

I mean, now that I wrote the first beta changelog, it's the same amount of work -- instead of writing the release changelog at release time, write the beta changelog 😄

I'm not clear on when we should update the beta changelog, though. Is it enough to update it after every stable release?

Yep. Before the stable release update the changelog so that the "beta" marker is removed. After the release, add a beta section. (Can be done simultaneously if you know what the beta cutoff is, which will usually be the case)

@Manishearth
Copy link
Member Author

What do y'all think about editing a changelog line into each non-refactor PR that lands?

Basically, before you approve a PR, make sure you add a changelog: blah blah line to the PR body (if you're a reviewer and can't edit PR bodies, lmk).

That way changelog generation becomes super easy.

@flip1995
Copy link
Member

Basically, before you approve a PR, make sure you add a changelog: blah blah line to the PR body

Yeah that sounds good. Forgetting this may be the main problem. Is there a way we can check this automatically? Maybe implement a require_changelog option for this into bors?

@Manishearth
Copy link
Member Author

We don't want this on all PRs, but yeah, a check like this is easy to add to homu.

@Manishearth
Copy link
Member Author

(we can always changelog: none for those)

@pietroalbini
Copy link
Member

Hmm, I'd prefer to avoid too many repo-specifing things being added to homu. Maybe this can be done in the travis build itself (get the PR number, call the API to fetch the message, and fail if it's not present)?

To avoid people forgetting it exists wasting CI time, a PR template could be used that adds changelog: none to the default body.

@Manishearth
Copy link
Member Author

Kinda wanted the fast feedback cycle of knowing immeeiately as you r+ so that the reviewer can add one (as opposed to the PR author)

Iffy on adding it to the template with a default none since people may not notice it and leave it to be none

bors added a commit that referenced this issue Apr 16, 2019
Create PULL_REQUEST_TEMPLATE

changelog: none

addresses #3955 (comment)
bors added a commit that referenced this issue Apr 16, 2019
Create PULL_REQUEST_TEMPLATE

changelog: none

addresses #3955 (comment)
bors added a commit that referenced this issue Apr 16, 2019
Create PULL_REQUEST_TEMPLATE

changelog: none

addresses #3955 (comment)
bors added a commit that referenced this issue Apr 16, 2019
Create PULL_REQUEST_TEMPLATE

changelog: none

addresses #3955 (comment)
bors added a commit that referenced this issue Apr 16, 2019
Create PULL_REQUEST_TEMPLATE

changelog: none

addresses #3955 (comment)
@flip1995
Copy link
Member

Maybe this can be done in the travis build itself

Sadly that's not possible, since to use the GitHub API you need an API token. For this you need secrets in Travis. But Secrets aren't accessible in PRs from forks. See #4031

@cuviper
Copy link
Member

cuviper commented Jun 14, 2019

The bors CI builds are on a direct branch though, not a forked repo. I believe we do use secrets for stuff like AWS caching already.

@XAMPPRocky
Copy link
Member

If the clippy team was okay with it, we could merge or copy Clippy's CHANGELOG to be another section in the Rust RELEASES.md? It would not add any significant time to my work. I already wrote a tool for the generating the release notes and could add clippy to it.

The relnotes tool I wrote does something similar to what is being suggested. It first finds the start and end date of the six weeks between the last release and the release before it (aka what's in beta). It uses these dates to get every PR merged to a repo (In this case rust-lang/rust & rust-lang/cargo) in that time. It then compiles these PRs into a Markdown document with a list of the titles of each PR with a respective link, seperated by category (lang, compiler, etc.). It does this using GitHub's labels (e.g. T-compiler -> compiler related PR). We also use the relnotes label to mark that the writer of the release notes should always include this PR in the draft to be submitted.

bors added a commit that referenced this issue Jun 15, 2019
Check for changelog entry in PR bodies

cc #4031 but now on the auto and try branches. (#3955 (comment))
bors added a commit that referenced this issue Jun 15, 2019
Check for changelog entry in PR bodies

cc #4031 but now on the auto and try branches. (#3955 (comment))
bors added a commit that referenced this issue Jun 15, 2019
Check for changelog entry in PR bodies

cc #4031 but now on the auto and try branches. (#3955 (comment))
bors added a commit that referenced this issue Jun 15, 2019
Check for changelog entry in PR bodies

cc #4031 but now on the auto and try branches. (#3955 (comment))
bors added a commit that referenced this issue Jun 15, 2019
Check for changelog entry in PR bodies

cc #4031 but now on the auto and try branches. (#3955 (comment))

changelog: none
@Manishearth
Copy link
Member Author

We do this already

bors added a commit that referenced this issue Jul 15, 2019
Check for changelog entry in PR bodies

cc #4031 but now on the auto and try branches. (#3955 (comment))

changelog: none
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
S-needs-discussion Status: Needs further discussion before merging or work can be started
Projects
None yet
Development

No branches or pull requests

7 participants