Skip to content

Automatic changelog and registering of a Julia package using Conventional Commits and JuliaRegistrator

License

Notifications You must be signed in to change notification settings

alex180500/JuliaRegisterChangelog

Use this GitHub action with your project
Add this Action to an existing workflow or create a new one
View on Marketplace

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

10 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Auto-Changelog & Julia Register Action

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 version field in Project.toml has 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).

Usage

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.

How It Works

The process consists of:

  1. Detect Project.tomlversion bumps following Julia's own SemVer conventions.
  2. Check if the version has changed since the last commit and proceed only if it has.
  3. Generate a changelog automatically using Conventional Commits and conventional-changelog.
  4. Trigger JuliaRegistrator commenting on the latest commit to register the package and correctly formats the changelog.

License

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.

About

Automatic changelog and registering of a Julia package using Conventional Commits and JuliaRegistrator

Topics

Resources

License

Stars

Watchers

Forks