Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
42 changes: 42 additions & 0 deletions .github/workflows/create-github-release.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,42 @@
name: Create a new GitHub Release

on:
workflow_dispatch:

jobs:
create-github-release:
runs-on: ubuntu-latest

steps:
- uses: actions/checkout@v6
- uses: actions/setup-python@v6
with:
python-version: 3.11

- name: Install dev requirements
run: make requirements

- name: Install pandoc for using scriv with RST
run: sudo apt install -y pandoc

- name: Configure Git user
run: |
git config user.name 'github-actions[bot]'
git config user.email 'github-actions[bot]@users.noreply.github.com'

- name: Read current version
id: version
run: |
echo "CURRENT_VERSION=$(bump-my-version show current_version)" >> $GITHUB_OUTPUT

- name: Create and push Git tag
env:
CURRENT_VERSION: ${{ steps.version.outputs.CURRENT_VERSION }}
run: |
git tag -a "v$CURRENT_VERSION" -m "Release v$CURRENT_VERSION"
git push origin "v$CURRENT_VERSION"

- name: Create GitHub release
env:
GITHUB_TOKEN: ${{ github.token }}
run: scriv github-release --repo=openedx/openedx-filters
62 changes: 62 additions & 0 deletions .github/workflows/create-release-pr.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,62 @@
name: Create a Release Pull Request

on:
workflow_dispatch:
inputs:
semver-type:
description: "Semantic version to be released"
required: true
type: choice
options:
- "major"
- "minor"
- "patch"

jobs:
create-release-pr:
runs-on: ubuntu-latest
env:
SEMVER_TYPE: ${{ github.event.inputs.semver-type }}

steps:
- uses: actions/checkout@v6
- uses: actions/setup-python@v6
with:
python-version: 3.11

- name: Install dev requirements
run: make requirements

- name: Configure git user
run: |
git config user.name 'github-actions[bot]'
git config user.email 'github-actions[bot]@users.noreply.github.com'

- name: Calculate current and next version
id: version
run: |
echo "CURRENT_VERSION=$(bump-my-version show current_version)" >> $GITHUB_OUTPUT
echo "NEW_VERSION=$(bump-my-version show --increment $SEMVER_TYPE new_version)" >> $GITHUB_OUTPUT

- name: Execute bump version
run: bump-my-version bump $SEMVER_TYPE

- name: Collect changelog entries
run: make changelog-collect

- name: Create pull request
uses: peter-evans/create-pull-request@v7
env:
GITHUB_TOKEN: ${{ github.token }}
CURRENT_VERSION: ${{ steps.version.outputs.CURRENT_VERSION }}
NEW_VERSION: ${{ steps.version.outputs.NEW_VERSION }}
with:
commit-message: "chore: bump version `v${{ env.CURRENT_VERSION }}` → `v${{ env.NEW_VERSION }}`"
title: "Release `v${{ env.NEW_VERSION }}`"
body: |
### Description

This PR bumps the version from `v${{ env.CURRENT_VERSION }}` to `v${{ env.NEW_VERSION }}`.

The changelog has been automatically generated using `scriv`.
branch: release-v${{ env.NEW_VERSION }}
63 changes: 0 additions & 63 deletions .github/workflows/release.yml

This file was deleted.

25 changes: 14 additions & 11 deletions CHANGELOG.rst
Original file line number Diff line number Diff line change
Expand Up @@ -22,28 +22,31 @@ Change Log
- Edit and commit the newly-created file in the `changelog.d` folder
following the instructions in the file.

If you need to create a new release:
If you need to create a new release:

- There is a `relese.yml` workflow to create a new release. You can trigger
it manually in the Actions tab in GitHub. The workflow will bump the
version, update the changelog, create a tag, and create a new GitHub
release! 🚀
- There are two workflows for creating releases:

Unreleased
----------
1. ``create-release-pr.yml`` - Creates a release pull request with version
bump and changelog collection. You can trigger it manually in the
Actions tab, selecting the semantic version type (major/minor/patch).

2. ``create-github-release.yml`` - Creates the actual GitHub release and tag.
Run this after merging the release PR to complete the release process! 🚀


This file includes a history of past releases. Changes that were not yet added to a release are in the [changelog.d/](./changelog.d) folder.

.. scriv-insert-here

[2.1.0] - 2025-04-23
--------------------

Added
~~~~~

* Added django52 support.
* Also releasing pending items.

See the fragment files in the `changelog.d directory`_.
.. _changelog.d directory: https://github.com/openedx/openedx-filters/tree/master/changelog.d
.. scriv-insert-here


[2.0.1] - 2025-02-18
--------------------
Expand Down
2 changes: 1 addition & 1 deletion Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,7 @@ docs: ## generate Sphinx HTML documentation, including API docs
changelog-entry: ## Create a new changelog entry
scriv create

changelog: ## Collect changelog entries in the CHANGELOG.rst file
changelog-collect: ## Collect changelog entries in the CHANGELOG.rst file
scriv collect

# Define PIP_COMPILE_OPTS=-v to get more information during make upgrade.
Expand Down
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
Added
~~~~~
* New documentation section with naming suggestions for creating filters. (by @mariajgrimaldi)
* New documentation section with naming suggestions for creating filters. (by @mariajgrimaldi in #264)
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
Changed
~~~~~~~
* Updated documentation titles and styles to follow the Open edX style guide. (by @Apgomeznext)
* Updated documentation titles and styles to follow the Open edX style guide. (by @Apgomeznext in #262 and #263)
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
Changed
~~~~~~~
* Updated the glossary section in the documentation. (by @Apgomeznext)
* Updated the glossary section in the documentation. (by @Apgomeznext in #266)
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
Changed
~~~~~~~
* Improved how-to guides including updates to filters, samples, and formatting. (by @mariajgrimaldi)
* Improved how-to guides including updates to filters, samples, and formatting. (by @mariajgrimaldi in #260)
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
Changed
~~~~~~~
* Updated edX RTD link to Open edX RTD. (by @sarina)
* Updated edX RTD link to Open edX RTD. (by @sarina in #269)
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
Changed
~~~~~~~
* Replaced the deprecated ``pydocstyle`` library with ``ruff``. (by @bryanttv)
* Replaced the deprecated ``pydocstyle`` library with ``ruff``. (by @bryanttv in #270)
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
Added
~~~~~
* Migrate to ``scriv`` for manage changelog. (by @bryanttv)
* Migrate to ``scriv`` for manage changelog. (by @bryanttv in #268)
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
Changed
~~~~~~~
* Improved documentation of filter configuration including details on configuration formats. (by @bryanttv)
* Improved documentation of filter configuration including details on configuration formats. (by @bryanttv in #302)
20 changes: 11 additions & 9 deletions changelog.d/scriv/new_fragment.rst.j2
Original file line number Diff line number Diff line change
Expand Up @@ -2,9 +2,11 @@

.. Please respect the following instructions:
.. * Add a new bullet item for the category that best describes the change.
.. * You may optionally append "(by @<author>)" at the end of the bullet item,
.. where @<author> is the GitHub username of the author of the change. These
.. affiliations will be displayed in the release notes for every release.
.. * You may optionally append "(by @<author> in #<pr-number>)" at the end of
.. the bullet item. This will be used to credit the PR author in the bullet
.. item, where <author> is the GitHub username of the author of the change
.. and <pr-number> is the PR number of the change. These affiliations will
.. be displayed in the release notes for every release.
.. * The accepted categories are: Added, Changed, Deprecated, Removed, Fixed,
.. and Security.
.. * Indicate breaking changes with a "**BREAKING CHANGE:**" prefix in the
Expand All @@ -15,29 +17,29 @@
.. Added
.. ~~~~~
.. * Added new ``CourseAccessFilter`` for controlling course content access.
.. * Added support for asynchronous filter execution. (by @developer)
.. * Added support for asynchronous filter execution. (by @developer in #1)

.. Changed
.. ~~~~~~~
.. * Improved filter pipeline performance.
.. * **BREAKING CHANGE:** Restructured filter response format for better consistency. (by @developer)
.. * **BREAKING CHANGE:** Restructured filter response format for better consistency. (by @developer in #2)

.. Deprecated
.. ~~~~~~~~~~
.. * Deprecated legacy filter registration method.
.. * Deprecated old filter pipeline format. (by @developer)
.. * Deprecated old filter pipeline format. (by @developer in #3)

.. Removed
.. ~~~~~~~
.. * Removed deprecated v1 filter interfaces.
.. * Removed support for synchronous-only filters. (by @developer)
.. * Removed support for synchronous-only filters. (by @developer in #4)

.. Fixed
.. ~~~~~
.. * Fixed memory leak in long-running filter chains.
.. * Fixed incorrect exception handling in filter pipeline. (by @developer)
.. * Fixed incorrect exception handling in filter pipeline. (by @developer in #5)

.. Security
.. ~~~~~~~~
.. * Enhanced filter input validation.
.. * Updated filter execution permissions model. (by @developer)
.. * Updated filter execution permissions model. (by @developer in #6)
2 changes: 1 addition & 1 deletion pyproject.toml
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
[tool.bumpversion]
current_version = "2.0.1"
current_version = "2.1.0"
tag = false
commit = false

Expand Down
10 changes: 5 additions & 5 deletions requirements/base.txt
Original file line number Diff line number Diff line change
Expand Up @@ -4,21 +4,21 @@
#
# make upgrade
#
asgiref==3.10.0
asgiref==3.11.0
# via django
django==4.2.25
django==5.2.8
# via
# -c https://raw.githubusercontent.com/edx/edx-lint/master/edx_lint/files/common_constraints.txt
# -r requirements/base.in
dnspython==2.8.0
# via pymongo
edx-opaque-keys[django]==3.0.0
# via -r requirements/base.in
pymongo==4.15.2
pymongo==4.15.4
# via edx-opaque-keys
sqlparse==0.5.3
sqlparse==0.5.4
# via django
stevedore==5.5.0
stevedore==5.6.0
# via edx-opaque-keys
typing-extensions==4.15.0
# via edx-opaque-keys
Expand Down
12 changes: 6 additions & 6 deletions requirements/ci.txt
Original file line number Diff line number Diff line change
Expand Up @@ -4,31 +4,31 @@
#
# make upgrade
#
cachetools==6.2.0
cachetools==6.2.2
# via tox
chardet==5.2.0
# via tox
colorama==0.4.6
# via tox
distlib==0.4.0
# via virtualenv
filelock==3.19.1
filelock==3.20.0
# via
# tox
# virtualenv
packaging==25.0
# via
# pyproject-api
# tox
platformdirs==4.4.0
platformdirs==4.5.0
# via
# tox
# virtualenv
pluggy==1.6.0
# via tox
pyproject-api==1.9.1
pyproject-api==1.10.0
# via tox
tox==4.30.3
tox==4.32.0
# via -r requirements/ci.in
virtualenv==20.34.0
virtualenv==20.35.4
# via tox
4 changes: 4 additions & 0 deletions requirements/constraints.txt
Original file line number Diff line number Diff line change
Expand Up @@ -10,3 +10,7 @@

# Common constraints for edx repos
-c https://raw.githubusercontent.com/edx/edx-lint/master/edx_lint/files/common_constraints.txt

# bump-my-version 1.2.4 requires click<8.2.2
# This constraint allows us to use the latest version of bump-my-version
click<8.2.2
1 change: 1 addition & 0 deletions requirements/dev.in
Original file line number Diff line number Diff line change
Expand Up @@ -7,3 +7,4 @@

diff-cover # Changeset diff test coverage
scriv # Changelog management tool
bump-my-version # Version management tool
Loading