- Introduces a composite GitHub Action to automate the generation of Debian-compatible changelogs using git-cliff. - Provides configurable inputs for tag, package details, author info, and output file. - Includes default configurations and scripts for installation and changelog generation.
53 lines
1.5 KiB
YAML
53 lines
1.5 KiB
YAML
name: Auto Debian Package Changelog Generation
|
|
description: "One-stop composite action for generating a Debian-compatible changelog using git-cliff"
|
|
|
|
inputs:
|
|
tag:
|
|
description: "Git tag"
|
|
required: true
|
|
package_name:
|
|
description: "Package name"
|
|
required: true
|
|
author_name:
|
|
description: "Package author name"
|
|
required: true
|
|
author_email:
|
|
description: "Package author email"
|
|
required: true
|
|
output_file:
|
|
description: "Output file for the changelog"
|
|
required: false
|
|
default: "debian/changelog"
|
|
cliff_config:
|
|
description: "Path to the Git-Cliff configuration file"
|
|
required: false
|
|
default: ""
|
|
|
|
runs:
|
|
using: "composite"
|
|
steps:
|
|
# 1) Install git-cliff (latest, default arch)
|
|
- name: Install git-cliff
|
|
shell: bash
|
|
run: |
|
|
bash "${{ github.action_path }}/scripts/install-git-cliff.sh"
|
|
|
|
# 2) Generate changelog
|
|
- name: Generate Debian changelog
|
|
shell: bash
|
|
env:
|
|
PACKAGE_NAME: ${{ inputs.package_name }}
|
|
AUTHOR_NAME: ${{ inputs.author_name }}
|
|
AUTHOR_EMAIL: ${{ inputs.author_email }}
|
|
run: |
|
|
# Select config: user-provided or default within the action
|
|
CONFIG_PATH="${{ inputs.cliff_config }}"
|
|
if [[ -z "$CONFIG_PATH" ]]; then
|
|
CONFIG_PATH="${{ github.action_path }}/configs/cliff.debian.toml"
|
|
fi
|
|
|
|
bash "${{ github.action_path }}/scripts/generate-changelog.sh" \
|
|
-c "$CONFIG_PATH" \
|
|
-t "${{ inputs.tag }}" \
|
|
-o "${{ inputs.output_file }}"
|