diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index dbd8d617..8a7a153f 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -19,7 +19,7 @@ jobs: - name: Set up Python uses: actions/setup-python@v6 with: - python-version: "3.13" + python-version: "3.14" - run: pip install tox - name: Test Build diff --git a/.github/workflows/docs.yml b/.github/workflows/docs.yml index eeea8b4c..6ced849a 100644 --- a/.github/workflows/docs.yml +++ b/.github/workflows/docs.yml @@ -18,7 +18,7 @@ jobs: - name: Set up Python uses: actions/setup-python@v6 with: - python-version: "3.13" + python-version: "3.14" - run: pip install tox gitpython - name: Build docs diff --git a/.github/workflows/lint.yml b/.github/workflows/lint.yml index 13be455f..d9a7aed0 100644 --- a/.github/workflows/lint.yml +++ b/.github/workflows/lint.yml @@ -17,7 +17,7 @@ jobs: - name: Set up Python uses: actions/setup-python@v6 with: - python-version: "3.13" + python-version: "3.14" - run: pip install tox - name: Test Lint diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 8700eb5e..30b6527f 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -22,7 +22,7 @@ jobs: - name: setup Python uses: actions/setup-python@v6 with: - python-version: "3.13" + python-version: "3.14" - run: python -m pip install tox - name: Build package run: tox -e build diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml index f99ecbf9..2878e719 100644 --- a/.github/workflows/tests.yml +++ b/.github/workflows/tests.yml @@ -13,7 +13,7 @@ jobs: strategy: matrix: platform: [ubuntu-latest, macos-latest, windows-latest] - python-version: ['3.11', '3.13'] + python-version: ['3.11', '3.14'] steps: - uses: actions/checkout@v6 diff --git a/docs/CHANGELOG.rst b/docs/CHANGELOG.rst index df6d7f1c..85fc1cac 100644 --- a/docs/CHANGELOG.rst +++ b/docs/CHANGELOG.rst @@ -5,6 +5,9 @@ Changelog Unreleased ---------- +v0.1.34 (2025-12-02) +------------------------------------------ + * Ignore ``.github`` workflows for changelog checks * Ignore unrelated warnings from MDAnalysis * Added ``argcomplete`` for tab completion diff --git a/docs/CONTRIBUTING.rst b/docs/CONTRIBUTING.rst index 9bcb83b9..56758753 100644 --- a/docs/CONTRIBUTING.rst +++ b/docs/CONTRIBUTING.rst @@ -160,3 +160,47 @@ are good to go (Pull Request). .. _Tox: https://tox.readthedocs.io/en/latest/ .. _Fork this repository before contributing: https://github.com/MDAnalysis/mdacli/network/members + +How to Perform a Release +------------------------- +1. **Prepare a Release Pull Request** + + - Based on the main branch create branch ``release-0.1.35`` and a PR. + - Ensure that all `CI tests `_ pass. + - Optionally, run the tests locally to double-check. + +2. **Update the Changelog** + + - Edit the changelog located in ``docs/CHANGELOG.rst``: + - Add a new section for the new version, summarizing the changes based on the + PRs merged since the last release. + - Leave a placeholder section titled *Unreleased* for future updates. + +3. **Merge the PR and Create a Tag** + + - Merge the release PR. + - Update the ``main`` branch and check that the latest commit is the release PR with + ``git log`` + - Create a tag on directly the ``main`` branch. + - Push the tag to GitHub. For example for a release of version ``2025.3``: + + .. code-block:: bash + + git checkout main + git pull + git tag -a v0.1.35 -m "Release v0.1.35" + git push --tags + +4. **Finalize the GitHub Release** + + - Once the PR is merged, the CI will automatically: + - Publish the package to PyPI. + - Create a draft release on GitHub. + - Update the GitHub release notes by pasting the changelog for the version. + +5. **Merge Conda Recipe Changes** + + - May resolve and then merge an automatically created PR on the `conda recipe + `_. + - Once thus PR is merged and the new version will be published automatically on the + `conda-forge `_ channel.