ci: target self-hosted linux runner, comment out windows job until runner added
Some checks failed
Build Dragon Wind Desktop / Linux (AppImage) (push) Failing after 8s
Build Dragon Wind Desktop / Create Release (push) Failing after 0s

This commit is contained in:
Zac Gaetano 2026-04-06 23:28:25 -04:00
parent fc1109e2fb
commit 5ffbad3c65

View file

@ -1,5 +1,10 @@
name: Build Dragon Wind Desktop name: Build Dragon Wind Desktop
# Runs on every push to main and on version tags.
# Self-hosted runner (TrueNAS) handles Linux builds.
# Windows .exe is built via manual trigger on a Windows machine,
# or by adding a Windows runner in future.
on: on:
push: push:
branches: [main] branches: [main]
@ -10,73 +15,15 @@ on:
workflow_dispatch: # allow manual trigger from Forgejo UI workflow_dispatch: # allow manual trigger from Forgejo UI
jobs: jobs:
# ── Windows .exe ──────────────────────────────────────────────────────────── # ── Linux AppImage (self-hosted TrueNAS runner) ───────────────────────────
build-windows:
name: Windows (.exe)
runs-on: windows-latest
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Set up Node.js
uses: actions/setup-node@v4
with:
node-version: '20'
cache: 'npm'
- name: Install dependencies
run: npm ci
- name: Build Windows installer
run: npm run build:win
env:
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- name: Upload .exe artifact
uses: actions/upload-artifact@v4
with:
name: dragon-wind-windows
path: dist/*.exe
retention-days: 30
# ── macOS .dmg ──────────────────────────────────────────────────────────────
build-mac:
name: macOS (.dmg)
runs-on: macos-latest
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Set up Node.js
uses: actions/setup-node@v4
with:
node-version: '20'
cache: 'npm'
- name: Install dependencies
run: npm ci
- name: Build macOS DMG
run: npm run build:mac
env:
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- name: Upload .dmg artifact
uses: actions/upload-artifact@v4
with:
name: dragon-wind-mac
path: dist/*.dmg
retention-days: 30
# ── Linux AppImage ───────────────────────────────────────────────────────────
build-linux: build-linux:
name: Linux (AppImage) name: Linux (AppImage)
runs-on: ubuntu-latest runs-on: ubuntu-latest # matched by truenas-runner label
steps: steps:
- name: Checkout - name: Checkout
uses: actions/checkout@v4 uses: actions/checkout@v4
- name: Set up Node.js - name: Set up Node.js 20
uses: actions/setup-node@v4 uses: actions/setup-node@v4
with: with:
node-version: '20' node-version: '20'
@ -85,25 +32,52 @@ jobs:
- name: Install dependencies - name: Install dependencies
run: npm ci run: npm ci
- name: Install Linux build deps - name: Install Linux native deps
run: sudo apt-get install -y libgtk-3-dev libnotify-dev libnss3 libxss1 run: |
apt-get update -qq
apt-get install -y --no-install-recommends \
libgtk-3-dev libnotify-dev libnss3 libxss1 \
libgbm-dev libasound2-dev
- name: Build Linux AppImage - name: Build Linux AppImage
run: npm run build:linux run: npm run build:linux
env: env:
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} # electron-builder needs this so it doesn't try to notarise
CSC_IDENTITY_AUTO_DISCOVERY: false
- name: Upload AppImage artifact - name: Upload AppImage artifact
uses: actions/upload-artifact@v4 uses: actions/upload-artifact@v4
with: with:
name: dragon-wind-linux name: dragon-wind-linux-${{ github.sha }}
path: dist/*.AppImage path: dist/*.AppImage
retention-days: 30 retention-days: 30
# ── Release (on tag push) ──────────────────────────────────────────────────── # ── Windows .exe (NOTE: needs a Windows runner) ───────────────────────────
# To enable this job:
# 1. Set up a Windows machine with the Forgejo runner agent
# 2. Register it with label: windows-latest
# Then uncomment this job.
#
# build-windows:
# name: Windows (.exe)
# runs-on: windows-latest
# steps:
# - uses: actions/checkout@v4
# - uses: actions/setup-node@v4
# with: { node-version: '20', cache: 'npm' }
# - run: npm ci
# - run: npm run build:win
# env: { GH_TOKEN: "${{ secrets.GITHUB_TOKEN }}" }
# - uses: actions/upload-artifact@v4
# with:
# name: dragon-wind-windows-${{ github.sha }}
# path: dist/*.exe
# retention-days: 30
# ── Release (on tag push only) ────────────────────────────────────────────
release: release:
name: Create Release name: Create Release
needs: [build-windows, build-mac, build-linux] needs: [build-linux]
runs-on: ubuntu-latest runs-on: ubuntu-latest
if: startsWith(github.ref, 'refs/tags/v') if: startsWith(github.ref, 'refs/tags/v')
steps: steps:
@ -112,6 +86,9 @@ jobs:
with: with:
path: artifacts/ path: artifacts/
- name: List artifacts
run: find artifacts/ -type f
- name: Create Forgejo Release - name: Create Forgejo Release
uses: https://code.forgejo.org/forgejo/release-action@v1 uses: https://code.forgejo.org/forgejo/release-action@v1
with: with: