72 lines
1.8 KiB
YAML
72 lines
1.8 KiB
YAML
name: Build Linux Desktop Test Artifact
|
|
|
|
"on":
|
|
push:
|
|
branches:
|
|
- test
|
|
paths:
|
|
- "frontends/desktop/**"
|
|
- "desktop_release/**"
|
|
- ".github/workflows/linux-test-build.yml"
|
|
workflow_dispatch:
|
|
|
|
permissions:
|
|
contents: read
|
|
|
|
jobs:
|
|
build-linux:
|
|
name: Build Linux AppImage
|
|
runs-on: ubuntu-24.04
|
|
|
|
steps:
|
|
- name: Checkout repository
|
|
uses: actions/checkout@v4
|
|
|
|
- name: Set up Node.js
|
|
uses: actions/setup-node@v4
|
|
with:
|
|
node-version: 20
|
|
|
|
- name: Set up Rust
|
|
uses: dtolnay/rust-toolchain@stable
|
|
|
|
- name: Cache Rust build
|
|
uses: Swatinem/rust-cache@v2
|
|
with:
|
|
workspaces: frontends/desktop/src-tauri -> target
|
|
|
|
- name: Install Tauri Linux dependencies
|
|
run: |
|
|
sudo apt-get update
|
|
sudo apt-get install -y \
|
|
libwebkit2gtk-4.1-dev \
|
|
libgtk-3-dev \
|
|
libayatana-appindicator3-dev \
|
|
librsvg2-dev \
|
|
patchelf
|
|
|
|
- name: Install desktop dependencies
|
|
working-directory: frontends/desktop
|
|
run: npm install
|
|
|
|
- name: Build Linux AppImage
|
|
working-directory: frontends/desktop
|
|
run: npm run tauri build -- --bundles appimage
|
|
|
|
- name: Collect Linux artifacts
|
|
shell: bash
|
|
run: |
|
|
set -euo pipefail
|
|
mkdir -p artifacts/linux
|
|
cp frontends/desktop/src-tauri/target/release/bundle/appimage/*.AppImage artifacts/linux/
|
|
cd artifacts/linux
|
|
sha256sum * > SHA256SUMS.txt
|
|
ls -lh
|
|
|
|
- name: Upload workflow artifact
|
|
uses: actions/upload-artifact@v4
|
|
with:
|
|
name: GenericAgent-Desktop-Linux-Test-${{ github.run_number }}
|
|
path: artifacts/linux/*
|
|
if-no-files-found: error
|