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
doc: update release-process.md #29645
Conversation
The following sections might be updated with supplementary metadata relevant to reviewers and maintainers. Code CoverageFor detailed information about the code coverage, see the test coverage report. ReviewsSee the guideline for information on the review process.
If your review is incorrectly listed, please react with 👎 to this comment and the bot will ignore it on the next update. ConflictsNo conflicts as of last run. |
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.
In the "Commit the detached codesign payloads" section, could also mention that only one person should rm -rf ./*
, or maybe just change that to rm
for the set of sigs being added.
Also the commit titling scheme we're using is now something like <version>: win signature for <rc or final>
rather than point to ...
Should also include the command |
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.
concept ACK
I was also confused by the code signing step.
74c44d3
to
635d16a
Compare
I made 2 separate steps for each signer, since they'll be different people.
Wrote scheme like this |
ACK 635d16a |
Here's some historical context regarding translation related changes suggested in this PR. Basically, during a release process, there are two kind of operations namely (1) generating an updated resource file and uploading it to the Transifex website and (2) downloading prepared translations from the Transifex website and merging them into this repository. The first kind involves running In the past, release maintainers performed all these steps by themselves. Then the process became more involved, requiring an additional interaction between a release maintainer and a developer who conducts translation-related stages. During the v26.0 release, @fanquake suggested (offline) to fetch translations from the Transifex website just before branching a version branch off. That would allow to keep translations in the master branch updated with no extra efforts. This PR goes further and proposes skipping translation fetching for every release candidate. FWIW, the v27.0 release is following the translation handling process as this PR suggests. The benefit of a new approach is less burden on a release maintainer. However, I can see a couple of drawbacks as well:
Being a translator allows me to assume that a month is enough even for a single person assuming they work on a single translation. Also we heavy exploit the "Translation Memory" Transifex feature, which effectively is a cache allowing to reuse translations from the previous releases. The second case might be considered as a very rare event. Anyway, this change in the release process deserves an announcement for translators on the Transifex website. |
Thanks for the context @hebasto. I felt that it was appropriate to move from "before every release candidate" to
In practice, is there a large time difference between branch off and the first release candidate? I made this change because it seemed like more accurate documentation, definitely not as an attempt to make a controversial alteration the release process. I don't feel strongly and am happy to remove that change. |
To clarify my previous comment, I do lean to ACK the suggested changes. |
(Yay v26.1) I have a couple more things for the last section, and then will take out of draft. |
635d16a
to
44c421b
Compare
44c421b
to
4e234f6
Compare
I think the "Update repositories and websites for new version" section could be split into 2 distinct steps of update the website, then update the packaging repos. Apparently flathub polls the website for new releases and their bot will automatically open a pr to the flathub repo with the new version hashes. So that step must be done after the website is updated. |
- Mention which directories contain the respective unsigned tarballs - Clarify that bitcoin.conf might not need to be updated - Specify where to put historical release notes if there is already something in release-notes.md - Clarify what exactly is the problem with running guix-codesign more than once - Correct number: 6 codesigned attestations are needed before uploading binaries - Remove scp command which is outdated - Remove server path which is outdated - Specify that translations update should happen before branch-off, not before each release candidate - Mention that you should notify lists when RCs are available - Put "Archive the release notes" as a separate step, since creating the github release has a dependency on it. - Put bitcoincore.org website updates as a separate step, since updating packaging repos may have a dependency on it. - Update "bitcoin-dev mailing list" to "bitcoin-dev group" - Document that maintainers should create PRs to collect backports - Remove section about not uploading `*-debug` files, reader should upload all build artifacts. - Torrent is created automatically, so delete instructions. - Mention that server also generates ots file automatically.
4e234f6
to
1ea8674
Compare
Done, I split into website updates and everything else |
ACK 1ea8674 |
It happens, but very seldom. We can really ignore them as it simplifies the release process significantly.
However, I think we have to update translations for minor releases. cc @laanwj
Not at all :) |
Went ahead with merging this since the vast majority of the changes here are correct and useful. It seems like there are still some questions related to the translations, but I think we can document those later when it becomes apparent that what we're actually doing diverges from the doc. |
While doing various release process things for the first time, I noticed some of our docs are outdated and/or confusing.