tauri-test-app/.github/workflows/build.yml

133 lines
3.4 KiB
YAML

# What software is installed by default:
# https://docs.github.com/en/actions/using-github-hosted-runners/using-github-hosted-runners/about-github-hosted-runners#supported-runners-and-hardware-resources
name: build
on:
push:
pull_request:
defaults:
run:
shell: bash
jobs:
build-linux:
runs-on: ubuntu-latest
steps:
- name: Check out repo
uses: actions/checkout@v4
- name: Set up pnpm
uses: pnpm/action-setup@v4
with:
version: 10
# https://github.com/tauri-apps/tauri-action?tab=readme-ov-file#usage
# https://docs.github.com/en/actions/using-github-hosted-runners/using-github-hosted-runners/customizing-github-hosted-runners#installing-software-on-ubuntu-runners
- name: Install tauri dependencies
run: |
sudo apt update
sudo apt install libwebkit2gtk-4.1-dev
- name: Build
run: ./build
- name: Upload
uses: actions/upload-artifact@v4
with:
name: tta-linux
path: |
target/release/tta-cli
target/release/tta-app
build-windows:
runs-on: windows-latest
steps:
- name: Check out repo
uses: actions/checkout@v4
- name: Set up pnpm
uses: pnpm/action-setup@v4
with:
version: 10
- name: Build
run: ./build
- name: Upload
uses: actions/upload-artifact@v4
with:
name: tta-windows
path: |
target/release/tta-cli.exe
target/release/tta-app.exe
build-android:
runs-on: ubuntu-latest
steps:
- name: Check out repo
uses: actions/checkout@v4
- name: Set up pnpm
uses: pnpm/action-setup@v4
with:
version: 10
# https://v2.tauri.app/start/prerequisites/#android
- name: Set up Rust
run: rustup target add aarch64-linux-android armv7-linux-androideabi i686-linux-android x86_64-linux-android
# https://v2.tauri.app/distribute/sign/android/
- name: Set up Android signing
run: |
cd tta-app/src-tauri/gen/android
echo "keyAlias=${{ secrets.ANDROID_KEY_ALIAS }}" > key.properties
echo "password=${{ secrets.ANDROID_KEY_PASSWORD }}" >> key.properties
base64 -d <<< "${{ secrets.ANDROID_KEY_BASE64 }}" > $RUNNER_TEMP/keystore.jks
echo "storeFile=$RUNNER_TEMP/keystore.jks" >> key.properties
- name: Build
run: |
export NDK_HOME="$ANDROID_NDK_HOME"
./build_android
- name: Upload
uses: actions/upload-artifact@v4
with:
name: tta-android
path: target/release/tta-app.apk
release:
runs-on: ubuntu-latest
if: ${{ startsWith(github.ref, 'refs/tags/v') }}
needs:
- build-linux
- build-windows
- build-android
permissions:
contents: write
steps:
- name: Download artifacts
uses: actions/download-artifact@v4
- name: List artifacts
run: ls -l
- name: Zip artifacts
run: |
zip -r tta-linux.zip tta-linux
zip -r tta-windows.zip tta-windows
mv tta-android/tta-app.apk tta-android.apk
- name: List artifacts again
run: ls -l
- name: Create new release
uses: softprops/action-gh-release@v2
with:
body: Automated release
files: |
tta-linux.zip
tta-windows.zip
tta-android.apk