Files
github-action/.gitea/workflows/release.yml
Tirsvad 27abd226c4
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
Add the release workflow and its script
Task: MIL-004#5
2026-10-10 23:01:30 +08:00

42 lines
1.4 KiB
YAML

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