2024-03-01 14:29:01 +03:00
|
|
|
# Copyright 2019-2024 Tauri Programme within The Commons Conservancy
|
2023-02-19 16:17:49 +03:00
|
|
|
# SPDX-License-Identifier: Apache-2.0
|
|
|
|
# SPDX-License-Identifier: MIT
|
|
|
|
|
Merge remote-tracking branch 'origin/dev' into next (#7067)
Co-authored-by: wusyong <wusyong@users.noreply.github.com>
Co-authored-by: Fabian-Lars <fabianlars@fabianlars.de>
Co-authored-by: Lucas Nogueira <lucas@tauri.studio>
Co-authored-by: Simon Hyll <hyllsimon@gmail.com>
Co-authored-by: Lucas Fernandes Nogueira <lucas@tauri.app>
Co-authored-by: Lucas Nogueira <lucas@tauri.app>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Lucas Fernandes Nogueira <lucas@tauri.studio>
Co-authored-by: Amr Bashir <amr.bashir2015@gmail.com>
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: chip <chip@chip.sh>
Co-authored-by: Raphii <iam@raphii.co>
Co-authored-by: Ronie Martinez <ronmarti18@gmail.com>
Co-authored-by: hanaTsuk1 <101488209+hanaTsuk1@users.noreply.github.com>
Co-authored-by: nathan-fall <39990940+nathan-fall@users.noreply.github.com>
Co-authored-by: Akshay <nerdy@peppe.rs>
Co-authored-by: KurikoMoe <kurikomoe@gmail.com>
Co-authored-by: Guilherme Oenning <me@goenning.net>
Co-authored-by: Pierre Cashon <biaocy91@gmail.com>
Co-authored-by: Jack Wills <32690432+mrjackwills@users.noreply.github.com>
Co-authored-by: Amirhossein Akhlaghpour <m9.akhlaghpoor@gmail.com>
Co-authored-by: Risto Stevcev <me@risto.codes>
Co-authored-by: Soumt <rltks1305@naver.com>
Co-authored-by: yutotnh <57719497+yutotnh@users.noreply.github.com>
Co-authored-by: Gökçe Merdun <agmmnn@gmail.com>
Co-authored-by: Nathanael Rea <Nathan@NathanaelRea.com>
Co-authored-by: Usman Rajab <usman.rajab@gmail.com>
Co-authored-by: Francis The Basilisk <36006338+snorkysnark@users.noreply.github.com>
Co-authored-by: Lej77 <31554212+Lej77@users.noreply.github.com>
Co-authored-by: Tomáš Diblík <dibla.tomas@post.cz>
Co-authored-by: Jonas Kruckenberg <iterpre@protonmail.com>
Co-authored-by: Pascal Sommer <Pascal-So@users.noreply.github.com>
Co-authored-by: Bo <bertonzh@gmail.com>
Co-authored-by: Kevin Yue <k3vinyue@gmail.com>
fixed grammar and typos (#6937)
Fix api.js docs pipeline with updated typedoc dependencies (#6945)
closes #6887 (#6922)
fix(core): Fix `WindowBuilder::on_navigation` handler never registerd, closes #6865 (#6921)
fix(core): Fix `WindowBuilder::on_navigation` handler never registerd, closes #6865
fix broken symlinks in license files (#6336)
fix(cli): fix cli connection timeout to dev server (fix #6045) (#6046)
fix(bundler): ensure that there are no duplicate extension arguments when bundling on Windows, fixes #6103 (#6917)
fix(bundler): ensure that there are no duplicate extension arguments during bundling on Windows (fix #6103)
closes #5491 (#6408)
fix(nsis): prefill $INSTDIR with previous install path and respect `/D` flag, closes #6928 (#6935)
fix(nsis): prefill $INSTDIR with previous install path and respect `/D` flag, closes #6928
fix(updater): emit `UPTODATE` when server responds with 204, closes #6934 (#6970)
fix(core): unpin all dependencies, closes #6944 (#6966)
fix(bundler): Add new lang_file option in persian variant. (#6972)
fix(core/ipc): access url through webview native object, closes #6889 (#6976)
fix(core): remove trailing slash in http scope url, closes #5208 (#6974)
fix(core): remove trailing slash in http scope url, closes #5208
fix(cli): find correct binary when `--profile` is used, closes #6954 (#6979)
fix(cli): find correct binary when `--profile` is used, closes #6954
closes #6955 (#6987)
closes #6955
closes #6158 (#6969)
closes #6158
fix(cli): improve vs build tools detection (#6982)
fix: updated appimage script to follow symlinks for /usr/lib* (fix: #6992) (#6996)
fix(cli): correctly remove Cargo features (#7013)
Fix typo (#7012)
fix(cli): revert metadata.json field rename from #6795 (#7029)
closes #6732 (#6736)
fix: add missing file properties on Windows, closes #6676 (#6693)
fix(cli.js): detect node-20 binary (#6667)
fix version-or-publish workflow (#7031)
fix(cli/devserver): inject autoreload into HTML only, closes #6997 (#7032)
fix(bundler/nsis): write installer templates UTF16LE encoded, closes #7036 (#7040)
fix(bundler/nsis): write installer templates UTF16LE encoded, closes #7036
fix(core): rewrite `asset` protocol streaming, closes #6375 (#6390)
closes #5939 (#5960)
fix(core): use `safe_block_on` (#7047)
closes #6859 (#6933)
closes #6955 (#6998)
fix(core): populate webview_attrs from config, closes #6794 (#6797)
closes #5176 (#5180)
fix: sound for notifications on windows (fix #6652) (#6680)
close native window's buttons, closes #2353 (#6665)
fix(bundler/nsis): calculate accurate app size, closes #7056 (#7057)
fix(tests): only download update when it is available (#7061)
closes #6706 (#6712)
fix(doc): correct the doc of `content_protected()` (#7065)
closes #6472 (#6530)
fix(macros): use full path to Result to avoid issues with type aliases (#7071)
2023-05-30 03:29:24 +03:00
|
|
|
name: bench
|
2021-05-21 22:50:40 +03:00
|
|
|
|
|
|
|
on:
|
|
|
|
push:
|
|
|
|
branches:
|
|
|
|
- dev
|
2023-06-17 15:41:22 +03:00
|
|
|
- 1.x
|
2021-05-21 22:50:40 +03:00
|
|
|
workflow_dispatch:
|
2023-10-22 17:13:32 +03:00
|
|
|
pull_request:
|
|
|
|
paths:
|
|
|
|
- '.github/workflows/bench.yml'
|
2021-05-21 22:50:40 +03:00
|
|
|
|
2022-02-14 02:27:21 +03:00
|
|
|
env:
|
|
|
|
RUST_BACKTRACE: 1
|
|
|
|
CARGO_PROFILE_DEV_DEBUG: 0 # This would add unnecessary bloat to the target folder, decreasing cache efficiency.
|
2023-10-22 17:13:32 +03:00
|
|
|
LC_ALL: en_US.UTF-8 # This prevents strace from changing its number format to use commas.
|
2022-02-14 02:27:21 +03:00
|
|
|
|
2022-04-21 21:09:57 +03:00
|
|
|
concurrency:
|
2022-04-27 01:04:10 +03:00
|
|
|
group: ${{ github.workflow }}-${{ github.ref }}
|
2022-04-21 21:09:57 +03:00
|
|
|
cancel-in-progress: true
|
|
|
|
|
2021-05-21 22:50:40 +03:00
|
|
|
jobs:
|
|
|
|
bench:
|
|
|
|
strategy:
|
|
|
|
fail-fast: false
|
|
|
|
matrix:
|
2022-02-14 02:27:21 +03:00
|
|
|
rust: [nightly]
|
2021-05-21 22:50:40 +03:00
|
|
|
platform:
|
2023-10-22 17:13:32 +03:00
|
|
|
- { target: x86_64-unknown-linux-gnu, os: ubuntu-latest }
|
2021-05-21 22:50:40 +03:00
|
|
|
|
|
|
|
runs-on: ${{ matrix.platform.os }}
|
|
|
|
|
|
|
|
steps:
|
2023-09-09 16:38:19 +03:00
|
|
|
- uses: actions/checkout@v4
|
2023-10-26 21:27:52 +03:00
|
|
|
|
|
|
|
- name: install Rust ${{ matrix.rust }}
|
|
|
|
uses: dtolnay/rust-toolchain@master
|
2021-05-21 22:50:40 +03:00
|
|
|
with:
|
2022-02-14 02:27:21 +03:00
|
|
|
toolchain: ${{ matrix.rust }}
|
2021-05-21 22:50:40 +03:00
|
|
|
components: rust-src
|
2023-10-26 21:27:52 +03:00
|
|
|
targets: ${{ matrix.platform.target }}
|
2021-05-21 22:50:40 +03:00
|
|
|
|
|
|
|
- name: setup python
|
2023-10-22 17:13:32 +03:00
|
|
|
uses: actions/setup-python@v4
|
2021-05-21 22:50:40 +03:00
|
|
|
with:
|
2022-11-05 01:25:55 +03:00
|
|
|
python-version: '3.10'
|
2021-05-21 22:50:40 +03:00
|
|
|
architecture: x64
|
|
|
|
|
2022-09-03 07:03:02 +03:00
|
|
|
- name: install dependencies
|
2021-05-21 22:50:40 +03:00
|
|
|
run: |
|
|
|
|
python -m pip install --upgrade pip
|
|
|
|
sudo apt-get update
|
2023-10-22 17:13:32 +03:00
|
|
|
sudo apt-get install -y --no-install-recommends \
|
|
|
|
libwebkit2gtk-4.1-dev libayatana-appindicator3-dev \
|
|
|
|
xvfb \
|
|
|
|
at-spi2-core
|
|
|
|
wget https://github.com/sharkdp/hyperfine/releases/download/v1.18.0/hyperfine_1.18.0_amd64.deb
|
|
|
|
sudo dpkg -i hyperfine_1.18.0_amd64.deb
|
2021-05-21 22:50:40 +03:00
|
|
|
pip install memory_profiler
|
|
|
|
|
2022-11-05 00:26:30 +03:00
|
|
|
- uses: Swatinem/rust-cache@v2
|
2021-05-21 22:50:40 +03:00
|
|
|
with:
|
2022-11-05 00:26:30 +03:00
|
|
|
workspaces: |
|
2022-11-06 22:27:29 +03:00
|
|
|
core -> ../target
|
2022-11-05 00:26:30 +03:00
|
|
|
tooling/bench/tests
|
2022-02-14 02:27:21 +03:00
|
|
|
|
2021-05-21 22:50:40 +03:00
|
|
|
- name: run benchmarks
|
|
|
|
run: |
|
2022-02-14 02:27:21 +03:00
|
|
|
cargo build --release -Z build-std=std,panic_abort -Z build-std-features=panic_immediate_abort --target ${{ matrix.platform.target }} --manifest-path tooling/bench/tests/Cargo.toml
|
2021-05-21 22:50:40 +03:00
|
|
|
xvfb-run --auto-servernum cargo run --manifest-path tooling/bench/Cargo.toml --bin run_benchmark
|
|
|
|
|
|
|
|
- name: clone benchmarks_results
|
2022-02-14 02:27:21 +03:00
|
|
|
if: github.repository == 'tauri-apps/tauri' && github.ref == 'refs/heads/dev'
|
2023-09-09 16:38:19 +03:00
|
|
|
uses: actions/checkout@v4
|
2021-05-21 22:50:40 +03:00
|
|
|
with:
|
|
|
|
token: ${{ secrets.BENCH_PAT }}
|
|
|
|
path: gh-pages
|
|
|
|
repository: tauri-apps/benchmark_results
|
|
|
|
|
|
|
|
- name: push new benchmarks
|
2022-02-14 02:27:21 +03:00
|
|
|
if: github.repository == 'tauri-apps/tauri' && github.ref == 'refs/heads/dev'
|
2021-05-21 22:50:40 +03:00
|
|
|
run: |
|
|
|
|
cargo run --manifest-path tooling/bench/Cargo.toml --bin build_benchmark_jsons
|
|
|
|
cd gh-pages
|
|
|
|
git pull
|
|
|
|
git config user.name "tauri-bench"
|
|
|
|
git config user.email "gh.tauribot@gmail.com"
|
|
|
|
git add .
|
|
|
|
git commit --message "Update Tauri benchmarks"
|
|
|
|
git push origin gh-pages
|
|
|
|
|
2022-11-05 00:26:30 +03:00
|
|
|
- name: Print worker info
|
2021-05-21 22:50:40 +03:00
|
|
|
run: |
|
|
|
|
cat /proc/cpuinfo
|
|
|
|
cat /proc/meminfo
|