Important
This version is not released yet and is under active development.
- Re-release with latest
gha-utils
.
- Replace unmaintained
jsonlint
by ESLint. - Add new
gitignore_exists
metadata output. - Add
node
artefacts to the list of default files in.gitignore
.
- Use
uv
instead ofsetup-python
action to install Python. On all platforms butwindows-2019
. - Remove auto-generated dummy
pyproject.toml
used to hacksetup-python
caching. - Run all jobs on Python 3.13.
- Move coverage configuration to pytest invocation.
- Do not let
uv sync
operation update theuv.lock
file. - Depends on released version of
mdformat_deflist
.
- Run binaries tests into a shell subprocess.
- Fix parsing of default timeout.
- Do not force encoding when running CLI in binary test job.
- Add a
timeout
parameter to release workflow test execution.
- Fix permissions for tagging in release workflow.
- Run Nuitka binary builds on Python 3.13.
- Run a series of test calls on the binaries produced by the build job.
- Replace unmaintained
hub
CLI bygh
in broken links job.
- Fix installation of
hub
on broken links job.
- Fix upload to PyPi on release.
- Remove unused
uv_requirement_params
in metadata.
- Remove
extra_python_params
variant innuitka_matrix
metadata. - Add official support of Python 3.13.
- Drop support for Python 3.9.
- Use
macos-15
instead ofmacos-14
to build binaries forarm64
. - Use
ubuntu-24.04
instead ofubuntu-22.04
to built binaries for Linux. - Run tests on Python 3.14-dev.
- Use
uv
to publish Python packages.
- Use
uv
to build Python packages. - Remove dependency on
build
package. - Fix coverage report upload.
- Upload test results to coverage.
- Rerelease to stabilize changelog updates.
- Fix changelog indention.
- Add changelog unittests.
- Rerelease to fix admonition in changelog.
- Fix changelog new entry format.
- Fix over-escaping of
[!IMPORTANT]
admonition in changelog. - Fix content writing into output files.
- Replace
mdformat-black
bymdformat-ruff
. - Install
mdformat
,gha-utils
,yamllint
,bump-my-version
,ruff
,blacken-docs
andautopep8
as a global tool to not interfere with the project dependencies. - Fix
mdformat-pelican
compatibility withmdformat-gfm
. - Upgrade job runs from
ubuntu-22.04
toubuntu-24.04
. - Mark python 3.13-dev tests as stable.
- Fix empty entry composition.
- Remove local workaround for Nuitka.
- Bump
gha-utils
CLI.
- Fix update of changelog without past entries.
- Release with relaxed dependencies.
- Add local workaround for Nuitka to fix bad packaging of
license_expression
package at build time.
- Bump Nuitka and
uv
.
- Drop support for Python 3.8.
- Rely on released version of
mdformat-pelican
. - Fix invocation of installed
mdformat
and its plugin.
- Do not maintain
.mailmap
files on Awesome repositories.
- Bump
uv
and Nuitka.
- Always use frozen
uv.lock
file onuv run
invocation.
- Do not print progress bars on
uv
calls.
- Add a new job to keep
uv.lock
updated and in sync. - Exclude auto-updated
uv.lock
files from PRs produced fromuv run
anduv tool run
invocations.
- Fix options in
gha-utils mailmap-sync
calls. - Use latest
gha-utils
release in workflows.
- Rename
gha-utils mailmap
command togha-utils mailmap-sync
. - Add new
--create-if-missing
/--skip-if-missing
option togha-utils mailmap-sync
command. - Do not create
.mailmap
from scratch in workflows: only update existing ones. - Normalize, deduplicate and sort identities in
.mailmap
files. - Keep comments attached to their mapping when re-sorting
.mailmap
files. - Do not duplicate header metadata on
.mailmap
updates. - Do not update
.mailmap
files if no changes are detected. - Add new
boltons
dependency.
- Bump
gha-utils
CLI.
- Fix recreation of specifiers.
- Revert to rely entirely on released
gha-utils
CLI for release workflow.
- Pre-compute repository initial state before digging into commit log history.
- Redo release as
v4.1.0
has been broken. - Rely on old
v4.0.2
standalone metadata script temporarily to fix release process. - Remove failing
--statistics
production onruff
invocation.
- Replace in-place
metadata.py
,update_changelog.py
andupdate_mailmap.py
scripts bygha-utils
CLI. - Remove pre-workflow
check-mailmap
job. - Bump Python minimal requirement to 3.8.6.
- Fix computation of lower bound Python version support if minimal requirement is not contained to
major.minor
specifier. - Add dependency on
backports.strenum
forPython < 3.11
. - Change dependency on
mdformat-pelican
from personal fork to unreleased upstream. - Remove dependency on
black
andmypy
.
- Remove comments in GitHub action's environment variable files.
- Test CLI invocation.
- Re-release to register PyPi project.
- Package all utilities in a
gha_utils
CLI. - Remove support for Poetry-based projects. All Python projects are expected to follow standard
pyproject.toml
conventions. - Sort contributors in
.mailmap
files regardless of case sensitivity. - Force default values of workflow's inputs when triggered from other events (i.e. in non-reusable contexts).
- Run all Python-based commands via
uv run
anduv tool run
. - Replace
is_poetry_project
metadata byis_python_project
. - Add new
uv_requirement_params
metadata output. - Remove dependency on
poetry
package. - Add new dependencies on
build
,packaging
,pyproject-metadata
andclick-extra
.
- Read
pyproject.toml
without relying on Poetry.
- Replace Myst admonition in changelog by GFM alerts.
- Restrict removal of changelog warning admonition to
{important}
class on version bump.
- Fix dependency graph generation by replacing Poetry by
uv
.
- Use
uv
to install and run tools. - Fix markdown autofix.
- Use
uv
to installmdformat
.
- Run Nuitka builds on Python 3.12.
- Auto cleanup PRs produced by awesome template sync job.
- Fix
mypy
run for Poetry projects.
- Pin
uv
version everywhere to improve stability. - Fix
mypy
execution and dependency installation.
- Install all extra dependencies before checking typing with
mypy
.
- Requires typing dependencies to be set in a
typing
group inpyproject.toml
. - Install all extra dependencies on doc generation.
- Requires Sphinx dependencies to be set in a
docs
group inpyproject.toml
. - Let
pipdeptree
resolve the Python executable to use in a virtual environment. - Do not let Nuitka assume a Python package is bundled with its unittests in a
tests
subfolder. - Reduce number of
git
calls to produce.mailmap
. Refs #984.
- Update dependencies.
- Dynamically search the Python executable used by Poetry.
- Support dependency graph generation for both package and non-package Poetry projects.
- Provides venv's Python to
pipdeptree
to bypass non-detection of active venv.
- Name is optional for non-
package-mode
Poetry projects.
- Fix incompatibility between
mdformat-gfm
andmdformat-pelican
.
- Fix template URL in
awesome-template-sync
job PR body.
- Fix variable substitution in
awesome-template-sync
job PR body.
- Support GitHub admonition in Markdown linting.
- Add new dependency on
mdformat_gfm_alerts
. - Use pre-commit hooks in
awesome-template-sync
job to replace URLs. - Source remote requirement files from
uv
CLI.
- Fix
awesome-template-sync
job.
- Set
ignore_missing_files
option globally inpyproject.toml
. - Remove temporary hack to make
uv
use system Python in workflows.
- Add some debug messages.
- Fix updating of existing PR from
awesome-template-sync
.
- Fix fetching of newly created PR in
awesome-template-sync
.
- Update repository URLs in
awesome-template-sync
job before re committing the PR.
- Start collecting
bump-my-version
rules from different projects. - Move all
*-requirements.txt
files torequirements
subfolder. - Remove generation of Pip's
--requirement
parameters in metadata script. - Reuse
requirements.txt
root file to install dependencies inmypy-lint
job. - Add emoji label to awesome template sync PR.
- Remove labels in
awesome-template-sync
job while we wait for upstream fix.
- Try to hack
actions-template-sync
labels, again.
- Try to hack
actions-template-sync
labels.
- Add label to awesome template sync PR.
- Add a job to sync awesome repository project from the
awesome-template
repository.
- Produce
arm64
binaries with Nuitka by usingmacos-14
runners.
- Start replacing
pip
invocations byuv
. - Split Python dependencies into several
*requirements.txt
files. - Let metadata script generates Pip's
--requirement
parameters. - Add new dependency on
wcmatch
anduv
. - Ignore all files from local
.venv/
subfolder. - Tie Pip cache to
**/pyproject.toml
and**/*requirements.txt
files. - Lint and format Jupyter notebooks with ruff.
- Update default ruff config file to new
0.2.x
series. - Remove installation of unused
bump-my-version
in Git tagging job. - Document setup and rationale of custom PAT and
*requirements.txt
files.
- Remove temporary
pyproject.toml
dummy file after ruff invocation not to let it fail due to missing reference.
- Generate dummy
pyproject.toml
instead ofrequirements.txt
everywhere to bypasssetup-python
cache limits for non-Python repositories. Remove the temporarypyproject.toml
dummy after the fact.
- Generate a dummy
pyproject.toml
instead ofrequirements.txt
to make our ruff local conf work.
- Fix Python job on non-Python repositories.
- Fix absence of version in non-Python repositories.
- Add workaround to allow caching on non-Python repositories.
- Remove hard-coded commit version for
mdformat-gfm
.
- Replace unmaintained
misspell-fixer
bytypos
to autofix typos. Closes #650.
- Add a content-based labeller job for issues and PRs.
- Use
macos-13
instead ofmacos-12
for Nuitka builds.
- Use
bump-my-version
to remove admonition in changelog.
- Expose current and released version in metadata script.
- Fix fetching of changelog entry for release notes.
- Add latest changelog entries in GitHub release notes.
- Produce GitHub release notes dynamically.
- Augment all commits matrix with current version from
bump-my-version
. - Use new artifact features and scripts.
- Update default file-based labelling rules for new configuration format.
- Run
autopep8
beforeruff
.
- Use
ruff
instead ofdocformatter
to format docstrings inside Python files. - Remove dependency on
docformatter
. - Only run
ruff
once for autofix and linting. Removeslint-python
job. - Auto-generate local configuration for
ruff
instead of passing parameters. - Split generation of Python target version from CLI parameters.
- Rename
black_params
metadata variable toblacken_docs_params
. - Remove
ruff_params
metadata variable.
- Do not cache dependency-less mailmap update workflow step.
- Cache Python setups.
- Run Nuitka builds on Python 3.11 while we wait for 3.12 support upstream.
- Remove hard-coded permissions for release action.
- Increase scope of hard-coded permissions for release action.
- Use custom token for GitHub release creation.
- Increase token permissions to full write.
- Test release action.
- Increase scope of hard-coded token contents permission.
- Hard-code token contents permission for creation of GitHub release.
- Upgrade to
bump-my-version
0.12.x
series. - Upgrade to Poetry
1.7.x
series.
- Activates
ruff
preview and unsafe rules. - Run actions on Python 3.12.
- Replace
black
withruff
's autoformatter. - Rely even more on
bump-my-version
for string replacement.
- Upgrade to
bump-my-version
0.10.x
series. - Remove the step updating the release date of
citation.cff
inchangelog
job. This can be done withbump-my-version
now. - Trigger changelog updates on
requirements.txt
changes.
- Upgrade to
bump-my-version
0.8.0
.
- Replace some Perl oneliners with
bump-my-version
invocation.
- Fix retrieval of tagged version in release workflow.
- Use bump-my-version
v0.6.0
to fetch current version.
- Use patched version of
mdformat-web
to fix formatting of HTML code in code blocks.
- Reactive maximum concurrency in
lychee
, but ignore checks ontwitter.com
andycombinator.com
.
- Limit
lychee
max concurrency and sacrifice performances, to prevent false positives. - Do not triggers docs workflow on tagging. There is not enough metadata on these events to complete the workflow.
- Skip broken links check on release merge: the tag is created asynchronously which produce false positive reports.
- Fix parsing of
lychee
exit code.
- Check and report links with
lychee
. Closes#563
.
- Use
mdformat_simple_breaks
plugin to format long<hr>
rules. - Format bash code blocks in Markdown via
mdformat-shfmt
. - Install
shfmt
before callingmdformat
. - Add dependencies on
mdformat_deflist
andmdformat_pelican
.
- Replace long
____(....)____
<hr>
rule produced bymdformat
with canonical---
form. Refsexecutablebooks/mdformat#328
. - Apply Markdown fixes for awesome lists to localized versions.
- Replace
bump2version
withbump-my-version
. Closes#162
. - Move version bumping configuration from
.bumpversion.cfg
topyproject.toml
. - Cap
mdformat_admon == 1.0.1
to preventmdit-py-plugins >= 0.4.0
conflict.
- Upgrade Nuitka builds to Python 3.11.
- Remove
--no-ansi
option on Poetry calls.
- Force colorized output of Mypy, as in CI it defaults to no color.
- Only activates all
ruff
rules for autofix, not linting. - Ignore
D400
rule inruff
to allow for docstrings first line finishing with a punctuation other than a period.
- Fix hard-coding of tagged external asset's URLs on release and version bump.
- Forces
ruff
to check and autofix against all rules.
- Reverts publishing via trusted channel: it doesn't work with reusable workflows. See #528.
- Publish packages to PyPi with OIDC workflow for trusted publishing.
- Update
docformatter
,ruff
andnuitka
.
- Use
docformatter 1.6.2
.
- Use
docformatter 1.6.1
.
- Various dependency updates.
- Use final version of
docformatter 1.6.0
.
- Update default destination folder of dependency graph from
images
toassets
.
- Skip running
autopep8
if no Python files found. - Only install main dependencies to generate dependency graph.
- Try out
docformatter 1.6.0-rc7
.
- Try out
docformatter 1.6.0-rc6
.
- Tweak extra content layout.
- Add new
gitignore-extra-content
parameter toupdate-gitignore
job to append extra content to.gitignore
.
- Fix Mermaid graph rendering colliding with reserved words.
- Add
certificates
,gpg
andssh
artefacts to the list of default files in.gitignore
. - Fix production of dependency graph in Mermaid format.
- Lint Github actions workflows with
actionlint
.
- Renders dependency graph in Mermaid Markdown instead of Graphviz's dot.
- Removes
dependency-graph-format
input variable todocs.yaml
workflow.
- Test unreleased
docformatter 1.6.0-rc5
to fix link wrapping. - Create missing parent folders of dependency graph.
- Fix subtle bug in
.gitignore
production due to collapsing multiline command block starting with>
because of variable interpolation. - Tweak PR titles.
- Test unreleased
docformatter 1.6.0-rc4
to fix admonition wrapping.
- Replace
isort
,pyupgrade
,pylint
,pycln
andpydocstyle
withruff
. - Run
autopep8
beforeblack
to that longline edge-cases get wrapped first. - Provides
autopep8
with explicit list of Python files to force it to handle dot-prefixed subdirectories.
- Test-drive unreleased
docformatter 1.6.0-rc3
to fix URL wrapping and admonition edge-cases.
- Fix collection of artifact files from their folder.
- Update artifact name to add
-poetry-
suffix for those to be published on PyPi. - Fix collection of artifact files from their folder.
- Fix attachment of artifacts to GitHub release on tagging.
- Remove broken print debug statement.
- Fix attachment of artifacts to GitHub release on tagging.
- Add new dependency on
mdformat_footnote
to properly wrap long footnotes when autofixing Markdown. - Add new dependency on
mdformat_admon
to future-proof upcoming admonition support. - Add new dependency on
mdformat_pyproject
so that each project reusing theautofix.yaml
workflow can setup local configuration formdformat
via itspyproject.toml
file.
- Do not try to attach non-existing artifacts to GitHub release.
- Fix attachment of artifacts to GitHub release.
- Rename artifacts attached to each GitHub release to remove the build ID (i.e. the
-build-6f27db4
suffix). That way we can have stable download URLs pointing to the latest release in the form of:https://github.com/<user_id>/<project_id>/releases/latest/download/<entry_point>-<platform>-<arch>.{bin,exe}
. - Normalize binary file names produced by Nuitka with
-
(dash) separators.
- Remove Pip cache, which breaks with our reusable workflows architecture.
- Cache dependencies installed by Pip.
- Bump Nuitka to
1.4.1
.
- Export full Nuitka build matrix from release workflow.
- Reuse and align commit metadata.
- Fix module path provided to Nuitka.
- Pre-compute the whole Nuitka build matrix.
- Pre-compute matrix variations with long and short SHA values in commit lists.
- Change the order of Python auto-formatting pipeline to
pycln
>isort
>black
>blacken-docs
>autopep8
>docformatter
. - Target unreleased
docformatter 1.6.0-rc2
to fix admonition formatting. - Ignore failing of
docformatter
as1.6.x
series returns non-zero exit code if files needs to be reformatted.
- Reverts to skipping the full
1.5.x
series and1.6.0rc1
ofdocformatter
which struggle on long URLs and admonitions.
- Empty release.
- Target unreleased
docformatter 1.6.0.rc1
to fix long URL rewrapping. Closes#397
. - Remove thoroughly all unused imports.
- Update dependencies.
- Force refresh of
apt
before installing anything.
- Force refresh of
apt
before installinggraphviz
.
- Format python code blocks in documentation files with
blacken-docs
. - Let metadata script locate Markdown, reStructuredText and Tex files under the
doc_files
field. - Add new dependency on
blacken-docs
. - Allow metadata script to be run on non-GitHub environment.
- Re-parse dependency graph to stabilize its output, customize its style and make it deterministic.
- Unpin dependency on
yamllint
and depends on latest version.
- Fix default dependency graph extension.
- Fix inplace customization of dependency graph.
- Change the default dependency graph format from
PNG
todot
file. - Add a
dependency-graph-format
parameter to the documentation workflow. - Customize the style of dependency graph when Graphviz code is produced.
- Install Graphviz when we produce the documentation so we can use
sphinx.ext.graphviz
plugin. - Add list of projects relying on these scripts.
- Fix fetching of commit matrix.
- Rewrite new and release commit detection code from YAML to Python.
- Add dependency on
PyDriller
. - Trigger debug traces on
pull_request
events.
- Fix export of binary name from build workflow.
- Export binary name from build workflow.
- Fix skipping of Nuitka compiling step for projects without entry points.
- Skip the whole
1.5.x
series ofdocformatter
which struggles with long URLs.
- Fix fetching of absent entry points in project metadata.
- Fix uploading of artifacts to GitHub release on tagging.
- Use short SHA commit in build artifacts.
- Fix uploading of Nuitka binaries to GitHub release on tagging.
- Add Nuitka-based compiling of Poetry's script entry-points into standalone binaries for Linux, macOS and Windows.
- Upload binaries to GitHub releases on tagging.
- Extract Poetry script entry-points in Python metadata script.
- Produce Nuitka-specific main module path from script entry-points.
- Allow rendering of data structure in JSON for inter-job outputs.
- Print Python metadata output before writing to env for debugging.
- Add dependency on
nuitka
,ordered-set
andzstandard
.
- Run all Python-based workflows on 3.11.
- Fix production of multiline commit list in build and release workflow.
- Fix tagging.
- Remove use of deprecated
::set-output
directives and replace them by environment files.
- Install project with Poetry before generating a dependency graph.
- Update all dependencies.
- Allow the use of project's own Mypy in Poetry virtual environment to benefits from typeshed dependencies.
- Do not let
sphinx-apidoc
CLI produce ToC file.
- Print raw
pipdeptree
output for debug.
- Fix installation of
graphviz
dependency in Poetry venv.
- Run
pipdeptree
in Poetry venv to produce dependency graph.
- Fix workflow continuation on successful
pyupgrade
run. - Fix quoting of CLI parameters fed to
black
.
- Fix version setup in Python metadata script.
- Upgrade to
poetry
1.2.0. - Allow dependency graph to be continuously updated. Closes
#176
. - In Python project metadata fetcher, double-quote file list's items to allow use of path with spaces in workflows.
- Ignore broken symlinks pointing to non-existing files in Python metadata fetcher.
- Fix default
pyupgrade
option produced by new Poetry.
- Use stable release of
calibreapp/image-actions
.
- Fix
mypy
parameters passing. - Upgrade job runs from
ubuntu-20.04
toubuntu-22.04
.
- Fix
mypy
parameters passing.
- Skip Python-specific jobs early if no Python files found in repository.
- Allow execution of
pyupgrade
on non-Poetry-based projects. - Default
pyupgrade
parameter to--py3-plus
. - Use auto-generated parameter for
mypy
's minimal Python version. - Merge all Poetry and Sphinx metadata fetching into a Python script, as we cannot have reusable workflows use reusable workflows. Closes #160.
- Add direct dependency on
poetry
.
- Auto-generate the set of python minimal version parameters for
mypy
,black
andpyupgrade
. Addressespython/mypy#13294
,psf/black#3124
andasottile/pyupgrade#688
.
- Remove upper limit of
pyupgrade
automatic--py3XX-plus
option generation. - Allow
gitleaks
to use GitHub token to scan PRs.
- Keep the release date of
citation.cff
up-to-date inchangelog
job.
- Check for typing. Add dependency on
mypy
.
- Revert workflow concurrency logic.
- Auto-remove unused imports in Python code. Add dependency on
pycln
. - Freeze Python version used to run all code to the
3.10
series.
- Group workflow jobs so new commits cancels in-progress execution triggered by previous commits.
- Reduce minimal Pylint success score to
7.0/10
.
- Fix admonition rendering in changelog template.
- Use
autopep8
to wrap Python comments at 88 characters length.
- Bump
actions/checkout
action to fix run in containers jobs.
- Auto-format docstrings in Python files. Add dependency on
docformatter
. - Auto-format
JS
,CSS
,HTML
andXML
code blocks in Markdown files. Add dependency onmdformat-web
. - Lint Python docstrings. Add dependency on
pydocstyle
. - Use
isort
profile to aligns withblack
. Removes.isort.cfg
. - Tweak
🙏 help wanted
label description.
- Fix Sphinx auto-detection by relying on static syntax analyzer instead of trying to import the executable configuration.
- Detect Sphinx's
autodoc
extension to create a PR updating documentation. - Auto deploy Sphinx documentation on GitHub pages if detected.
- Update
ℹ️ help wanted
label to🙏 help wanted
. - Triggers
docs
workflow on tagging to fix dependency graph generation. - Allows
release
workflow to be re-launched on tagging error.
- Dynamically add
⚖️ curation
,🆕 new link
and🩹 fix link
labels on awesome list projects.
- Remove the title of the section containing the TOC in awesome lists to fix the linter.
- Lint awesome list repositories.
- Update
👷 CI/CD
label to🤖 ci
. - Update
📗 documentation
label to📚 documentation
. - Update
🔄 duplicate
label to🧑🤝🧑 duplicate
. - Update
🆕 feature request
label to🎁 feature request
. - Update
❓ question
label to❔ question
. - Let Pylint discover Python files and modules to lint.
- Do not generate a
.gitignore
or.mailmap
if none exist. Only update it. - Do not run the daily
prepare-release
job to reduce the number of notifications. Add instructions on PR on how to refresh it. - Auto-update TOC in Markdown. Add dependency on
mdformat-toc
. - Remove forbidden TOC entries in Markdown for awesome lists.
- Remove wrapping of Markdown files to 79 characters.
- Use the
tomllib
from the standard library starting with Python 3.11.
- Fix search of Python files in
lint-python
workflow.
- Add Zsh script linter.
- Search for leaked tokens and credentials in code.
- Add new
💣 security
label. - Adjust
🐛 bug
label color. - Add new
gitignore-location
andgitignore-extra-categories
parameters toupdate-gitignore
workflow. - Fix usage of default values of reused workflows which are called naked. In which case they're not fed with the default from input's definition.
- Reactivate sponsor auto-tagging workflow now that it has been fixed upstream.
- Update dependencies.
- Replace hard-coded PyPi package link in GitHub release text with dynamic value from Poetry configuration.
- Allow the location of the dependency graph image to be set with the
dependency-graph-output
parameter for reused workflow.
- Fix generation of
pyupgrade
Python version parameter.
- Fix installation of
tomli
dependency for dependency graph generation. - Fix installation of Poetry in Python modernization workflow.
- Add new workflow proposing PRs to modernize Python code for Poetry-based projects.
- Add new workflow to produce dependency graph of Poetry-based project.
- Auto-detect minimal Python version targeted by Poetry projects.
- Add dependency on
pipdeptree
,pyupgrade
andtomli
.
- Fix fetching of new commits in PRs.
- Fix upload of build artifacts in GitHub release.
- Fix use of token for Git tagging.
- Generate list of all new and release commits in the first job of the release workflow.
- Fix regex matching the release commit.
- Refactor release workflow to rely on a new matrix-based multi-commit detection strategy.
- Trigger tagging by monitoring
main
branch commit messages instead ofprepare-release
PR merge event. - Upload build artifacts for each commit.
- Fix addition of PyPi link in GitHub release content.
- Secret token need to be passed explicitly in reused workflow for PyPi publishing.
- Add version in the name of built artifacts.
- Fix detection of Poetry-based projects.
- Remove temporary debug steps.
- Do not trigger debugging and linters on
pull_request
: it duplicates thepush
event. - Skip file-based labeller workflow for dependabot triggered PRs.
- Use PAT token to auto-tag releases.
- Use
actions/checkout
to fetch last 10 commits of PR during release tagging. - Use commit message to identify release commit.
- Hard-code fetching of
main
branch on tagging to identify the release commit. - Attach the release commit to the GitHub release.
- Checkout tag within job to create a new GitHub release instead of relying on
previous job's SHA identification. The latter being different right after it
has been merged in
main
.
- Fix variable name used to attach the tagged commit to new GitHub release.
- Force attachment of new GitHub release to the tagged commit.
- Trigger changelog workflow on any other workflow change to make sure hard-coded versions in URLs are kept in sync.
- Resort to explicit fetching of past commits to identify the first one of the
prepare-release
PR on tagging. - Use
base_ref
variable instead of hard-codingmain
branch in release workflow.
- Force fetching of past 10 commits to identify
prepare-release
PR's first commit. - Do not fetch the final merge commit silently produced by
actions/checkout
for PRs. GetHEAD
instead.
- Fix local
prepare-release
branch name to search for first commit of PR.
- Use
git log
to identify the first commit SHA of theprepare-release
PR.
- Merge the post-release version bump job into
prepare-release
branch creation workflow, the result being a 2 commits PR. - Allow for empty release notes during the generation of a new changelog entry.
- Force
push
andcreate
events to match on tags in release workflow.
- Do not try to fetch build artifacts if the publishing step has been skipped.
- Do not trigger debug workflow on
pull_request
events.
- Always execute the last
github-release
job in the release workflow, even if the project is not Poetry-based. - Catch
create
events so tagging triggers a post-release version bump job.
- Untie
git-tag
andpost-release-version-bump
events. Trigger the later on Git tagging. - Move the detection logic of the
prepare-release
PR merge event to a dedicated job.
- Fix detection of
prepare-release
PR merge event.
- Detect Poetry-based project, then auto-build and publish packages on PyPi on release.
- Always test builds on each commit.
- Add build artifacts to GitHub releases.
- Skip labelling on
prepare-release
branch. - Skip version increment updates on release commits.
- Tighten up changelog job's trigger conditions.
- Fix generation of file-based labelling rules.
- Fix extension of default labelling rules.
- Add a reusable workflow to automatically label issues and PRs depending on changed files.
- Allow extra labelling rules to be specified via custom input.
- Let sponsor labelling workflow to be reused.
- Replace custom version of
julb/action-manage-label
by upstream.
- Checkout repository before syncing labels so local extra definitions can be used.
- Fix download of remote file in label workflow.
- Use my own fork of
julb/action-manage-label
while we wait for upstream fix. - Rename label workflow's
label-files
input variable toextra-label-files
.
- Disable sponsor auto-tagging while we wait for upstream fix.
- Add a reusable workflow to maintain GitHub labels.
- Add a set of default emoji-based labels.
- Add dedicated
changelog
,sponsor
anddependencies
labels. - Update
CI/CD
label icon. - Auto-tag issues and PRs opened by sponsors.
- Allow for sourcing of additional labels when reusing workflow.
- Use more recent
calibreapp/image-actions
action. - Remove unused custom variable for reusable GitHub release job.
- Fix use of GitHub token for workflow auto-updates on release.
- Allow typo autofix job to propose changes in workflow files.
- Let GitHub release produced on tagging to be customized with user's content and uploaded files.
- Expose tagged version from reusable
release
workflow.
- Fix use of the right token for reused
changelog
andrelease
workflows. - Restrict comparison URL steps to source workflow.
- Do not rely on
bumpversion
for comparison URL update on release tagging.
- Only match first occurrence of triple-backticks delimited block text in
changelog.md
inprepare-release
job. Also matches empty line within the block. - Make GitHub changelog URL update more forgiving.
- Skip steps in workflows which are specific to the source repository.
- Aligns all PR content.
- Allow changelog and release workflows to be reusable.
- Factorize version increment jobs.
- Provide tag version for GitHub release creation.
- Chain
post-release-version-bump
job with automatic git tagging. - Auto-commit
post-release-version-bump
results. - Create a GitHub release on tagging.
- Bump YAML linting max line length to 120.
- Auto-tag release after the
prepare-release
PR is merged back intomain
.
- Refresh every day the date in
prepare-release
job. - Skip linting on
prepare-release
job as it does not points to tagged URLs yet. - Reduce changelog PRs refresh rate based on changed files.
- Rely on
create-pull-request
action default to set authorship. - Fix
autofix
workflow reusability.
- Hard-code tagged version for executed Python script.
- Activate debugging workflow on all branches and PRs.
- Allows debug workflow to be reused.
- Add a reusable workflow to fix typos.
- Add a reusable workflow to optimize images.
- Add a reusable workflow to auto-format Python files with isort and Black.
- Add a reusable workflow to auto-format Markdown files with mdformat.
- Add a reusable workflow to auto-format JSON files with
jsonlint
. - Add a reusable workflow to auto-update .gitignore file.
- Add a reusable workflow to auto-update .mailmap file.
- Force retargeting of workflow dependencies to
main
branch on post-release version bump.
- Add autolock reusable workflow for closed issues and PRs.
- Automate changelog and version management.
- Add workflow to create ready-to-use PRs to prepare a release, post-release version bump and minor & major version increments.
- Add a debug workflow to print action context and environment variables.
- Set Pylint failure threshold at 80%.
- Install project with Poetry before calling Pylint if
pyproject.toml
presence is detected. - Hard-code tagged version in requirement URL for reusable workflows.
- Document the release process.
- Initial public release.