Skip to content

Commit

Permalink
[skip-ci]
Browse files Browse the repository at this point in the history
  • Loading branch information
gmaze committed Sep 28, 2023
1 parent 1b453b4 commit cf5fc93
Showing 1 changed file with 35 additions and 17 deletions.
52 changes: 35 additions & 17 deletions .github/PULL_REQUEST_TEMPLATE/new_release.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,26 +6,44 @@ labels: 'release'
assignees: ''
---

- [ ] Create a new branch for this release: ``git checkout -b releaseX.Y.Z``
# Setup

- [ ] Create a new branch for this release: ``git checkout -b releasev0.X.Y``
- [ ] Increase release version in ``./setup.py``
- [ ] Update release version in ``./docs/whats-new.rst``
- [ ] Create a PR to prepare it, name it with one of the [Nature emoji](https://www.webfx.com/tools/emoji-cheat-sheet/#tabs-3) and make sure it was [never used before](https://github.com/euroargodev/argopy/pulls?q=is%3Apr+label%3Arelease+)

# Prepare release
# Prepare code for release

- [ ] Run codespell from repo root and fix errors: ``codespell -q 2``
- [ ] Increase release version in ``./setup.py``
- [ ] Update date and release version in ``./docs/whats-new.rst``
- [ ] Make sure that all [CI tests are passed with *free* environments](https://github.com/euroargodev/argopy/actions?query=workflow%3A%22tests+in+FREE+env%22+event%3Apull_request)
- [ ] Update ``./requirements.txt`` and ``./docs/requirements.txt`` with CI free environments dependencies versions
- [ ] Update ``./ci/requirements/py*-dev.yml`` with last free environments dependencies versions
- [ ] Make sure that all [CI tests are passed with *dev* environments](https://github.com/euroargodev/argopy/actions?query=workflow%3A%22tests+in+DEV+env%22+event%3Apull_request)
## Code clean-up
- [ ] Run [codespell](https://github.com/codespell-project/codespell) from repo root and fix errors: ``codespell -q 2``
- [ ] Run [flake8](https://github.com/PyCQA/flake8) from repo root and fix errors

## Software distribution readiness
- [ ] Manually trigger [upstream CI tests](https://github.com/euroargodev/argopy/actions/workflows/pytests-upstream.yml) for the release branch and ensure they are passed
- [ ] Update pinned dependencies versions in ``./ci/requirements/py*-*-pinned.yml`` environment files using [upstream CI tests](https://github.com/euroargodev/argopy/actions/workflows/pytests-upstream.yml) information
- [ ] If CI tests with the oldest dependencies versions are not passed, upgrade these versions in ``./ci/requirements/py*-*-min.yml`` files up to the point where CI tests are passed
- [ ] Possibly update ``./requirements.txt`` and ``./docs/requirements.txt`` if the oldest dependencies versions were upgraded in the previous step
- [ ] Make sure that all CI tests are passed
- [ ] [Activate](https://readthedocs.org/projects/argopy/versions/) and make sure the documentation for the release branch is [built on RTD](https://readthedocs.org/projects/argopy/builds/)

## Preparation conclusion
- [ ] Merge this PR to master
- [ ] Make sure all [CI tests are passed on the master branch](https://github.com/euroargodev/argopy/actions?query=workflow%3Atests*+branch%3Amaster)
- [ ] Update release date in ``./docs/whats-new.rst``
- [ ] Make sure all CI tests are passed and RTD doc is built on the master branch

# Publish the release

- [ ] ["Draft a new release"](https://github.com/euroargodev/argopy/releases/new) on GitHub.
Choose a release tag v0.X.Y, fill in the release title and click on the `Auto-generate release notes` button.
This will trigger the [publish Github action](https://github.com/euroargodev/argopy/blob/master/.github/workflows/pythonpublish.yml) that will push the release on [Pypi](https://pypi.org/project/argopy/#history).
- [ ] Last check the ``./setup.py`` file version of the release and that the [documentation is ready](https://readthedocs.org/projects/argopy/builds/)
- [ ] Publish !
- [ ] Checkout on [Pypi](https://pypi.org/project/argopy/#history) and [Conda](https://github.com/conda-forge/argopy-feedstock/pulls) that the new release is distributed.

# Publish release
[![Publish on pypi](https://github.com/euroargodev/argopy/actions/workflows/pythonpublish.yml/badge.svg)](https://github.com/euroargodev/argopy/actions/workflows/pythonpublish.yml)

- [ ] On the master branch, commit the release in git: ``git commit -a -m 'Release v0.X.Y'``
- [ ] Tag the release: ``git tag -a v0.X.Y -m 'v0.X.Y'``
- [ ] Push it online: ``git push origin v0.X.Y``
- [ ] Issue the release on GitHub by first ["Drafting a new release"](https://github.com/euroargodev/argopy/releases/new)
Choose the release tag v0.X.Y, fill in the release title and click on the `Auto-generate release notes` button.
This will trigger the [publish Github action](https://github.com/euroargodev/argopy/blob/master/.github/workflows/pythonpublish.yml) that will push the release on [Pypi](https://pypi.org/project/argopy/#history).
# CI tests / RTD build results
[![CI tests](https://github.com/euroargodev/argopy/actions/workflows/pytests.yml/badge.svg?branch=releasev0.X.Y)](https://github.com/euroargodev/argopy/actions/workflows/pytests.yml)
[![CI tests Upstream](https://github.com/euroargodev/argopy/actions/workflows/pytests-upstream.yml/badge.svg?branch=releasev0.X.Y)](https://github.com/euroargodev/argopy/actions/workflows/pytests-upstream.yml)
[![Documentation Status](https://readthedocs.org/projects/argopy/badge/?version=releasev0.X.Y)](https://argopy.readthedocs.io/en/releasev0.X.Y)

0 comments on commit cf5fc93

Please sign in to comment.