snapshot of https://github.com/tauri-apps/tauri.git (dev, 2026-09-23; blobs > 131072B omitted)
Some checks failed
Audit / audit-js (push) Failing after 0s
bench / bench (map[os:ubuntu-latest runner:xvfb-run --auto-servernum target:x86_64-unknown-linux-gnu], nightly) (push) Failing after 0s
covector version or publish / run-integration-tests (ubuntu-latest) (push) Failing after 0s
Audit / audit-rust (push) Failing after 0s
test `@tauri-apps/cli` / test (ubuntu-latest) (push) Failing after 0s
test `tauri-cli` / test (map[os:ubuntu-latest target:x86_64-unknown-linux-gnu]) (push) Failing after 0s
test core / test (map[args:--all-features key:all], map[cargo:cargo command:test os:ubuntu-latest target:x86_64-unknown-linux-gnu toolchain:1.90]) (push) Failing after 0s
test core / test (map[args:--no-default-features key:no-default], map[cargo:cargo command:test os:ubuntu-latest target:x86_64-unknown-linux-gnu toolchain:1.90]) (push) Failing after 0s
test core / test (map[args:--no-default-features key:no-default], map[cargo:cross command:build os:ubuntu-latest target:aarch64-linux-android toolchain:1.90]) (push) Failing after 0s
deploy schema worker / deploy (push) Failing after 0s
lint rust / clippy (map[cargo:cargo include: os:ubuntu-latest target:x86_64-unknown-linux-gnu]) (push) Failing after 0s
lint rust / clippy (map[cargo:cross include:--package api os:ubuntu-latest target:aarch64-linux-android]) (push) Failing after 0s
supply chain health status / check rust dependencies with cargo vet (push) Failing after 0s
test `@tauri-apps/api` e2e (mobile) / android (push) Failing after 0s
test `@tauri-apps/api` e2e / test (map[name:Linux os:ubuntu-latest]) (push) Failing after 0s
test core / test (map[args:--all-features key:all], map[cargo:cross command:build os:ubuntu-latest target:aarch64-linux-android toolchain:1.90]) (push) Failing after 0s
Udeps / changes (push) Failing after 0s
Udeps / setup (push) Has been skipped
Udeps / udeps (push) Has been skipped
bench / bench (map[os:macos-latest runner: target:aarch64-apple-darwin], nightly) (push) Has been cancelled
bench / bench (map[os:windows-latest runner: target:x86_64-pc-windows-msvc], nightly) (push) Has been cancelled
covector version or publish / run-integration-tests (macos-latest) (push) Has been cancelled
covector version or publish / run-integration-tests (windows-latest) (push) Has been cancelled
covector version or publish / version-or-publish (push) Has been cancelled
test `@tauri-apps/cli` / test (macos-latest) (push) Has been cancelled
test `tauri-cli` / test (map[args:--no-default-features --features native-tls-vendored os:windows-latest restore-only:true target:aarch64-pc-windows-msvc]) (push) Has been cancelled
test `tauri-cli` / test (map[os:macos-latest target:x86_64-apple-darwin]) (push) Has been cancelled
test `tauri-cli` / test (map[os:windows-latest target:x86_64-pc-windows-msvc]) (push) Has been cancelled
test core / test (map[args:--all-features key:all], map[cargo:cargo command:build os:macos-latest target:aarch64-apple-ios toolchain:1.90]) (push) Has been cancelled
test core / test (map[args:--all-features key:all], map[cargo:cargo command:test os:macos-14 target:aarch64-apple-darwin toolchain:1.90]) (push) Has been cancelled
lint rust / clippy (map[cargo:cargo include: os:macos-latest target:aarch64-apple-darwin]) (push) Has been cancelled
lint rust / clippy (map[cargo:cargo include: os:windows-latest target:x86_64-pc-windows-msvc]) (push) Has been cancelled
lint rust / clippy (map[cargo:cargo include:--package api os:macos-latest target:aarch64-apple-ios]) (push) Has been cancelled
test `@tauri-apps/api` e2e (mobile) / ios (push) Has been cancelled
test `@tauri-apps/api` e2e / test (map[name:Windows os:windows-latest]) (push) Has been cancelled
test `@tauri-apps/api` e2e / test (map[name:macOS os:macos-latest]) (push) Has been cancelled
test `@tauri-apps/cli` / test (windows-latest) (push) Has been cancelled
test core / test (map[args:--all-features key:all], map[cargo:cargo command:test os:windows-latest target:x86_64-pc-windows-msvc toolchain:1.90]) (push) Has been cancelled
test core / test (map[args:--no-default-features key:no-default], map[cargo:cargo command:build os:macos-latest target:aarch64-apple-ios toolchain:1.90]) (push) Has been cancelled
test core / test (map[args:--no-default-features key:no-default], map[cargo:cargo command:test os:macos-14 target:aarch64-apple-darwin toolchain:1.90]) (push) Has been cancelled
test core / test (map[args:--no-default-features key:no-default], map[cargo:cargo command:test os:windows-latest target:x86_64-pc-windows-msvc toolchain:1.90]) (push) Has been cancelled
Some checks failed
Audit / audit-js (push) Failing after 0s
bench / bench (map[os:ubuntu-latest runner:xvfb-run --auto-servernum target:x86_64-unknown-linux-gnu], nightly) (push) Failing after 0s
covector version or publish / run-integration-tests (ubuntu-latest) (push) Failing after 0s
Audit / audit-rust (push) Failing after 0s
test `@tauri-apps/cli` / test (ubuntu-latest) (push) Failing after 0s
test `tauri-cli` / test (map[os:ubuntu-latest target:x86_64-unknown-linux-gnu]) (push) Failing after 0s
test core / test (map[args:--all-features key:all], map[cargo:cargo command:test os:ubuntu-latest target:x86_64-unknown-linux-gnu toolchain:1.90]) (push) Failing after 0s
test core / test (map[args:--no-default-features key:no-default], map[cargo:cargo command:test os:ubuntu-latest target:x86_64-unknown-linux-gnu toolchain:1.90]) (push) Failing after 0s
test core / test (map[args:--no-default-features key:no-default], map[cargo:cross command:build os:ubuntu-latest target:aarch64-linux-android toolchain:1.90]) (push) Failing after 0s
deploy schema worker / deploy (push) Failing after 0s
lint rust / clippy (map[cargo:cargo include: os:ubuntu-latest target:x86_64-unknown-linux-gnu]) (push) Failing after 0s
lint rust / clippy (map[cargo:cross include:--package api os:ubuntu-latest target:aarch64-linux-android]) (push) Failing after 0s
supply chain health status / check rust dependencies with cargo vet (push) Failing after 0s
test `@tauri-apps/api` e2e (mobile) / android (push) Failing after 0s
test `@tauri-apps/api` e2e / test (map[name:Linux os:ubuntu-latest]) (push) Failing after 0s
test core / test (map[args:--all-features key:all], map[cargo:cross command:build os:ubuntu-latest target:aarch64-linux-android toolchain:1.90]) (push) Failing after 0s
Udeps / changes (push) Failing after 0s
Udeps / setup (push) Has been skipped
Udeps / udeps (push) Has been skipped
bench / bench (map[os:macos-latest runner: target:aarch64-apple-darwin], nightly) (push) Has been cancelled
bench / bench (map[os:windows-latest runner: target:x86_64-pc-windows-msvc], nightly) (push) Has been cancelled
covector version or publish / run-integration-tests (macos-latest) (push) Has been cancelled
covector version or publish / run-integration-tests (windows-latest) (push) Has been cancelled
covector version or publish / version-or-publish (push) Has been cancelled
test `@tauri-apps/cli` / test (macos-latest) (push) Has been cancelled
test `tauri-cli` / test (map[args:--no-default-features --features native-tls-vendored os:windows-latest restore-only:true target:aarch64-pc-windows-msvc]) (push) Has been cancelled
test `tauri-cli` / test (map[os:macos-latest target:x86_64-apple-darwin]) (push) Has been cancelled
test `tauri-cli` / test (map[os:windows-latest target:x86_64-pc-windows-msvc]) (push) Has been cancelled
test core / test (map[args:--all-features key:all], map[cargo:cargo command:build os:macos-latest target:aarch64-apple-ios toolchain:1.90]) (push) Has been cancelled
test core / test (map[args:--all-features key:all], map[cargo:cargo command:test os:macos-14 target:aarch64-apple-darwin toolchain:1.90]) (push) Has been cancelled
lint rust / clippy (map[cargo:cargo include: os:macos-latest target:aarch64-apple-darwin]) (push) Has been cancelled
lint rust / clippy (map[cargo:cargo include: os:windows-latest target:x86_64-pc-windows-msvc]) (push) Has been cancelled
lint rust / clippy (map[cargo:cargo include:--package api os:macos-latest target:aarch64-apple-ios]) (push) Has been cancelled
test `@tauri-apps/api` e2e (mobile) / ios (push) Has been cancelled
test `@tauri-apps/api` e2e / test (map[name:Windows os:windows-latest]) (push) Has been cancelled
test `@tauri-apps/api` e2e / test (map[name:macOS os:macos-latest]) (push) Has been cancelled
test `@tauri-apps/cli` / test (windows-latest) (push) Has been cancelled
test core / test (map[args:--all-features key:all], map[cargo:cargo command:test os:windows-latest target:x86_64-pc-windows-msvc toolchain:1.90]) (push) Has been cancelled
test core / test (map[args:--no-default-features key:no-default], map[cargo:cargo command:build os:macos-latest target:aarch64-apple-ios toolchain:1.90]) (push) Has been cancelled
test core / test (map[args:--no-default-features key:no-default], map[cargo:cargo command:test os:macos-14 target:aarch64-apple-darwin toolchain:1.90]) (push) Has been cancelled
test core / test (map[args:--no-default-features key:no-default], map[cargo:cargo command:test os:windows-latest target:x86_64-pc-windows-msvc toolchain:1.90]) (push) Has been cancelled
This commit is contained in:
243
.github/workflows/test-api-e2e-mobile.yml
vendored
Normal file
243
.github/workflows/test-api-e2e-mobile.yml
vendored
Normal file
@@ -0,0 +1,243 @@
|
||||
# Copyright 2019-2024 Tauri Programme within The Commons Conservancy
|
||||
# SPDX-License-Identifier: Apache-2.0
|
||||
# SPDX-License-Identifier: MIT
|
||||
|
||||
name: test `@tauri-apps/api` e2e (mobile)
|
||||
|
||||
on:
|
||||
workflow_dispatch:
|
||||
push:
|
||||
branches:
|
||||
- dev
|
||||
pull_request:
|
||||
paths:
|
||||
- '.github/workflows/test-api-e2e-mobile.yml'
|
||||
- 'packages/api/**'
|
||||
- 'packages/api-e2e/**'
|
||||
- 'examples/api/**'
|
||||
- 'crates/tauri/mobile/**'
|
||||
- 'crates/tauri-cli/templates/mobile/**'
|
||||
|
||||
env:
|
||||
RUST_BACKTRACE: 1
|
||||
CARGO_PROFILE_DEV_DEBUG: 0 # keeps the target folder small for better cache efficiency
|
||||
# Incremental artifacts are dropped from the cache anyway and only slow the builds down.
|
||||
CARGO_INCREMENTAL: 0
|
||||
|
||||
concurrency:
|
||||
group: ${{ github.workflow }}-${{ github.ref }}
|
||||
cancel-in-progress: true
|
||||
|
||||
permissions:
|
||||
contents: read
|
||||
|
||||
jobs:
|
||||
android:
|
||||
runs-on: ubuntu-latest
|
||||
env:
|
||||
# The emulator runs the host architecture, so only that target is built.
|
||||
E2E_ANDROID_TARGET: x86_64
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v7
|
||||
|
||||
- name: install Rust 1.90
|
||||
# The MSRV, as the other jobs building the CLI use. The compiler version is part of
|
||||
# the rust-cache key, so a floating `stable` would also invalidate the entry below on
|
||||
# every Rust release.
|
||||
uses: dtolnay/rust-toolchain@1.90
|
||||
with:
|
||||
targets: x86_64-linux-android
|
||||
|
||||
- run: npm i -g --force corepack
|
||||
- name: setup node
|
||||
uses: actions/setup-node@v7
|
||||
with:
|
||||
node-version: 'lts/*'
|
||||
cache: 'pnpm'
|
||||
|
||||
- uses: actions/setup-java@v5
|
||||
with:
|
||||
distribution: temurin
|
||||
java-version: 25
|
||||
cache: gradle
|
||||
|
||||
- name: use the preinstalled NDK
|
||||
# The runner image ships NDK r29, the release the CLI installs itself when it finds
|
||||
# none. setup-ndk downloaded it again on every run, or kept a 700 MB copy of it in
|
||||
# the cache (per ref, next to the entries that actually save time), and its symlinks
|
||||
# needed patching up.
|
||||
run: echo "NDK_HOME=$ANDROID_NDK_LATEST_HOME" >> "$GITHUB_ENV"
|
||||
|
||||
# Hardware acceleration for the emulator.
|
||||
- name: enable KVM
|
||||
run: |
|
||||
echo 'KERNEL=="kvm", GROUP="kvm", MODE="0666", OPTIONS+="static_node=kvm"' | sudo tee /etc/udev/rules.d/99-kvm4all.rules
|
||||
sudo udevadm control --reload-rules
|
||||
sudo udevadm trigger --name-match=kvm
|
||||
|
||||
- uses: Swatinem/rust-cache@v2
|
||||
with:
|
||||
# The dependencies of the CLI (host, dev profile) and of the example app (Android
|
||||
# target, dev profile). Only `dev` writes the entry: one saved from a pull request
|
||||
# lives on its merge ref, where nothing else can restore it, and every write evicts
|
||||
# a `dev` entry that other runs would have hit (10 GB repository limit, LRU
|
||||
# eviction). Pull requests restore the `dev` entry, so they get everything but
|
||||
# the workspace crates for free.
|
||||
shared-key: api-e2e-android
|
||||
save-if: ${{ github.ref == 'refs/heads/dev' }}
|
||||
# A flaky spec on `dev` must not throw the build away.
|
||||
cache-on-failure: true
|
||||
|
||||
- name: install dependencies
|
||||
run: pnpm i --frozen-lockfile
|
||||
|
||||
- name: build @tauri-apps/api
|
||||
run: pnpm build:api
|
||||
|
||||
- name: build @tauri-apps/cli
|
||||
# Debug profile: the suite only drives the CLI, and a debug CLI reuses the cached
|
||||
# dependencies instead of a from-scratch LTO build (5 minutes on this runner).
|
||||
run: pnpm build:cli:debug
|
||||
|
||||
# Built before the emulator is up so it does not sit idle (and time out)
|
||||
# during the Rust and Gradle builds; the suite then reuses the APK.
|
||||
- name: build the APK
|
||||
working-directory: ./examples/api
|
||||
run: |
|
||||
pnpm tauri android init --ci --skip-targets-install
|
||||
pnpm tauri android build --debug --apk --target $E2E_ANDROID_TARGET
|
||||
|
||||
- name: run e2e tests
|
||||
uses: reactivecircus/android-emulator-runner@v2
|
||||
timeout-minutes: 60
|
||||
with:
|
||||
api-level: 35
|
||||
arch: x86_64
|
||||
# google_apis images ship an up-to-date Android System WebView.
|
||||
target: google_apis
|
||||
profile: pixel_6
|
||||
emulator-options: -no-window -gpu swiftshader_indirect -noaudio -no-boot-anim -camera-back none
|
||||
disable-animations: true
|
||||
script: E2E_SKIP_BUILD=1 E2E_SPEC_RETRIES=1 pnpm test:api-e2e:android
|
||||
|
||||
- name: upload appium logs
|
||||
if: failure()
|
||||
uses: actions/upload-artifact@v7
|
||||
with:
|
||||
name: android-appium-logs
|
||||
path: packages/api-e2e/logs
|
||||
if-no-files-found: ignore
|
||||
|
||||
ios:
|
||||
runs-on: macos-latest
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v7
|
||||
|
||||
- name: install Rust 1.90
|
||||
# The MSRV, as the other jobs building the CLI use. The compiler version is part of
|
||||
# the rust-cache key, so a floating `stable` would also invalidate the entry below on
|
||||
# every Rust release.
|
||||
uses: dtolnay/rust-toolchain@1.90
|
||||
with:
|
||||
targets: aarch64-apple-ios-sim
|
||||
|
||||
- run: npm i -g --force corepack
|
||||
- name: setup node
|
||||
uses: actions/setup-node@v7
|
||||
with:
|
||||
node-version: 'lts/*'
|
||||
cache: 'pnpm'
|
||||
|
||||
- uses: Swatinem/rust-cache@v2
|
||||
with:
|
||||
# The dependencies of the CLI (host, dev profile) and of the example app (simulator
|
||||
# target, dev profile). Only `dev` writes the entry; see the Android job.
|
||||
shared-key: api-e2e-ios
|
||||
save-if: ${{ github.ref == 'refs/heads/dev' }}
|
||||
cache-on-failure: true
|
||||
|
||||
- name: install dependencies
|
||||
run: pnpm i --frozen-lockfile
|
||||
|
||||
# The simulator the suite runs on: the iPhone on the newest installed iOS runtime, as
|
||||
# wdio.mobile.ts would pick it. Booted now so that it is ready once the app is built:
|
||||
# a cold boot takes over a minute on the runner, and Appium otherwise does it as part
|
||||
# of the first session.
|
||||
- name: boot the iOS simulator
|
||||
run: |
|
||||
udid=$(xcrun simctl list devices available --json | jq -r '
|
||||
.devices
|
||||
| to_entries
|
||||
| map(select(.key | contains(".iOS-")))
|
||||
| sort_by(.key | capture("iOS-(?<major>[0-9]+)-(?<minor>[0-9]+)") | [(.major | tonumber), (.minor | tonumber)])
|
||||
| reverse
|
||||
| map(.value[] | select(.isAvailable and ((.deviceTypeIdentifier // .name) | contains("iPhone"))))
|
||||
| .[0].udid
|
||||
')
|
||||
echo "booting $udid"
|
||||
xcrun simctl boot "$udid"
|
||||
echo "E2E_IOS_DEVICE=$udid" >> "$GITHUB_ENV"
|
||||
|
||||
# Appium's release build of WebDriverAgent for the simulator. The XCUITest driver
|
||||
# otherwise compiles it with xcodebuild in the first session, which took this runner
|
||||
# 8-10 minutes: longer than the suite waits for a session, so that session always
|
||||
# failed and its spec ran again once WDA was finally up. See E2E_IOS_WDA in
|
||||
# packages/api-e2e/wdio.mobile.ts.
|
||||
- name: download WebDriverAgent
|
||||
working-directory: ./packages/api-e2e
|
||||
env:
|
||||
# where Appium looks for the driver; the suite sets the same
|
||||
APPIUM_HOME: ${{ github.workspace }}/packages/api-e2e
|
||||
run: |
|
||||
pnpm exec appium driver run xcuitest download-wda -- --outdir "$RUNNER_TEMP/wda" --platform iOS --kind sim
|
||||
echo "E2E_IOS_WDA=$RUNNER_TEMP/wda/WebDriverAgentRunner-Runner.app" >> "$GITHUB_ENV"
|
||||
|
||||
- name: build @tauri-apps/api
|
||||
run: pnpm build:api
|
||||
|
||||
- name: build @tauri-apps/cli
|
||||
# Debug profile: the suite only drives the CLI, and a debug CLI reuses the cached
|
||||
# dependencies instead of a from-scratch LTO build (10 minutes on this runner).
|
||||
run: pnpm build:cli:debug
|
||||
|
||||
# Simulator build (`aarch64-sim` on the Apple Silicon runners), unsigned.
|
||||
# Built ahead of the suite for symmetry with the Android job.
|
||||
- name: build the simulator app
|
||||
working-directory: ./examples/api
|
||||
run: |
|
||||
pnpm tauri ios init --ci --skip-targets-install
|
||||
pnpm tauri ios build --debug --target aarch64-sim --no-sign
|
||||
|
||||
- name: wait for the simulator
|
||||
run: xcrun simctl bootstatus "$E2E_IOS_DEVICE" -b
|
||||
|
||||
# wdio.ios.conf runs on the simulator booted above (E2E_IOS_DEVICE) with the
|
||||
# prebuilt WebDriverAgent (E2E_IOS_WDA).
|
||||
- name: run e2e tests
|
||||
timeout-minutes: 60
|
||||
env:
|
||||
E2E_SKIP_BUILD: '1'
|
||||
E2E_SPEC_RETRIES: '1'
|
||||
run: pnpm test:api-e2e:ios
|
||||
|
||||
- name: upload appium logs
|
||||
if: failure()
|
||||
uses: actions/upload-artifact@v7
|
||||
with:
|
||||
name: ios-appium-logs
|
||||
path: packages/api-e2e/logs
|
||||
if-no-files-found: ignore
|
||||
|
||||
- name: collect app crash reports
|
||||
if: failure()
|
||||
run: .scripts/ci/collect-macos-crash-reports.sh "$RUNNER_TEMP/crash-reports"
|
||||
|
||||
- name: upload app crash reports
|
||||
if: failure()
|
||||
uses: actions/upload-artifact@v7
|
||||
with:
|
||||
name: ios-crash-reports
|
||||
path: ${{ runner.temp }}/crash-reports
|
||||
if-no-files-found: ignore
|
||||
Reference in New Issue
Block a user