Build-from-source installer (install-v2.sh) with dependency checks for Node.js 20+, Rust 1.77+, and system libraries. Tauri bundle config for .deb and AppImage targets. GitHub Actions workflow builds and uploads release artifacts on version tags. Icons regenerated as RGBA PNGs.
104 lines
2.5 KiB
YAML
104 lines
2.5 KiB
YAML
name: Release
|
|
|
|
on:
|
|
push:
|
|
tags:
|
|
- "v*"
|
|
|
|
permissions:
|
|
contents: write
|
|
|
|
env:
|
|
CARGO_TERM_COLOR: always
|
|
|
|
jobs:
|
|
build-linux:
|
|
runs-on: ubuntu-22.04
|
|
steps:
|
|
- uses: actions/checkout@v4
|
|
|
|
- name: Install system dependencies
|
|
run: |
|
|
sudo apt-get update
|
|
sudo apt-get install -y \
|
|
libwebkit2gtk-4.1-dev \
|
|
libgtk-3-dev \
|
|
libayatana-appindicator3-dev \
|
|
librsvg2-dev \
|
|
libssl-dev \
|
|
build-essential \
|
|
pkg-config \
|
|
curl \
|
|
wget \
|
|
libfuse2
|
|
|
|
- name: Setup Node.js
|
|
uses: actions/setup-node@v4
|
|
with:
|
|
node-version: 20
|
|
cache: npm
|
|
cache-dependency-path: v2/package-lock.json
|
|
|
|
- name: Setup Rust
|
|
uses: dtolnay/rust-toolchain@stable
|
|
|
|
- name: Cache Rust dependencies
|
|
uses: actions/cache@v4
|
|
with:
|
|
path: |
|
|
~/.cargo/registry
|
|
~/.cargo/git
|
|
v2/src-tauri/target
|
|
key: ${{ runner.os }}-cargo-${{ hashFiles('v2/src-tauri/Cargo.lock') }}
|
|
restore-keys: |
|
|
${{ runner.os }}-cargo-
|
|
|
|
- name: Install npm dependencies
|
|
working-directory: v2
|
|
run: npm ci --legacy-peer-deps
|
|
|
|
- name: Build Tauri app
|
|
working-directory: v2
|
|
run: npx tauri build
|
|
|
|
- name: List build artifacts
|
|
run: |
|
|
find v2/src-tauri/target/release/bundle -type f \( -name "*.deb" -o -name "*.AppImage" \) | head -20
|
|
|
|
- name: Upload .deb
|
|
uses: actions/upload-artifact@v4
|
|
with:
|
|
name: bterminal-deb
|
|
path: v2/src-tauri/target/release/bundle/deb/*.deb
|
|
|
|
- name: Upload AppImage
|
|
uses: actions/upload-artifact@v4
|
|
with:
|
|
name: bterminal-appimage
|
|
path: v2/src-tauri/target/release/bundle/appimage/*.AppImage
|
|
|
|
release:
|
|
needs: build-linux
|
|
runs-on: ubuntu-22.04
|
|
steps:
|
|
- uses: actions/checkout@v4
|
|
|
|
- name: Download .deb
|
|
uses: actions/download-artifact@v4
|
|
with:
|
|
name: bterminal-deb
|
|
path: artifacts/
|
|
|
|
- name: Download AppImage
|
|
uses: actions/download-artifact@v4
|
|
with:
|
|
name: bterminal-appimage
|
|
path: artifacts/
|
|
|
|
- name: Create GitHub Release
|
|
uses: softprops/action-gh-release@v2
|
|
with:
|
|
generate_release_notes: true
|
|
files: |
|
|
artifacts/*.deb
|
|
artifacts/*.AppImage
|