mirror of
https://github.com/moku-project/Moku.git
synced 2026-06-13 01:09:56 -05:00
52 lines
1.6 KiB
YAML
52 lines
1.6 KiB
YAML
name: Build Static WebUI
|
|
|
|
on:
|
|
workflow_dispatch:
|
|
inputs:
|
|
version:
|
|
description: "Version to build (e.g. 0.9.0)"
|
|
required: true
|
|
|
|
permissions:
|
|
contents: write
|
|
|
|
jobs:
|
|
build:
|
|
name: Build static frontend
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- uses: actions/checkout@v4
|
|
- uses: pnpm/action-setup@v4
|
|
with: { version: latest }
|
|
- uses: actions/setup-node@v4
|
|
with:
|
|
node-version: 22
|
|
cache: pnpm
|
|
|
|
- run: pnpm install --frozen-lockfile
|
|
- run: pnpm build:static
|
|
|
|
- name: Zip static build
|
|
run: |
|
|
cd dist
|
|
zip -r "../moku-webui-${{ github.event.inputs.version }}.zip" .
|
|
|
|
- name: Upload WebUI artifact to release
|
|
env:
|
|
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
|
run: |
|
|
for i in $(seq 1 12); do
|
|
RELEASE_ID=$(curl -s -H "Authorization: Bearer $GITHUB_TOKEN" \
|
|
"https://api.github.com/repos/moku-project/Moku/releases" \
|
|
| jq -r '.[] | select(.tag_name == "v${{ github.event.inputs.version }}") | .id' | head -1)
|
|
[ -n "$RELEASE_ID" ] && break
|
|
echo "Waiting for release... attempt $i"; sleep 15
|
|
done
|
|
[ -z "$RELEASE_ID" ] && { echo "ERROR: release not found"; exit 1; }
|
|
|
|
curl -s -X POST \
|
|
-H "Authorization: Bearer $GITHUB_TOKEN" \
|
|
-H "Content-Type: application/zip" \
|
|
--data-binary @"moku-webui-${{ github.event.inputs.version }}.zip" \
|
|
"https://uploads.github.com/repos/moku-project/Moku/releases/$RELEASE_ID/assets?name=moku-webui-${{ github.event.inputs.version }}.zip"
|