The nix runner has no /usr/bin/env, so the '#!/usr/bin/env bash' shebang cannot resolve; invoke the scripts as arguments to bash instead.
46 lines
1.3 KiB
YAML
46 lines
1.3 KiB
YAML
name: release
|
|
|
|
on:
|
|
push:
|
|
tags: ['v*']
|
|
workflow_dispatch:
|
|
|
|
jobs:
|
|
release:
|
|
name: Publish VPM release
|
|
runs-on: nix
|
|
steps:
|
|
- uses: actions/checkout@v4
|
|
with:
|
|
fetch-depth: 0
|
|
|
|
- name: Build Rust core
|
|
run: nix build .#aac --print-build-logs
|
|
|
|
- name: Package VPM zip
|
|
run: nix develop -c bash ./vpm/package.sh
|
|
|
|
- name: Publish release and upload zip
|
|
env:
|
|
TOKEN: ${{ secrets.VPM_TOKEN || secrets.GITHUB_TOKEN }}
|
|
SERVER: ${{ github.server_url }}
|
|
REPO: ${{ github.repository }}
|
|
TAG: ${{ github.ref_name }}
|
|
run: nix develop -c bash ./vpm/publish.sh
|
|
|
|
# The index carries the zip's sha256, which only exists after packaging.
|
|
- name: Commit updated VPM index
|
|
env:
|
|
TOKEN: ${{ secrets.VPM_TOKEN || secrets.GITHUB_TOKEN }}
|
|
SERVER: ${{ github.server_url }}
|
|
REPO: ${{ github.repository }}
|
|
TAG: ${{ github.ref_name }}
|
|
run: |
|
|
set -euo pipefail
|
|
git config user.name gitea-actions
|
|
git config user.email actions@git.scug.io
|
|
git add vpm/index.json
|
|
git diff --cached --quiet && exit 0
|
|
git commit -m "vpm: index for $TAG"
|
|
git push "https://x-access-token:$TOKEN@${SERVER#https://}/${REPO}.git" HEAD:main
|