mirror of
https://github.com/orbien-org/orbien.git
synced 2026-09-23 08:01:34 +00:00
114 lines
3.1 KiB
YAML
114 lines
3.1 KiB
YAML
name: Release Desktop
|
|
|
|
on:
|
|
workflow_call:
|
|
inputs:
|
|
version:
|
|
description: Release version
|
|
required: true
|
|
type: string
|
|
|
|
env:
|
|
CARGO_TERM_COLOR: always
|
|
RUST_VERSION: "1.92"
|
|
|
|
jobs:
|
|
build-desktop:
|
|
strategy:
|
|
fail-fast: false
|
|
matrix:
|
|
include:
|
|
- os: ubuntu-latest
|
|
goos: linux
|
|
goarch: amd64
|
|
artifact: deb
|
|
- os: ubuntu-24.04-arm
|
|
goos: linux
|
|
goarch: arm64
|
|
artifact: deb
|
|
- os: windows-latest
|
|
goos: windows
|
|
goarch: amd64
|
|
artifact: windows
|
|
- os: windows-11-arm
|
|
goos: windows
|
|
goarch: arm64
|
|
artifact: windows
|
|
- os: macos-15-intel
|
|
goos: darwin
|
|
goarch: amd64
|
|
artifact: dmg
|
|
- os: macos-14
|
|
goos: darwin
|
|
goarch: arm64
|
|
artifact: dmg
|
|
runs-on: ${{ matrix.os }}
|
|
steps:
|
|
- name: Checkout
|
|
uses: actions/checkout@v5
|
|
|
|
- name: Setup Rust
|
|
uses: dtolnay/rust-toolchain@master
|
|
with:
|
|
toolchain: ${{ env.RUST_VERSION }}
|
|
|
|
- name: Cache Cargo
|
|
uses: Swatinem/rust-cache@v2
|
|
with:
|
|
key: desktop-${{ matrix.os }}-${{ matrix.goarch }}
|
|
|
|
- name: Install Linux GUI deps
|
|
if: matrix.artifact == 'deb'
|
|
run: |
|
|
sudo apt-get update
|
|
sudo apt-get install -y \
|
|
libxcb-render0-dev libxcb-shape0-dev libxcb-xfixes0-dev \
|
|
libxkbcommon-dev libwayland-dev libegl1-mesa-dev \
|
|
libfontconfig1-dev
|
|
|
|
- name: Build orbien-desktop
|
|
shell: bash
|
|
run: cargo build --release --locked -p orbien-desktop
|
|
|
|
- name: Package macOS DMG
|
|
if: matrix.artifact == 'dmg'
|
|
shell: bash
|
|
run: |
|
|
chmod +x scripts/pack-desktop-macos.sh
|
|
./scripts/pack-desktop-macos.sh \
|
|
--version "${{ inputs.version }}" \
|
|
--arch "${{ matrix.goarch }}" \
|
|
--outdir dist/desktop
|
|
|
|
- name: Package Windows EXE + ZIP
|
|
if: matrix.artifact == 'windows'
|
|
shell: bash
|
|
run: |
|
|
chmod +x scripts/pack-desktop-windows.sh
|
|
./scripts/pack-desktop-windows.sh \
|
|
--bin target/release/orbien-desktop.exe \
|
|
--version "${{ inputs.version }}" \
|
|
--arch "${{ matrix.goarch }}" \
|
|
--outdir dist/desktop
|
|
|
|
- name: Package Linux DEB
|
|
if: matrix.artifact == 'deb'
|
|
shell: bash
|
|
run: |
|
|
chmod +x scripts/pack-desktop-linux-deb.sh
|
|
./scripts/pack-desktop-linux-deb.sh \
|
|
--version "${{ inputs.version }}" \
|
|
--arch "${{ matrix.goarch }}" \
|
|
--outdir dist/desktop
|
|
|
|
- name: Upload desktop artifacts
|
|
uses: actions/upload-artifact@v4
|
|
with:
|
|
name: desktop-${{ matrix.goos }}-${{ matrix.goarch }}
|
|
path: |
|
|
dist/desktop/*.dmg
|
|
dist/desktop/*.zip
|
|
dist/desktop/*.exe
|
|
dist/desktop/*.deb
|
|
if-no-files-found: error
|