ci(release): enhance workflow with PowerShell install instructions
All checks were successful
CI / Test (push) Successful in 30s
CI / Lint (push) Successful in 22s
CI / Build (push) Successful in 20s

- Add PowerShell quick install snippet to release notes body
- Update MIME type detection to include .ps1 files as text/plain
- Remove unnecessary comments from workflow script
This commit is contained in:
Gregory Gauthier 2026-03-30 12:04:39 +01:00
parent c4bc073b35
commit 1c790976ab

View File

@ -46,7 +46,6 @@ jobs:
sha256sum build/grokkit-*.tar.gz | tee build/checksums.txt sha256sum build/grokkit-*.tar.gz | tee build/checksums.txt
cp scripts/grokkit-install.sh build/ cp scripts/grokkit-install.sh build/
cp scripts/grokkit-install.ps1 build/ cp scripts/grokkit-install.ps1 build/
# Clean up raw binaries (keep only tars, checksums, sh)
for plat in 'linux/amd64' 'linux/arm64' 'darwin/amd64' 'darwin/arm64' 'windows/amd64'; do for plat in 'linux/amd64' 'linux/arm64' 'darwin/amd64' 'darwin/arm64' 'windows/amd64'; do
IFS='/' read -r OS ARCH <<< "$plat" IFS='/' read -r OS ARCH <<< "$plat"
BIN="grokkit-${OS}-${ARCH}" BIN="grokkit-${OS}-${ARCH}"
@ -61,20 +60,18 @@ jobs:
run: | run: |
VERSION=${GITHUB_REF#refs/tags/} VERSION=${GITHUB_REF#refs/tags/}
GITEA_API=https://repos.gmgauthier.com/api/v1 GITEA_API=https://repos.gmgauthier.com/api/v1
# Create release
curl -X POST "${GITEA_API}/repos/${GITHUB_REPOSITORY}/releases" \ curl -X POST "${GITEA_API}/repos/${GITHUB_REPOSITORY}/releases" \
-H "Authorization: token ${GITEA_TOKEN}" \ -H "Authorization: token ${GITEA_TOKEN}" \
-H "Content-Type: application/json" \ -H "Content-Type: application/json" \
-d "{\"tag_name\": \"${VERSION}\",\"name\": \"Grokkit ${VERSION}\",\"body\": \"## Quick Install\\n\\n```bash\\ncurl -L https://repos.gmgauthier.com/gmgauthier/grokkit/releases/download/v${VERSION}/grokkit-install.sh | VERSION=${VERSION} bash\\n```\\n\\nAssets include platform binaries (tar.gz), checksums.txt. See CHANGELOG.md.\"}" > release.json -d "{\"tag_name\": \"${VERSION}\",\"name\": \"Grokkit ${VERSION}\",\"body\": \"## Quick Install\\n\\n### Bash (Linux/macOS)\\n\\n```bash\\ncurl -L https://repos.gmgauthier.com/gmgauthier/grokkit/releases/download/v${VERSION}/grokkit-install.sh | VERSION=${VERSION} bash\\n```\\n\\n### PowerShell (Windows/macOS/Linux)\\n\\n```powershell\\nirm https://repos.gmgauthier.com/gmgauthier/grokkit/releases/download/v${VERSION}/grokkit-install.ps1; & .\\grokkit-install.ps1 -Version ${VERSION}\\n```\\n\\nAssets include platform binaries (tar.gz), checksums.txt. See CHANGELOG.md.\"}" > release.json
RELEASE_ID=$(jq .id release.json) RELEASE_ID=$(jq .id release.json)
# Upload assets
for asset in build/* ; do for asset in build/* ; do
name=$(basename "$asset") name=$(basename "$asset")
mime="application/octet-stream" mime="application/octet-stream"
[[ "$name" =~ \.tar\.gz$ ]] && mime="application/gzip" [[ "$name" =~ \.tar\.gz$ ]] && mime="application/gzip"
[[ "$name" =~ \.(txt|sh)$ ]] && mime="text/plain" [[ "$name" =~ \.(txt|sh|ps1)$ ]] && mime="text/plain"
curl -X POST "${GITEA_API}/repos/${GITHUB_REPOSITORY}/releases/${RELEASE_ID}/assets?name=${name}" \ curl -X POST "${GITEA_API}/repos/${GITHUB_REPOSITORY}/releases/${RELEASE_ID}/assets?name=${name}" \
-H "Authorization: token ${GITEA_TOKEN}" \ -H "Authorization: token ${GITEA_TOKEN}" \
-H "Content-Type: ${mime}" \ -H "Content-Type: ${mime}" \
--data-binary "@$asset" --data-binary "@$asset"
done done