Files
qbz/.github/workflows/release-linux.yml
T

67 lines
1.6 KiB
YAML

name: release-linux
on:
workflow_dispatch:
inputs:
tag:
description: "Optional release tag to build (e.g. v0.1.0)"
required: false
type: string
push:
tags:
- "v*"
jobs:
build-linux:
runs-on: ubuntu-latest
permissions:
contents: write
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Setup Node
uses: actions/setup-node@v4
with:
node-version: 20
cache: npm
- name: Setup Rust
uses: dtolnay/rust-toolchain@stable
- name: Install system dependencies
run: |
sudo apt-get update
sudo apt-get install -y \
libwebkit2gtk-4.1-dev \
libgtk-3-dev \
libappindicator3-dev \
librsvg2-dev \
patchelf
- name: Install JS dependencies
run: npm ci
- name: Build DEB/RPM/AppImage
run: npm run tauri build -- --bundles deb,rpm,appimage
- name: Collect artifacts
run: |
mkdir -p dist
cp -v src-tauri/target/release/bundle/deb/*.deb dist/ || true
cp -v src-tauri/target/release/bundle/rpm/*.rpm dist/ || true
cp -v src-tauri/target/release/bundle/appimage/*.AppImage dist/ || true
ls -la dist
- name: Upload artifacts
uses: actions/upload-artifact@v4
with:
name: qbz-linux-packages
path: dist/*
- name: Publish GitHub Release Assets
if: startsWith(github.ref, 'refs/tags/')
uses: softprops/action-gh-release@v2
with:
files: dist/*