Files
Toju/.gitea/workflows/release-draft.yml
SocksOnHead a5f9ca55ff
Some checks failed
Queue Release Build / release (push) Failing after 38s
Update .gitea/workflows/release-draft.yml
2026-03-10 23:45:00 +00:00

102 lines
3.2 KiB
YAML

name: Queue Release Build
on:
push:
branches: [main, master]
workflow_dispatch:
jobs:
release:
runs-on: windows
defaults:
run:
shell: powershell
env:
# Map your secret RELEASE_TOKEN to GITEA_RELEASE_TOKEN for the script
GITEA_RELEASE_TOKEN: ${{ secrets.RELEASE_TOKEN }}
steps:
- name: Checkout repository
uses: https://github.com/actions/checkout@v4
- name: Verify Node
run: |
node -v
npm -v
- name: Install dependencies
run: |
npm ci
npm install --prefix server
- name: Resolve release version
id: version
run: |
$output = node tools/resolve-release-version.js --write-output
echo "release_version=$($output)" >> $env:GITHUB_OUTPUT
echo "release_tag=v$($output)" >> $env:GITHUB_OUTPUT
echo "release_name=Release $($output)" >> $env:GITHUB_OUTPUT
- name: Ensure draft release exists
id: release
run: >
node tools/gitea-release.js ensure-draft
--token "${{ env.GITEA_RELEASE_TOKEN }}"
--server-url "${{ github.server_url }}"
--repository "${{ github.repository }}"
--tag "${{ steps.version.outputs.release_tag }}"
--target "${{ github.sha }}"
--name "${{ steps.version.outputs.release_name }}"
--body "Automated draft release from ${{ github.ref_name }} @ ${{ github.sha }}"
--write-output
- name: Set CI release version
run: |
node tools/set-release-version.js --version "${{ steps.version.outputs.release_version }}"
- name: Build Linux assets
run: |
npx ng build --configuration production --base-href='./'
npx ng build electron
cd server; npm run build
cd ..
# Electron-builder Linux build
electron-builder --linux
- name: Build Windows assets
run: |
npx ng build --configuration production --base-href='./'
npx ng build electron
cd server; npm run build
cd ..
# Electron-builder Windows build
electron-builder --win
- name: Download previous manifest (if exists)
run: |
node tools/gitea-release.js download-latest-manifest
--server-url "${{ github.server_url }}"
--repository "${{ github.repository }}"
--output dist-electron/release-manifest.previous.json
--allow-missing
- name: Generate release manifest
run: |
node tools/generate-release-manifest.js
--existing dist-electron/release-manifest.previous.json
--manifest dist-electron/release-manifest.json
--feed-url "${{ steps.release.outputs.release_download_url }}"
--version "${{ steps.version.outputs.release_version }}"
- name: Upload all assets to draft release
run: |
node tools/gitea-release.js upload-built-assets
--server-url "${{ github.server_url }}"
--repository "${{ github.repository }}"
--release-id "${{ steps.release.outputs.release_id }}"
--dist-electron dist-electron
--dist-server dist-server