Skip to content

fix: chat choices working #32

fix: chat choices working

fix: chat choices working #32

Workflow file for this run

name: Build and Release
on:
push:
tags:
- 'v*'
workflow_dispatch:
inputs:
release:
description: 'Create a release'
required: false
default: 'false'
jobs:
build:
strategy:
fail-fast: false
matrix:
include:
- platform: ubuntu-22.04
target: x86_64-unknown-linux-gnu
- platform: macos-latest
target: x86_64-apple-darwin
- platform: macos-latest
target: aarch64-apple-darwin
- platform: windows-latest
target: x86_64-pc-windows-msvc
runs-on: ${{ matrix.platform }}
steps:
- name: Checkout repository
uses: actions/checkout@v4
- name: Setup Node.js
uses: actions/setup-node@v4
with:
node-version: 20
cache: 'npm'
- name: Install Rust toolchain
uses: dtolnay/rust-toolchain@stable
with:
targets: ${{ matrix.target }}
- name: Rust cache
uses: Swatinem/rust-cache@v2
with:
workspaces: src-tauri
- name: Install dependencies (Ubuntu)
if: matrix.platform == 'ubuntu-22.04'
run: |
sudo apt-get update
sudo apt-get install -y \
libwebkit2gtk-4.1-dev \
libappindicator3-dev \
librsvg2-dev \
patchelf \
libsecret-1-dev \
libssl-dev \
libdbus-1-dev
- name: Install npm dependencies
run: npm ci
- name: Build Tauri app
uses: tauri-apps/tauri-action@v0
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
TAURI_SIGNING_PRIVATE_KEY: ${{ secrets.TAURI_SIGNING_PRIVATE_KEY }}
TAURI_SIGNING_PRIVATE_KEY_PASSWORD: ${{ secrets.TAURI_SIGNING_PRIVATE_KEY_PASSWORD }}
with:
args: --target ${{ matrix.target }}
- name: Upload artifacts
uses: actions/upload-artifact@v4
with:
name: onyx-${{ matrix.target }}
path: |
src-tauri/target/${{ matrix.target }}/release/bundle/deb/*.deb
src-tauri/target/${{ matrix.target }}/release/bundle/appimage/*.AppImage
src-tauri/target/${{ matrix.target }}/release/bundle/rpm/*.rpm
src-tauri/target/${{ matrix.target }}/release/bundle/dmg/*.dmg
src-tauri/target/${{ matrix.target }}/release/bundle/macos/*.app
src-tauri/target/${{ matrix.target }}/release/bundle/msi/*.msi
src-tauri/target/${{ matrix.target }}/release/bundle/nsis/*.exe
if-no-files-found: ignore
# TODO: Enable Android build once signing is configured
# build-android:
# runs-on: ubuntu-latest
#
# steps:
# - name: Checkout repository
# uses: actions/checkout@v4
#
# - name: Setup Node.js
# uses: actions/setup-node@v4
# with:
# node-version: 20
# cache: 'npm'
#
# - name: Setup Java
# uses: actions/setup-java@v4
# with:
# distribution: 'temurin'
# java-version: '17'
#
# - name: Setup Android SDK
# uses: android-actions/setup-android@v3
#
# - name: Install Android NDK
# run: |
# sdkmanager --install "ndk;27.0.11902837"
# echo "NDK_HOME=$ANDROID_HOME/ndk/27.0.11902837" >> $GITHUB_ENV
#
# - name: Install Rust toolchain
# uses: dtolnay/rust-toolchain@stable
# with:
# targets: aarch64-linux-android,armv7-linux-androideabi,i686-linux-android,x86_64-linux-android
#
# - name: Rust cache
# uses: Swatinem/rust-cache@v2
# with:
# workspaces: src-tauri
#
# - name: Install npm dependencies
# run: npm ci
#
# - name: Decode keystore
# env:
# KEYSTORE_BASE64: ${{ secrets.ANDROID_KEYSTORE_BASE64 }}
# run: |
# if [ -n "$KEYSTORE_BASE64" ]; then
# echo "$KEYSTORE_BASE64" | base64 -d > ${{ runner.temp }}/keystore.jks
# echo "KEYSTORE_PATH=${{ runner.temp }}/keystore.jks" >> $GITHUB_ENV
# fi
#
# - name: Build Android APK
# run: npx tauri android build --apk true
# env:
# NDK_HOME: ${{ env.NDK_HOME }}
# KEYSTORE_PATH: ${{ env.KEYSTORE_PATH }}
# KEYSTORE_PASSWORD: ${{ secrets.ANDROID_KEYSTORE_PASSWORD }}
# KEY_ALIAS: ${{ secrets.ANDROID_KEY_ALIAS }}
# KEY_PASSWORD: ${{ secrets.ANDROID_KEY_PASSWORD }}
#
# - name: Build Android AAB
# run: npx tauri android build --aab true
# env:
# NDK_HOME: ${{ env.NDK_HOME }}
# KEYSTORE_PATH: ${{ env.KEYSTORE_PATH }}
# KEYSTORE_PASSWORD: ${{ secrets.ANDROID_KEYSTORE_PASSWORD }}
# KEY_ALIAS: ${{ secrets.ANDROID_KEY_ALIAS }}
# KEY_PASSWORD: ${{ secrets.ANDROID_KEY_PASSWORD }}
#
# - name: Upload Android artifacts
# uses: actions/upload-artifact@v4
# with:
# name: onyx-android
# path: |
# src-tauri/gen/android/app/build/outputs/apk/**/*.apk
# src-tauri/gen/android/app/build/outputs/bundle/**/*.aab
# if-no-files-found: ignore
release:
needs: [build]
runs-on: ubuntu-latest
if: startsWith(github.ref, 'refs/tags/v') || github.event.inputs.release == 'true'
permissions:
contents: write
steps:
- name: Download all artifacts
uses: actions/download-artifact@v4
with:
path: artifacts
- name: Flatten artifacts
run: |
mkdir -p release
find artifacts -type f \( -name "*.deb" -o -name "*.AppImage" -o -name "*.rpm" -o -name "*.dmg" -o -name "*.msi" -o -name "*.exe" -o -name "*.apk" -o -name "*.aab" \) -exec cp {} release/ \;
ls -la release/
- name: Create Release
uses: softprops/action-gh-release@v1
with:
files: release/*
draft: true
generate_release_notes: true
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}