Add the release workflow and its script
TirSystem/github-action: Publish wiki / publish-wiki (push) Skipped
TirSystem/github-action: Sync GitHub mirror metadata / sync-metadata (push) Skipped
Validate workflows / validate (pull_request) Successful in 15s

Task: MIL-004#5
This commit is contained in:
2026-10-10 23:01:30 +08:00
parent 9ccefa5e3b
commit 27abd226c4
9 changed files with 523 additions and 13 deletions
+41
View File
@@ -0,0 +1,41 @@
name: Release
# Releases this repository (ADR-0006, ADR-0007, MIL-004 task 5). It is started
# by hand with the version to release; it creates the version tag, the release
# page from the changelog entry and moves the major tag, and only when the
# commit is the tip of main, its validation run is green and the changelog has
# an entry for the version. dry_run defaults to true: it checks and prints and
# writes nothing, so a release is a deliberate second run with dry_run false.
on:
workflow_dispatch:
inputs:
version:
description: "Version to release, MAJOR.MINOR.PATCH without a leading v"
required: true
dry_run:
description: "true checks only; false creates the tag, the release page and the major tag"
required: false
default: "true"
concurrency:
group: release
cancel-in-progress: false
jobs:
release:
permissions:
contents: write
runs-on: ubuntu-latest
steps:
- name: Check out the repository
uses: actions/checkout@v4
- name: Check and publish the release
env:
GITEA_API_URL: ${{ gitea.api_url }}
SOURCE_REPOSITORY: ${{ gitea.repository }}
RELEASE_CREDENTIALS: ${{ secrets.TOKEN_FOR_GITEA_RELEASE || github.token }}
RELEASE_VERSION: ${{ inputs.version }}
RELEASE_DRY_RUN: ${{ inputs.dry_run }}
RELEASE_SHA: ${{ gitea.sha }}
run: python3 tools/release.py