JuliaRegisterChangelog is a reusable GitHub Workflow for Julia packages that automates the process of generating a changelog using Conventional Commits and registering a new version of a Julia package with JuliaRegistrator.
This workflow is triggered in two scenarios:
- On Push: The action checks if the
versionfield inProject.tomlhas changed. - On Manual Dispatch: The action runs unconditionally, generating a changelog and commenting the latest commit (useful in case the registering process fails or you want to manually trigger it again).
Create a workflow file at .github/workflows/JuliaRegisterChangelog.yml with the following contents:
name: Auto-Changelog & Julia Register
on:
workflow_dispatch:
push:
paths:
- Project.toml
jobs:
release:
runs-on: ubuntu-latest
steps:
- uses: alex180500/JuliaRegisterChangelog@latest
with:
github_token: ${{ secrets.GITHUB_TOKEN }}Check that workflows have the correct permissions on your repo.
The process consists of:
- Detect
Project.tomlversion bumps following Julia's own SemVer conventions. - Check if the version has changed since the last commit and proceed only if it has.
- Generate a changelog automatically using Conventional Commits and conventional-changelog.
- Trigger JuliaRegistrator commenting on the latest commit to register the package and correctly formats the changelog.
This package is distributed under Apache-2.0 License. This means that you can use the code freely for academic, personal, or commercial purposes! If you use my code extensively, I would greatly appreciate if you could credit me by linking my GitHub profile @alex180500 or just reference me in any way.
