153 lines
5.3 KiB
YAML
153 lines
5.3 KiB
YAML
name: 'real world tests'
|
|
|
|
on:
|
|
workflow_dispatch:
|
|
pull_request:
|
|
push:
|
|
branches:
|
|
- dev
|
|
|
|
jobs:
|
|
v2:
|
|
permissions:
|
|
contents: write # required to create new releases
|
|
strategy:
|
|
fail-fast: false
|
|
matrix:
|
|
include:
|
|
- platform: 'macos-latest'
|
|
args: '--verbose --target universal-apple-darwin --debug'
|
|
- platform: 'macos-latest'
|
|
args: '--verbose --target aarch64-apple-darwin --debug'
|
|
- platform: 'macos-latest'
|
|
args: '--verbose --target x86_64-apple-darwin --debug'
|
|
- platform: 'ubuntu-22.04'
|
|
args: '--verbose --debug'
|
|
- platform: 'windows-latest'
|
|
args: '--verbose --debug'
|
|
- platform: 'ubuntu-24.04-arm'
|
|
args: '--verbose --debug'
|
|
- platform: 'windows-11-arm'
|
|
args: '--verbose --debug'
|
|
- platform: 'ubuntu-latest'
|
|
args: '--verbose --debug'
|
|
mobile: 'android'
|
|
# can't test without an apple account
|
|
#- platform: 'macos-26'
|
|
# args: '--verbose --debug'
|
|
# mobile: 'ios'
|
|
|
|
runs-on: ${{ matrix.platform }}
|
|
steps:
|
|
- uses: actions/checkout@v7
|
|
|
|
# node
|
|
- name: install pnpm
|
|
uses: pnpm/action-setup@v6
|
|
with:
|
|
version: 10.x.x
|
|
|
|
- name: setup node
|
|
uses: actions/setup-node@v6
|
|
with:
|
|
node-version: lts/*
|
|
|
|
- name: install example dependencies
|
|
run: |
|
|
echo "skipped"
|
|
# disabled on desktop to test cli fallback install
|
|
#cd ./.github/fixtures/example-with-tauri-v2
|
|
# pnpm install
|
|
|
|
# rust
|
|
- name: install Rust stable (desktop)
|
|
if: matrix.mobile == ''
|
|
uses: dtolnay/rust-toolchain@stable
|
|
with:
|
|
targets: aarch64-apple-darwin,x86_64-apple-darwin
|
|
|
|
- name: install Rust stable (android)
|
|
if: matrix.mobile == 'android'
|
|
uses: dtolnay/rust-toolchain@stable
|
|
with:
|
|
targets: aarch64-linux-android,armv7-linux-androideabi,i686-linux-android,x86_64-linux-android
|
|
|
|
- name: install Rust stable (ios)
|
|
if: matrix.mobile == 'ios'
|
|
uses: dtolnay/rust-toolchain@stable
|
|
with:
|
|
targets: aarch64-apple-ios
|
|
|
|
- name: Set up JDK
|
|
if: matrix.mobile == 'android'
|
|
uses: actions/setup-java@v5
|
|
with:
|
|
java-version: '21' # Maybe 17
|
|
distribution: 'temurin'
|
|
|
|
- name: Setup Android SDK
|
|
if: matrix.mobile == 'android'
|
|
uses: android-actions/setup-android@v4
|
|
|
|
- name: Setup Android NDK
|
|
if: matrix.mobile == 'android'
|
|
uses: nttld/setup-ndk@v1
|
|
id: setup-ndk
|
|
with:
|
|
ndk-version: r29
|
|
link-to-sdk: true
|
|
|
|
- uses: maxim-lobanov/setup-xcode@v1
|
|
if: matrix.mobile == 'ios'
|
|
with:
|
|
xcode-version: 26.1
|
|
|
|
- name: setup Apple API key
|
|
if: matrix.mobile == 'ios'
|
|
run: |
|
|
APPLE_API_KEY_PATH="$RUNNER_TEMP/AuthKey_${{ secrets.APPLE_API_KEY_ID }}.p8"
|
|
echo "${{ secrets.APPLE_API_KEY }}" > $APPLE_API_KEY_PATH
|
|
echo "APPLE_API_KEY_PATH=$APPLE_API_KEY_PATH" >> $GITHUB_ENV
|
|
echo "API_PRIVATE_KEYS_DIR=$RUNNER_TEMP" >> $GITHUB_ENV
|
|
|
|
- uses: Swatinem/rust-cache@v2
|
|
with:
|
|
cache-on-failure: true
|
|
workspaces: |
|
|
./.github/fixtures/example-with-tauri-v2/src-tauri -> ../../target
|
|
|
|
# system
|
|
- name: install dependencies (ubuntu only)
|
|
if: matrix.platform == 'ubuntu-22.04' || matrix.platform == 'ubuntu-24.04-arm'
|
|
run: |
|
|
sudo apt-get update
|
|
sudo apt-get install -y libwebkit2gtk-4.1-dev libappindicator3-dev librsvg2-dev xdg-utils
|
|
|
|
- name: init mobile project
|
|
if: matrix.mobile != ''
|
|
run: |
|
|
cd ./.github/fixtures/example-with-tauri-v2
|
|
pnpm dlx @tauri-apps/cli ${{ matrix.mobile }} init
|
|
|
|
- name: Preconfigured Tauri Project
|
|
uses: ./
|
|
env:
|
|
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
|
# Updater signature is exposed here to make sure it works in PR's
|
|
TAURI_SIGNING_PRIVATE_KEY: dW50cnVzdGVkIGNvbW1lbnQ6IHJzaWduIGVuY3J5cHRlZCBzZWNyZXQga2V5ClJXUlRZMEl5YTBGV3JiTy9lRDZVd3NkL0RoQ1htZmExNDd3RmJaNmRMT1ZGVjczWTBKZ0FBQkFBQUFBQUFBQUFBQUlBQUFBQWdMekUzVkE4K0tWQ1hjeGt1Vkx2QnRUR3pzQjVuV0ZpM2czWXNkRm9hVUxrVnB6TUN3K1NheHJMREhQbUVWVFZRK3NIL1VsMDBHNW5ET1EzQno0UStSb21nRW4vZlpTaXIwZFh5ZmRlL1lSN0dKcHdyOUVPclVvdzFhVkxDVnZrbHM2T1o4Tk1NWEU9Cg==
|
|
NDK_HOME: ${{ steps.setup-ndk.outputs.ndk-path }}
|
|
with:
|
|
projectPath: ./.github/fixtures/example-with-tauri-v2
|
|
tagName: ${{ !github.event.pull_request.head.repo.fork && 'example-with-tauri-v__VERSION__' || '' }}
|
|
releaseName: 'Release example with preconfigured Tauri app v__VERSION__ for tauri-v2'
|
|
releaseBody: 'See the assets to download this version and install.'
|
|
releaseDraft: true
|
|
args: ${{ matrix.args }}
|
|
retryAttempts: 1
|
|
uploadPlainBinary: true
|
|
uploadWorkflowArtifacts: true
|
|
uploadUpdaterSignatures: true
|
|
mobile: ${{ matrix.mobile }}
|
|
# workflowArtifactNamePattern: '[name]_${{ github.sha }}_[platform]_[arch]_[bundle]'
|
|
# releaseAssetNamePattern: '[name]x[version]x[platform]x[arch]x[mode]x[setup]x[ext]'
|