Skip to content

produce aab only

produce aab only #535

Workflow file for this run

name: 'Build Test'
on:
push:
branches:
- main
pull_request:
branches:
- main
workflow_dispatch:
inputs:
runner-type:
type: choice
description: 'The type of runner to use'
required: true
default: 'ubuntu-22.04'
options:
- 'ubuntu-22.04'
- 'ubuntu-22.04-arm'
- 'macos-latest'
build-for:
type: choice
description: 'The target to build for'
required: true
default: 'desktop'
options:
- 'desktop'
- 'android'
env:
ANDROID_NDK_VERSION: '26.3.11579264'
NODE_VERSION: '20.x'
CI_BUILD_FOR: ${{ github.event.inputs.build-for || 'desktop' }}
CI_RUNNER_TYPE: ${{ github.event.inputs.runner-type || 'ubuntu-22.04' }}
jobs:
build-desktop:
if: ${{ github.event.inputs.build-for == 'desktop' }}
runs-on: ${{ github.event.inputs.runner-type || 'ubuntu-22.04' }}
steps:
- uses: actions/checkout@v4
- name: Install Required Packages
if: ${{ runner.os == 'Linux' }}
run: |
sudo apt-get update
sudo apt-get install -y build-essential curl wget file libssl-dev libayatana-appindicator3-dev \
libwebkit2gtk-4.1-dev librsvg2-dev
- name: Install Rust
uses: dtolnay/rust-toolchain@stable
- name: Cache Rust Project
uses: Swatinem/rust-cache@v2
with:
prefix-key: ${{ runner.os }}-${{ github.event.inputs.runner-type }}-rust
workspaces: src-tauri
- name: Setup Node.js
uses: actions/setup-node@v4
with:
node-version: ${{ env.NODE_VERSION }}
cache: 'npm'
- name: Install NPM Dependencies
run: npm ci
- name: Setup JDK
uses: actions/setup-java@v4
if: env.CI_BUILD_FOR == 'android'
with:
java-version: '17'
distribution: 'temurin'
- name: Setup Android SDK
if: env.CI_BUILD_FOR == 'android'
uses: android-actions/setup-android@v3
with:
packages: "build-tools;34.0.0 ndk;${{ env.ANDROID_NDK_VERSION }} platforms;android-33"
- name: Add NDK to PATH
if: env.CI_BUILD_FOR == 'android'
shell: bash
run: |
echo ${NDK_HOME}/toolchains/llvm/prebuilt/*/bin >> $GITHUB_PATH
env:
NDK_HOME: "${{ env.ANDROID_HOME }}/ndk/${{ env.ANDROID_NDK_VERSION }}"
- name: Check lint
run: npm run ng lint
- name: Build for Desktop
run: npm run build -- --features=vendored-openssl
build-android:
if: ${{ github.event.inputs.build-for == 'android' }}
runs-on: ${{ github.event.inputs.runner-type || 'ubuntu-22.04' }}
steps:
- uses: actions/checkout@v4
- name: Install Rust
uses: dtolnay/rust-toolchain@stable
- name: Cache Rust Project
uses: Swatinem/rust-cache@v2
with:
prefix-key: ${{ runner.os }}-${{ github.event.inputs.runner-type }}-rust
workspaces: src-tauri
- name: Setup Node.js
uses: actions/setup-node@v4
with:
node-version: ${{ env.NODE_VERSION }}
cache: 'npm'
- name: Install NPM Dependencies
run: npm ci
- name: Setup JDK
uses: actions/setup-java@v4
with:
java-version: '17'
distribution: 'temurin'
- name: Setup Android SDK
uses: android-actions/setup-android@v3
with:
packages: "build-tools;34.0.0 ndk;${{ env.ANDROID_NDK_VERSION }} platforms;android-33"
- name: Add NDK to PATH
shell: bash
run: |
echo ${NDK_HOME}/toolchains/llvm/prebuilt/*/bin >> $GITHUB_PATH
env:
NDK_HOME: "${{ env.ANDROID_HOME }}/ndk/${{ env.ANDROID_NDK_VERSION }}"
- name: Tauri init
run: npm run tauri android init
env:
NDK_HOME: "${{ env.ANDROID_HOME }}/ndk/${{ env.ANDROID_NDK_VERSION }}"
- name: Setup Ruby
uses: ruby/setup-ruby@v1
with:
ruby-version: 3.3
bundler-cache: 'true'
- name: Build for Android
uses: maierj/[email protected]
with:
lane: build
env:
NDK_HOME: "${{ env.ANDROID_HOME }}/ndk/${{ env.ANDROID_NDK_VERSION }}"