Skip to content

Conversation

@Squirrel18
Copy link
Contributor

@Squirrel18 Squirrel18 commented Nov 19, 2025

Description:

This PR:

  • Adds support for scriv and bump-my-version to automate the release management process of this plugin. By doing it so, developers now have a standard way to release new versions of this plugin and generate automated tags and GitHub release pages. These practices have been adopted by some community repositories, and replicating them here allows us to use the same set of tools and workflows, avoiding different ways of doing the same thing. After analysis, we believe that these practices adopted in the community meet our requirements and are suitable for improving our release management process: docs: migrate to scriv to manage changelog openedx/openedx-filters#268 build: update release workflow to create PR with release changes openedx/openedx-filters#284 and v20.0.2 overhangio/tutor#1288
  • Adds a new GitHub Actions workflow called: create-release-pr which is a manual workflow in charge of creating a PR with the new version of the plugin. This workflow runs bump-my-version and make changelog-collect that creates & updates the references in the code and collect changelog entries using scriv respectively.
  • Adds a new GitHub Actions workflow called: create-github-release which is another manual workflow that should be run after the release PR has been merged. This workflow creates the Git tag with the new version and creates a new GitHub release page.
  • Adds some presets to use scriv.
  • Removes old bumpversion references.

Examples:

  • This is an example of the release PR created with the create-release-pr Action: 3.1.0 release #16
  • This is an example of Release page created with the create-github-release Action:
Screenshot 2025-11-19 at 4 00 28 PM

Release process:

  1. When developing a new feature or making changes to the code base, we must create entries in the changelog as development progresses to reflect the changes we are making. Using the make changelog-entry command will open the default editor, and we must modify this file to describe our changes: https://scriv.readthedocs.io/en/latest/philosophy.html https://scriv.readthedocs.io/en/latest/commands.html#scriv-create
  2. The entries in Changelog.d folder must be added to the PR along with our changes.
  3. Once the commits have been squashed and rebased, and the PR has been properly reviewed, approved and merged, we must manually trigger the Action called: create-release-pr manually. To trigger this action, it is necessary to set the correct semantic versioning version, so use “patch”, “minor” or “major” depending on the situation
  4. The above Action will create a new PR. This PR must contain updates to the version reference in pyproject.toml and init.py; a new entry in the CHANGELOG.md file automatically generated from the changelog.d entries; deletion of the changelog.d entries. No other changes should be included in this PR.
  5. The release PR must be reviewed and merged correctly.
  6. Once the release PR has been merged, we must manually call the action called: create-github-release. This action should create a new GitHub release page and a new tag with the new version.

@Squirrel18 Squirrel18 marked this pull request as ready for review November 19, 2025 22:25
@Squirrel18 Squirrel18 changed the title Dqe/add automatic release Add release process for this plugin. Nov 19, 2025
@@ -0,0 +1,59 @@
<!--

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Is this file generated automatically? I ask because of its name.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yes!, please check scriv library and the release process we are going to have from now on, this kind of file will be part of our regular PR process. I still need to create a new workflow to ensure these files are being added to each PR, but that's part of another PR. @anfbermudezme

feat: adding scriv and bump-my-version.
- add a new GH action workflow to create release PRs.
- add pyproject.toml.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants