Skip to content

Latest commit

 

History

History
58 lines (45 loc) · 2.44 KB

RELEASE.md

File metadata and controls

58 lines (45 loc) · 2.44 KB

Release Process

This document describes the process for preparing new version of the pyfredapi package.

Pre-release PR Checklist

Preform these tasks before opening a PR for the main branch.

  • Bump the version number. pyfredapi follow semantic versioning, and uses hatch to manage the version number.
  • Update the CHANGELOG.md file with the changes for the new release. Follow the keepachangelog guidelines.
  • Check that no updates are needed in CONTRIBUTING.md
  • Check that no updates are needed in README.md
  • Update the requirements.txt
    python -m piptools compile --upgrade -o requirements.txt pyproject.toml
  • Run unit tests and make fresh vcr cassettes
    pytest tests/ --record-mode=all --runslow
  • Make sure the pyfredapi package builds locally
    hatch build

Prepare the documentation

When a commit is made to the main branch, the Read The Docs build will be triggered and the documentation will be updated. It is important to be sure the documentation is correct before merging into the main branch.

  • Update documentation dependencies for Read The Docs
    python -m piptools compile --upgrade --extra docs -o docs/requirements.txt pyproject.toml
  • Test that the documentation builds locally
    mkdocs build
    open site/index.html
  • Review the documentation site

Open a PR

When a PR is opened for the main branch, the GitHub actions pipeline will the test suite and lint the code.

  • Check that the CI/CD pipeline tasks have passed
  • Give the PR a descriptive title
  • Add a description of the changes

Post PR merge tasks

The package is published to PyPi via GitHub actions pipeline. The pipeline is triggered when a new version release is created in GitHub. Use the GitHub UI to create a new release.

  • Title the tag pyfredapi-v<version>. The tag is used to trigger the GitHub actions pipeline to publish the package to PyPi.
  • Title the release pyfredapi v<version>
  • Add the changelog release notes to the release description
  • Publish the release