mirror of
https://github.com/Anon-Planet/thgtoa.git
synced 2026-06-11 00:02:29 +02:00
ede2a53437
- release.yml now generates release-YYYYMMDD-<sha> tags automatically - changelog.yml requires explicit version input, no auto-increment from tags - sign.yml normalises extensions to .asc and .b2sum - build-sign-release.yml neutered to a no-op with descriptive error - tag_release.py archived to scripts/archived/ - update_changelog.py: version_from_changelog() is now primary version source - .gitignore: fix export/ tracking to match actual file extensions - docs/code/develop.md: fully rewritten to reflect new manual four-step flow
59 lines
1.9 KiB
YAML
59 lines
1.9 KiB
YAML
name: 📝 Update Changelog
|
|
|
|
# Manual only — run after a release is published. Provide the exact version
|
|
# string (e.g. v1.2.4) to prepend to the changelog. Version is required to
|
|
# prevent silent auto-increment drift from release tags.
|
|
on:
|
|
workflow_dispatch:
|
|
inputs:
|
|
version:
|
|
description: 'Version string to record (e.g. v1.2.4) — required'
|
|
required: true
|
|
type: string
|
|
dry_run:
|
|
description: 'Dry run — print entry without committing'
|
|
required: false
|
|
default: false
|
|
type: boolean
|
|
|
|
permissions:
|
|
contents: write # commit changelog back to main
|
|
|
|
jobs:
|
|
changelog:
|
|
name: Prepend changelog entry
|
|
runs-on: ubuntu-latest
|
|
|
|
steps:
|
|
- name: 🛠️ Checkout
|
|
uses: actions/checkout@v4
|
|
with:
|
|
# Use a PAT so the commit triggers downstream workflows (GITHUB_TOKEN won't)
|
|
token: ${{ secrets.CHANGELOG_PAT || secrets.GITHUB_TOKEN }}
|
|
fetch-depth: 0
|
|
|
|
- name: 🐍 Set up Python
|
|
uses: actions/setup-python@v5
|
|
with:
|
|
python-version: "3.13"
|
|
|
|
- name: 📝 Generate and prepend changelog entry
|
|
env:
|
|
DRY_RUN: ${{ inputs.dry_run || 'false' }}
|
|
MANUAL_VERSION: ${{ inputs.version }}
|
|
GH_SHA: ${{ github.sha }}
|
|
GH_REF: ${{ github.ref_name }}
|
|
TRIGGERING_SHA: ${{ github.event.workflow_run.head_sha || github.sha }}
|
|
run: python scripts/update_changelog.py
|
|
|
|
- name: 📤 Commit changelog
|
|
if: ${{ inputs.dry_run != 'true' }}
|
|
run: |
|
|
git config user.name "github-actions[bot]"
|
|
git config user.email "github-actions[bot]@users.noreply.github.com"
|
|
git add docs/changelog/index.md
|
|
# Only commit if there's actually a change
|
|
git diff --cached --quiet && echo "No changelog change to commit." || \
|
|
git commit -m "docs: update changelog [skip ci]"
|
|
git push
|