From d2d3cc4e124c3a223a0a62ffc551573bc6b72a63 Mon Sep 17 00:00:00 2001 From: osaajani <> Date: Fri, 10 Jan 2025 13:06:06 +0100 Subject: [PATCH] Add to doc release process for maintainers --- docs/developer_guide/developers_install.rst | 6 ++ docs/developer_guide/index.rst | 1 + docs/developer_guide/maintainers_publish.rst | 59 ++++++++++++++++++++ 3 files changed, 66 insertions(+) create mode 100644 docs/developer_guide/maintainers_publish.rst diff --git a/docs/developer_guide/developers_install.rst b/docs/developer_guide/developers_install.rst index 0b2520104..da513a47a 100644 --- a/docs/developer_guide/developers_install.rst +++ b/docs/developer_guide/developers_install.rst @@ -46,6 +46,12 @@ And you can lint with: $ python -m black . +and + +.. code:: bash + + $ python3 -m flake8 -v --show-source --max-line-length=92 moviepy docs/conf.py examples tests + diff --git a/docs/developer_guide/index.rst b/docs/developer_guide/index.rst index 774c2e448..284a90d31 100644 --- a/docs/developer_guide/index.rst +++ b/docs/developer_guide/index.rst @@ -11,3 +11,4 @@ The Developers Guide covers most of the things people wanting to participate to developers_install contribution_guidelines + maintainers_publish diff --git a/docs/developer_guide/maintainers_publish.rst b/docs/developer_guide/maintainers_publish.rst new file mode 100644 index 000000000..ce548e3ea --- /dev/null +++ b/docs/developer_guide/maintainers_publish.rst @@ -0,0 +1,59 @@ +.. _maintainers_publish: + +Publishing a New Version of MoviePy +=================================== + +This section is for maintainers responsible for publishing new versions of MoviePy. Follow these steps to ensure the process is smooth and consistent: + +**Pre-requisites** +------------------ +- Ensure you have proper permissions to push changes and create releases in the MoviePy repository. + +Steps to Publish a New Version +------------------------------ + +1. **Update the `CHANGELOG.md`** + + - Add a new section for the upcoming version, respecting the format used in previous entries. + - Summarize all changes, fixes, and new features. + +2. **Update the version in `pyproject.toml`** + + - Open the `pyproject.toml` file. + - Update the `version` field to the new version, following `Semantic Versioning `_. + +3. **Commit and Push** + + - Stage your changes:: + + git add CHANGELOG.md pyproject.toml + + - Commit your changes:: + + git commit -m "Release vX.Y.Z" + + - Push your changes:: + + git push + +4. **Create a New Tag** + + - Create a tag for the new version (replace ``vX.Y.Z`` with the actual version number):: + + git tag -a vX.Y.Z -m "Release vX.Y.Z" + + - Push the tag to the remote repository:: + + git push origin vX.Y.Z + +5. **Create a New Release** + + - Go to the repository's page on GitHub (or the relevant hosting platform). + - Navigate to the "Releases" section and create a new release. + - Use the new tag (``vX.Y.Z``) and provide a description for the release. + - Copy the changelog for this version into the release description. + - Publish the release. + +GitHub actions will automatically build and publish the new release on PyPi. + +By following these steps, you ensure that each MoviePy release is well-documented, correctly versioned, and accessible to users.