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
121 lines
4.1 KiB
YAML
121 lines
4.1 KiB
YAML
# Copyright 2019-2024 Tauri Programme within The Commons Conservancy
|
|
# SPDX-License-Identifier: Apache-2.0
|
|
# SPDX-License-Identifier: MIT
|
|
|
|
name: bench
|
|
|
|
on:
|
|
push:
|
|
branches:
|
|
- dev
|
|
workflow_dispatch:
|
|
pull_request:
|
|
paths:
|
|
- '.github/workflows/bench.yml'
|
|
- 'bench/**'
|
|
|
|
env:
|
|
RUST_BACKTRACE: 1
|
|
CARGO_PROFILE_DEV_DEBUG: 0 # This would add unnecessary bloat to the target folder, decreasing cache efficiency.
|
|
LC_ALL: en_US.UTF-8 # This prevents strace from changing its number format to use commas.
|
|
|
|
concurrency:
|
|
group: ${{ github.workflow }}-${{ github.ref }}
|
|
cancel-in-progress: true
|
|
|
|
permissions:
|
|
contents: read
|
|
|
|
jobs:
|
|
bench:
|
|
strategy:
|
|
fail-fast: false
|
|
matrix:
|
|
rust: [nightly]
|
|
platform:
|
|
- {
|
|
target: x86_64-unknown-linux-gnu,
|
|
os: ubuntu-latest,
|
|
runner: 'xvfb-run --auto-servernum '
|
|
}
|
|
- { target: x86_64-pc-windows-msvc, os: windows-latest, runner: '' }
|
|
- { target: aarch64-apple-darwin, os: macos-latest, runner: '' }
|
|
|
|
runs-on: ${{ matrix.platform.os }}
|
|
|
|
steps:
|
|
- uses: actions/checkout@v6
|
|
|
|
- name: install Rust ${{ matrix.rust }}
|
|
uses: dtolnay/rust-toolchain@master
|
|
with:
|
|
toolchain: ${{ matrix.rust }}
|
|
components: rust-src
|
|
targets: ${{ matrix.platform.target }}
|
|
|
|
- name: install webkit2gtk and xvfb (ubuntu only)
|
|
if: contains(matrix.platform.target, 'gnu')
|
|
run: |
|
|
sudo apt-get update
|
|
sudo apt-get install -y --no-install-recommends \
|
|
webkit2gtk-4.1 libayatana-appindicator3-dev \
|
|
xvfb \
|
|
at-spi2-core
|
|
|
|
- name: Setup python
|
|
uses: actions/setup-python@v6
|
|
with:
|
|
python-version: '3.13'
|
|
|
|
- name: install memory_profiler
|
|
run: |
|
|
python -m pip install --upgrade pip
|
|
pip install memory_profiler
|
|
|
|
- name: Install cargo-binstall
|
|
uses: cargo-bins/cargo-binstall@v1.19.1
|
|
|
|
- name: Install hyperfine
|
|
run: cargo binstall hyperfine@1.20 --no-confirm
|
|
|
|
# No rust-cache on purpose: this job only runs on `dev`, its target dir does not fit the
|
|
# repository's 10 GB cache limit next to the entries pull requests restore, and an entry
|
|
# evicted before the next push only costs upload time.
|
|
- name: build benchmark binaries
|
|
env:
|
|
RUSTFLAGS: '-Zunstable-options -Cpanic=immediate-abort'
|
|
run: |
|
|
cargo +nightly build --release -Z build-std=std,panic_abort -Z build-std-features= --target ${{ matrix.platform.target }} --manifest-path bench/tests/cpu_intensive/src-tauri/Cargo.toml
|
|
cargo +nightly build --release -Z build-std=std,panic_abort -Z build-std-features= --target ${{ matrix.platform.target }} --manifest-path bench/tests/files_transfer/src-tauri/Cargo.toml
|
|
cargo +nightly build --release -Z build-std=std,panic_abort -Z build-std-features= --target ${{ matrix.platform.target }} --manifest-path bench/tests/helloworld/src-tauri/Cargo.toml
|
|
|
|
- name: run benchmarks
|
|
run: ${{ matrix.platform.runner }}cargo run --manifest-path ./bench/Cargo.toml --bin run_benchmark
|
|
|
|
- name: clone benchmarks_results
|
|
if: github.repository == 'tauri-apps/tauri' && github.ref == 'refs/heads/dev'
|
|
uses: actions/checkout@v7
|
|
with:
|
|
token: ${{ secrets.ORG_TAURI_BOT_PAT }}
|
|
path: gh-pages
|
|
repository: tauri-apps/benchmark_results
|
|
|
|
- name: push new benchmarks
|
|
if: github.repository == 'tauri-apps/tauri' && github.ref == 'refs/heads/dev'
|
|
run: |
|
|
cargo run --manifest-path ./bench/Cargo.toml --bin build_benchmark_jsons
|
|
cd gh-pages
|
|
git pull
|
|
git config user.name "tauri-bot"
|
|
git config user.email "tauri-bot@tauri.app"
|
|
git add .
|
|
git commit --message "Update Tauri benchmarks"
|
|
git push origin gh-pages
|
|
|
|
- name: Print worker info
|
|
# TODO: How to print this info on macOS and Windows
|
|
if: contains(matrix.platform.target, 'gnu')
|
|
run: |
|
|
cat /proc/cpuinfo
|
|
cat /proc/meminfo
|