64 lines
2.0 KiB
YAML
64 lines
2.0 KiB
YAML
# Release Tag Version:計算版本號、建立 Gitea release/tag,並清理舊成品。
|
||
# 更新日期:2026/06/26 11:10:00(Asia/Taipei)
|
||
|
||
name: 'Release Tag Version'
|
||
description: '釋出並標註成品版本'
|
||
author: 'Jeffery'
|
||
|
||
inputs:
|
||
files:
|
||
description: '要釋出的成品檔案路徑或 glob'
|
||
required: false
|
||
is_debug:
|
||
description: '是否產生測試標籤版本'
|
||
required: false
|
||
default: 'false'
|
||
|
||
outputs:
|
||
version:
|
||
description: '本次釋出的版本號'
|
||
value: ${{ steps.calculate-version.outputs.version }}
|
||
|
||
runs:
|
||
using: 'composite'
|
||
steps:
|
||
- name: 版本號計算
|
||
id: calculate-version
|
||
uses: https://gitea.jsc.idv.tw/docker-actions/calculate-version@${{ vars.ACTION_CALCULATE_VERSION }}
|
||
with:
|
||
is_debug: ${{ inputs.is_debug }}
|
||
|
||
- name: 組合釋出參數
|
||
id: release-params
|
||
if: ${{ steps.calculate-version.outputs.version != '' }}
|
||
run: |
|
||
repository="${{ gitea.repository }}"
|
||
version_value="${{ steps.calculate-version.outputs.version }}"
|
||
|
||
if [[ ! "$version_value" =~ ^[0-9]+(\.[0-9]+)*([._-][0-9A-Za-z]+)*$ ]]; then
|
||
echo "version-calculate output version has invalid format: ${version_value}" >&2
|
||
exit 1
|
||
fi
|
||
|
||
echo "name=${repository##*/} v${version_value}" >> "$GITHUB_OUTPUT"
|
||
echo "tag_name=v${version_value}" >> "$GITHUB_OUTPUT"
|
||
shell: bash
|
||
|
||
- name: 檢查版本號輸出
|
||
if: ${{ steps.calculate-version.outputs.version == '' }}
|
||
run: |
|
||
echo "version-calculate output version is empty" >&2
|
||
exit 1
|
||
shell: bash
|
||
|
||
- name: 釋出並標註成品版本
|
||
uses: akkuman/gitea-release-action@${{ vars.ACTION_GITEA_RELEASE_VERSION }}
|
||
with:
|
||
name: ${{ steps.release-params.outputs.name }}
|
||
tag_name: ${{ steps.release-params.outputs.tag_name }}
|
||
target_commitish: ${{ gitea.sha }}
|
||
files: ${{ inputs.files }}
|
||
|
||
- name: 清理舊成品
|
||
uses: https://gitea.jsc.idv.tw/docker-actions/release-cleanup@${{ vars.ACTION_RELEASE_CLEANUP_VERSION }}
|