Files
layonara-forge/.gitea/workflows/release.yml
T
plenarius a6aba24d78
Build & Release / build-linux-win (push) Failing after 2m34s
fix: use electron-builder Wine image, disable code signing
- Runner now uses electronuserland/builder:20-wine which has Node 20,
  Wine, and all build tools pre-installed
- Removed manual Wine/Node setup steps from workflow
- Disabled Windows code signing (no certificate available)
- Simplified workflow to: checkout -> npm ci -> build -> package -> release
2026-04-21 13:01:10 -04:00

54 lines
1.7 KiB
YAML

name: Build & Release
on:
push:
tags:
- "v*"
jobs:
build-linux-win:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
with:
submodules: true
- name: Install dependencies
run: npm ci
- name: Build backend + frontend + electron
run: npm run build:all
- name: Build Linux AppImage
run: npx electron-builder --linux --publish never
- name: Build Windows Installer
run: npx electron-builder --win --publish never
env:
WIN_CSC_LINK: ""
WIN_CSC_KEY_PASSWORD: ""
- name: Create Gitea Release and upload assets
run: |
TAG="${GITHUB_REF#refs/tags/}"
RELEASE=$(curl -s -X POST \
-H "Authorization: token ${GITEA_TOKEN}" \
-H "Content-Type: application/json" \
"${GITHUB_SERVER_URL}/api/v1/repos/${GITHUB_REPOSITORY}/releases" \
-d "{\"tag_name\": \"${TAG}\", \"name\": \"Layonara Forge ${TAG}\", \"draft\": false, \"prerelease\": false}")
RELEASE_ID=$(echo "$RELEASE" | python3 -c "import json,sys; print(json.load(sys.stdin)['id'])")
for file in release/*.exe release/*.AppImage release/latest*.yml; do
[ -f "$file" ] || continue
BASENAME=$(basename "$file")
echo "Uploading $BASENAME..."
curl -s -X POST \
-H "Authorization: token ${GITEA_TOKEN}" \
-F "attachment=@${file};filename=${BASENAME}" \
"${GITHUB_SERVER_URL}/api/v1/repos/${GITHUB_REPOSITORY}/releases/${RELEASE_ID}/assets"
done
env:
GITEA_TOKEN: ${{ secrets.RELEASE_TOKEN }}