auto-changie/README.md

1.7 KiB

auto-changie

Github action to run changie and generate changelog with automatic numbering

How it works

These are the step done by this composite action :

  • Setup node with inputs.node-version
  • Setup changie cli through npm with inputs.changie-version
  • Initialize changie subtree if not already exist (base on .changie.yaml existance)
  • Retrieve all commit since last commit contained in last changie release version's file, or since beginning if not release have been done yet.
  • Create a changie entry of type Changed for each commit of previous step
  • Batch all change in a new automatic version
  • Merge all version and update global CHANGELOG.md file

Usage example

name: Changelog generator

on:
  push:
    branches:
      - main
      - master

jobs:
  build:
    if: "contains(github.event.head_commit.message, vars.SKIP_CI_PREFIX) != true"
    steps:
      - uses: action/checkout@<latest_tag>
        with:
          fetch-depth: 0
          fetch-tags: false
          
      # ... do some CI habitual stuff
          
      - uses: https://antoine-roux.tk/projects/actions/auto-changie@<latest_tag>

      - name: Push changelog
        uses: stefanzweifel/git-auto-commit-action@<latest_tag>
        with:
          commit_message: "${{ vars.SKIP_CI_PREFIX }} Push updated changelog"
          file_pattern: "\\.changes/* CHANGELOG.md .changie.yaml"

This pipeline clone code update changelog with auto-changie and push it to main thanks to git-auto-commit-action.

Notice the use of fetch-depth: 0 should be set. Indeed without this not all commit are retrieve and auto-changie fail to find all commit updated since previous run.