> On Mar 30, 2025, at 3:35 PM, Alexander Sorokoumov 
> <aleksandr.sorokou...@gmail.com> wrote:
> 
> Hey folks,
> 
> I think we are very close to cutting the first Apache release. Yet, there
> are many small steps to do. Personally, I have been procrastinating on them
> as I don't exactly know what to do.
> 
> To get over this "fear of the unknown", I have made a painfully detailed
> TODO list that should get us to the first release. The purpose of this
> thread is to a) agree that the steps in this list will indeed get us to
> correctly publishing the first Apache release and b) clarify the unknowns -
> mostly interactions with Apache infrastructure.
> 
> I do believe that once we agree on the outstanding steps, we'll be able to
> get it over with within a week or so.
> 
> Please find the list below. My unknowns are marked with **Q** and ????. I
> am looking forward to reading your feedback!
> 
> TODO towards the first Apache release.
> 
> 1. Agree on the release version (0.6.0-incubating? I am using that as a
> placeholder in other steps).
> 2. Update release name in pyproject.toml.
> 3. Update project description and authors in pyproject.toml.
> 4. Verify supported Python versions. Run tests and examples with Python
> 3.8+. Add a paragraph to README claiming that versions where tests passed
> are supported.
> 5. Create source distribution via `poetry build`.
> 6. Sign the artifact `gpg --armor --output dist/<artifact>.asc --detach-sig
> dist/<artifact>`.
> 7. Verify the checksum `sha512sum dist/<artifact> > dist/<artifact>.sha512`.
> 8. Test release candidate locally with `pip install`.
> 9. Upload project KEYS file. **Q:** How do we do that?

KEYS files are currently a file of concatenated Release Manager’s GPG Public 
Signing Keys uploaded via svn here:

svn import https://dist.apache.org/repos/dist/release/incubator/otava/KEYS -m 
"Update Otava KEYS"

> 9. Upload Artifacts to Apache Dev Repo. **Q:** How do we do that?

You currently `svn co https://dist.apache.org/repos/dist/dev/incubator/otava/`
Then you add the release candidate files to that directory and then `svn ci -m 
“Release Candidate Otava 0.6.0-incubating”`

These files should be name `apache-otava-0.6.0-incubating.*`

> 10. Call for PMC Vote. Send an email to the this mailing list with the
> subject "VOTE: Release Apache Otava 0.6.0-incubating" with the link to the
> release candidate:
> ```
> The Apache Otava project is pleased to announce that the
> release candidate for version 0.6.0-incubating is ready.
> 
> The release candidate artifacts are available at:
> ????
> 
> SHA512: <checksum>
> KEYS:https://downloads.apache.org/incubator/otava/KEYS
> 
> Please vote on releasing this candidate by replying with:
> [ ] +1 Release this package
> [ ] 0 No opinion
> [ ] -1 Do not release (please provide reason)
> 
> This vote will be open for at least 72 hours.
> ```
> 11. Wait for the vote to pass, fix issues if any.
> 12. Call for IPMC Vote. Send an email to gene...@incubator.apache.org with
> the subject "[VOTE] [RESULT] Release Apache Otava 0.6.0-incubating". The
> content should contain links to the vote result and the artifacts.
> 13. Wait for the vote to pass, fix issues if any.
> 14. Move the RC to the release directory. **Q:** How do we do that?

You do an `svn mv` from 
https://dist.apache.org/repos/dist/dev/incubator/otava/<artifacts>
To https://dist.apache.org/repos/dist/release/incubator/otava/

> 15. Publish Github release/tag.
> 16. Upload the release to PyPI. **Q:** How do we do that?

https://incubator.apache.org/guides/distribution.html#pypi

> 17. Announce the release on the mailing list by sending an email with the
> subject "[ANNOUNCE] Apache Otava 0.6.0-incubating released".

Please note that announcement emails must be text and not html.

> 18. Make social media noise.
> 19. Bump version in pyproject.toml for the next release.

Best,
Dave

> 
> 
> Best,
> Alex

Reply via email to