Add release workflow and release script for Homebrew delivery

This commit is contained in:
2026-08-11 10:28:44 +08:00
parent 9555ec7952
commit 95c037f0fe
2 changed files with 54 additions and 0 deletions
+33
View File
@@ -0,0 +1,33 @@
name: Release
on:
push:
tags:
- "v*"
permissions:
contents: write
jobs:
build:
runs-on: macos-15
steps:
- uses: actions/checkout@v4
- name: Unlock keychain for signing
run: security unlock-keychain -p "" ~/Library/Keychains/login.keychain-db 2>/dev/null || true
- name: Build and package
run: |
./build-app.sh
mkdir -p dist
ditto -c -k --keepParent Kapture.app dist/Kapture.zip
shasum -a 256 dist/Kapture.zip
- name: Create GitHub release
env:
GH_TOKEN: ${{ github.token }}
run: |
gh release create "${{ github.ref_name }}" dist/Kapture.zip \
--title "${{ github.ref_name }}" \
--generate-notes
+21
View File
@@ -0,0 +1,21 @@
#!/bin/bash
set -euo pipefail
cd "$(dirname "$0")"
if [ "$#" -ne 1 ]; then
echo "usage: $0 <version> e.g. ./release.sh 1.0.1" >&2
exit 1
fi
VERSION="$1"
./build-app.sh
mkdir -p dist
rm -f dist/Kapture.zip
ditto -c -k --keepParent Kapture.app dist/Kapture.zip
shasum -a 256 dist/Kapture.zip
echo
echo "Tag and release with:"
echo " git tag v$VERSION && git push origin v$VERSION"
echo "The GitHub Actions release workflow will upload dist/Kapture.zip automatically."