Files
claudia/.github/workflows/build-linux.yml
Vivek R 68d557d50a ci: add GitHub Actions workflows for multi-platform builds
- Add build-linux.yml for Ubuntu/Linux x86_64 builds
  - Installs required system dependencies (webkit2gtk, GTK3, etc.)
  - Builds Tauri application for Linux platform
  - Uploads build artifacts for distribution

- Add build-macos.yml for macOS Intel and Apple Silicon builds
  - Supports both x86_64 and aarch64 architectures
  - Handles Apple certificate import and code signing
  - Creates notarized DMG installers
  - Includes Homebrew cask generation
  - Allows skipping builds and using previous artifacts

- Add release.yml for automated releases
  - Triggers on version tags (v*)
  - Orchestrates builds across all platforms
  - Creates GitHub releases with all artifacts
  - Supports manual workflow dispatch with version input
2025-08-01 17:35:58 +05:30

61 lines
1.6 KiB
YAML

name: Build Linux
on:
workflow_dispatch:
push:
branches: [main, test-linux-workflow]
jobs:
build:
name: Build Linux x86_64
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Install system dependencies
run: |
sudo apt-get update
sudo apt-get install -y \
pkg-config \
libwebkit2gtk-4.1-dev \
libgtk-3-dev \
libssl-dev \
libayatana-appindicator3-dev \
librsvg2-dev
- name: Setup Rust
uses: dtolnay/rust-toolchain@stable
with:
targets: x86_64-unknown-linux-gnu
- name: Setup Rust cache
uses: Swatinem/rust-cache@v2
with:
workspaces: src-tauri
- name: Setup Bun
uses: oven-sh/setup-bun@v2
- name: Install dependencies
run: bun install
- name: Build Tauri app
run: bun run tauri build --target x86_64-unknown-linux-gnu
- name: Create artifacts directory
run: |
mkdir -p dist/linux-x86_64
cp src-tauri/target/x86_64-unknown-linux-gnu/release/bundle/deb/*.deb dist/linux-x86_64/ || true
cp src-tauri/target/x86_64-unknown-linux-gnu/release/bundle/appimage/*.AppImage dist/linux-x86_64/ || true
# Generate checksums
cd dist/linux-x86_64
sha256sum * > checksums.txt
- name: Upload artifacts
uses: actions/upload-artifact@v4
with:
name: linux-x86_64
path: dist/linux-x86_64/*