feat(v2): add packaging, installer, and CI release workflow (Phase 6)

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.
This commit is contained in:
Hibryda 2026-03-06 14:23:09 +01:00
parent 643eb15697
commit 67875a1f70
8 changed files with 338 additions and 2 deletions

104
.github/workflows/release.yml vendored Normal file
View file

@ -0,0 +1,104 @@
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