mirror of
https://github.com/LostRuins/koboldcpp.git
synced 2026-08-25 22:21:14 +02:00
7c35571e5d
* ci : allow make-release to target a specific commit The make-release workflow now accepts an optional 'commit' input. When set, that commit is checked out and the release checks verify that it belongs to the branch selected in the "Run workflow" dialog and is not older than 3 days from the branch tip. The check is part of make-release-checks.sh (driven by the RELEASE_BRANCH env), so it follows the same dry-run semantics as the other checks. Assisted-by: pi:llama.cpp/Qwen3.8-27B * cont : scan latest 100 relase workflow runs * cont : do not check manually for release.yml success
62 lines
1.9 KiB
YAML
62 lines
1.9 KiB
YAML
name: Make Release
|
|
|
|
on:
|
|
workflow_dispatch:
|
|
inputs:
|
|
commit:
|
|
description: 'Commit SHA to release (empty = branch HEAD)'
|
|
required: false
|
|
default: ''
|
|
type: string
|
|
dry_run:
|
|
description: 'Dry run - validate without creating the tag'
|
|
required: true
|
|
type: boolean
|
|
default: true
|
|
|
|
env:
|
|
GH_TOKEN: ${{ github.token }}
|
|
|
|
permissions:
|
|
contents: write
|
|
|
|
jobs:
|
|
make-release:
|
|
runs-on: ubuntu-latest
|
|
|
|
steps:
|
|
- name: Checkout
|
|
uses: actions/checkout@v6
|
|
with:
|
|
ssh-key: ${{ secrets.DEPLOY_KEY_RELEASE }}
|
|
ref: ${{ inputs.commit != '' && inputs.commit || github.ref_name }}
|
|
fetch-depth: 0
|
|
|
|
- name: Run release checks
|
|
id: checks
|
|
run: bash scripts/make-release-checks.sh ${{ github.event.inputs.dry_run == 'true' && '--dry-run' || '' }}
|
|
env:
|
|
GITHUB_REPOSITORY: ${{ github.repository }}
|
|
RELEASE_BRANCH: ${{ github.ref_name }}
|
|
|
|
- name: Create release tag
|
|
if: ${{ github.event.inputs.dry_run == 'false' }}
|
|
run: |
|
|
VERSION="${{ steps.checks.outputs.version }}"
|
|
git config user.name "github-actions[bot]"
|
|
git config user.email "github-actions[bot]@users.noreply.github.com"
|
|
git tag -a "${VERSION}" -m "Release ${VERSION}"
|
|
git push origin "${VERSION}"
|
|
echo "Created and pushed tag ${VERSION}"
|
|
|
|
- name: Dry run summary
|
|
if: ${{ github.event.inputs.dry_run == 'true' }}
|
|
run: |
|
|
if [[ "${{ steps.checks.outputs.checks_passed }}" == "true" ]]; then
|
|
echo "Dry run complete - all checks passed."
|
|
echo "Would have created tag: ${{ steps.checks.outputs.version }}"
|
|
else
|
|
echo "::error::Dry run found release check failures. A release tag would not be created."
|
|
exit 1
|
|
fi
|