ci : add nightly-tag.txt to make-release (#27485)
As agreed in ggml discussion #1579, the official semver releases now include a nightly-tag.txt asset containing the tag of the corresponding nightly release (e.g. b10485). The Web UI assets are published to the HF bucket under the nightly tag, so this makes them discoverable for each official release. - make-release-desc.sh: expose the resolved nightly tag as a nightly_tag output - make-release.yml: create nightly-tag.txt from that tag, upload it as a release asset (skipped on dry-run), mention it in the release body and in the dry-run summary Assisted-by: pi:llama.cpp/Qwen3.8-27B
This commit is contained in:
@@ -55,6 +55,20 @@ jobs:
|
|||||||
env:
|
env:
|
||||||
GITHUB_REPOSITORY: ${{ github.repository }}
|
GITHUB_REPOSITORY: ${{ github.repository }}
|
||||||
|
|
||||||
|
- name: Create nightly-tag.txt
|
||||||
|
id: nightly_tag_file
|
||||||
|
run: |
|
||||||
|
NIGHTLY_TAG="${{ steps.desc.outputs.nightly_tag }}"
|
||||||
|
if [[ -z "${NIGHTLY_TAG}" ]]; then
|
||||||
|
echo "Warning: no nightly tag found for the release commit - nightly-tag.txt will not be created"
|
||||||
|
echo "create=false" >> "$GITHUB_OUTPUT"
|
||||||
|
exit 0
|
||||||
|
fi
|
||||||
|
echo "${NIGHTLY_TAG}" > nightly-tag.txt
|
||||||
|
echo "create=true" >> "$GITHUB_OUTPUT"
|
||||||
|
echo "nightly-tag.txt:"
|
||||||
|
cat nightly-tag.txt
|
||||||
|
|
||||||
- name: Create release
|
- name: Create release
|
||||||
if: ${{ github.event.inputs.dry_run == 'false' }}
|
if: ${{ github.event.inputs.dry_run == 'false' }}
|
||||||
uses: ggml-org/action-create-release@v1
|
uses: ggml-org/action-create-release@v1
|
||||||
@@ -70,18 +84,41 @@ jobs:
|
|||||||
New version has been released.
|
New version has been released.
|
||||||
|
|
||||||
${{ steps.desc.outputs.nightly }}
|
${{ steps.desc.outputs.nightly }}
|
||||||
|
|
||||||
|
**Web UI:** the `nightly-tag.txt` asset contains the tag of the corresponding nightly release
|
||||||
|
|
||||||
**More info:** [dist : releases and versioning of ggml-org projects](https://github.com/ggml-org/ggml/discussions/1579)
|
**More info:** [dist : releases and versioning of ggml-org projects](https://github.com/ggml-org/ggml/discussions/1579)
|
||||||
|
|
||||||
## ${{ steps.desc.outputs.changelog_title }}
|
## ${{ steps.desc.outputs.changelog_title }}
|
||||||
|
|
||||||
${{ steps.desc.outputs.changelog }}
|
${{ steps.desc.outputs.changelog }}
|
||||||
|
|
||||||
|
- name: Upload nightly-tag.txt
|
||||||
|
if: ${{ github.event.inputs.dry_run == 'false' && steps.nightly_tag_file.outputs.create == 'true' }}
|
||||||
|
uses: actions/github-script@v8
|
||||||
|
with:
|
||||||
|
github-token: ${{secrets.GITHUB_TOKEN}}
|
||||||
|
script: |
|
||||||
|
const fs = require('fs');
|
||||||
|
const release_id = '${{ steps.create_release.outputs.id }}';
|
||||||
|
console.log('uploadReleaseAsset', 'nightly-tag.txt');
|
||||||
|
await github.rest.repos.uploadReleaseAsset({
|
||||||
|
owner: context.repo.owner,
|
||||||
|
repo: context.repo.repo,
|
||||||
|
release_id: release_id,
|
||||||
|
name: 'nightly-tag.txt',
|
||||||
|
data: await fs.readFileSync('./nightly-tag.txt')
|
||||||
|
});
|
||||||
|
|
||||||
- name: Dry run summary
|
- name: Dry run summary
|
||||||
if: ${{ github.event.inputs.dry_run == 'true' }}
|
if: ${{ github.event.inputs.dry_run == 'true' }}
|
||||||
run: |
|
run: |
|
||||||
if [[ "${{ steps.checks.outputs.checks_passed }}" == "true" ]]; then
|
if [[ "${{ steps.checks.outputs.checks_passed }}" == "true" ]]; then
|
||||||
echo "Dry run complete - all checks passed."
|
echo "Dry run complete - all checks passed."
|
||||||
echo "Would have created tag: ${{ steps.checks.outputs.version }}"
|
echo "Would have created tag: ${{ steps.checks.outputs.version }}"
|
||||||
|
if [[ -n "${{ steps.desc.outputs.nightly_tag }}" ]]; then
|
||||||
|
echo "Would have uploaded nightly-tag.txt: ${{ steps.desc.outputs.nightly_tag }}"
|
||||||
|
fi
|
||||||
else
|
else
|
||||||
echo "::error::Dry run found release check failures. A release tag would not be created."
|
echo "::error::Dry run found release check failures. A release tag would not be created."
|
||||||
exit 1
|
exit 1
|
||||||
|
|||||||
@@ -15,7 +15,8 @@
|
|||||||
# tag exists.
|
# tag exists.
|
||||||
#
|
#
|
||||||
# Env (when running in GitHub Actions):
|
# Env (when running in GitHub Actions):
|
||||||
# GITHUB_OUTPUT: previous_tag, changelog_title, changelog and nightly are written here
|
# GITHUB_OUTPUT: previous_tag, changelog_title, changelog, nightly and nightly_tag
|
||||||
|
# are written here
|
||||||
# GITHUB_REPOSITORY: owner/repo, used to build the nightly release URL (skipped when unset)
|
# GITHUB_REPOSITORY: owner/repo, used to build the nightly release URL (skipped when unset)
|
||||||
set -euo pipefail
|
set -euo pipefail
|
||||||
|
|
||||||
@@ -80,6 +81,7 @@ if [[ -n "${GITHUB_OUTPUT:-}" ]]; then
|
|||||||
echo "previous_tag=${PREV}"
|
echo "previous_tag=${PREV}"
|
||||||
echo "changelog_title=${CHANGELOG_TITLE}"
|
echo "changelog_title=${CHANGELOG_TITLE}"
|
||||||
echo "nightly=${NIGHTLY}"
|
echo "nightly=${NIGHTLY}"
|
||||||
|
echo "nightly_tag=${NIGHTLY_TAG}"
|
||||||
echo "changelog<<CHANGELOG_EOF"
|
echo "changelog<<CHANGELOG_EOF"
|
||||||
echo "${CHANGELOG}"
|
echo "${CHANGELOG}"
|
||||||
echo "CHANGELOG_EOF"
|
echo "CHANGELOG_EOF"
|
||||||
|
|||||||
Reference in New Issue
Block a user