Skip to content

Document and Automate the Release Process #47

@iguessthislldo

Description

@iguessthislldo

The release process for PyOpenDDS is small compared to OpenDDS, but it took me a bit longer than I'd like to figure out how to do it for 0.2 and even then I still made a mistake: https://pyopendds.readthedocs.io/_/downloads/en/v0.2.0/pdf/ says it's "0.2.0-dev". So it would help a lot to document and automate much of the release like OpenDDS already does. This should include:

  • Create a document in the sphinx docs that documents how to do a release.
  • Have Sphinx and the Python package use the same source for what the version is.
  • Create or use an existing system for recording the changes made between releases and compiling those changes into a changelog for the release.
  • Create or use a script that automates most, if not all of the release. Something like https://zestreleaser.readthedocs.io/en/latest/ maybe that exactly. It would have to:
    • Update the changelog (created in previous task)
    • Update the single version definition (created in previous task)
    • Commit those changes to git, create a release tag, and push
    • Create the source distribution and upload it to PyPi
    • Create the release in GitHub using their API
    • Activate the tag on Readthedocs using their API
    • Update files to the next version
    • Commit those changes to git and push

Some of these like the changelog (NEWS in OpenDDS) and readthedocs could be prototypes for OpenDDS, which lack automation for those tasks.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions