Follow up to https://github.com/zed-industries/zed/pull/42556 Release Notes: - N/A *or* Added/Fixed/Improved ...
81 lines
2.7 KiB
YAML
81 lines
2.7 KiB
YAML
# Generated from xtask::workflows::compare_perf
|
|
# Rebuild with `cargo xtask workflows`.
|
|
name: compare_perf
|
|
on:
|
|
workflow_dispatch:
|
|
inputs:
|
|
head:
|
|
description: head
|
|
required: true
|
|
type: string
|
|
base:
|
|
description: base
|
|
required: true
|
|
type: string
|
|
crate_name:
|
|
description: crate_name
|
|
type: string
|
|
default: ''
|
|
jobs:
|
|
run_perf:
|
|
runs-on: namespace-profile-16x32-ubuntu-2204
|
|
steps:
|
|
- name: steps::checkout_repo
|
|
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683
|
|
with:
|
|
clean: false
|
|
- name: steps::setup_cargo_config
|
|
run: |
|
|
mkdir -p ./../.cargo
|
|
cp ./.cargo/ci-config.toml ./../.cargo/config.toml
|
|
shell: bash -euxo pipefail {0}
|
|
- name: steps::setup_linux
|
|
run: ./script/linux
|
|
shell: bash -euxo pipefail {0}
|
|
- name: steps::install_mold
|
|
run: ./script/install-mold
|
|
shell: bash -euxo pipefail {0}
|
|
- name: steps::download_wasi_sdk
|
|
run: ./script/download-wasi-sdk
|
|
shell: bash -euxo pipefail {0}
|
|
- name: compare_perf::run_perf::install_hyperfine
|
|
uses: taiki-e/install-action@hyperfine
|
|
- name: steps::git_checkout
|
|
run: git fetch origin ${{ inputs.base }} && git checkout ${{ inputs.base }}
|
|
shell: bash -euxo pipefail {0}
|
|
- name: compare_perf::run_perf::cargo_perf_test
|
|
run: |2-
|
|
|
|
if [ -n "${{ inputs.crate_name }}" ]; then
|
|
cargo perf-test -p ${{ inputs.crate_name }} -- --json=${{ inputs.base }};
|
|
else
|
|
cargo perf-test -p vim -- --json=${{ inputs.base }};
|
|
fi
|
|
shell: bash -euxo pipefail {0}
|
|
- name: steps::git_checkout
|
|
run: git fetch origin ${{ inputs.head }} && git checkout ${{ inputs.head }}
|
|
shell: bash -euxo pipefail {0}
|
|
- name: compare_perf::run_perf::cargo_perf_test
|
|
run: |2-
|
|
|
|
if [ -n "${{ inputs.crate_name }}" ]; then
|
|
cargo perf-test -p ${{ inputs.crate_name }} -- --json=${{ inputs.head }};
|
|
else
|
|
cargo perf-test -p vim -- --json=${{ inputs.head }};
|
|
fi
|
|
shell: bash -euxo pipefail {0}
|
|
- name: compare_perf::run_perf::compare_runs
|
|
run: cargo perf-compare --save=results.md ${{ inputs.base }} ${{ inputs.head }}
|
|
shell: bash -euxo pipefail {0}
|
|
- name: '@actions/upload-artifact results.md'
|
|
uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4
|
|
with:
|
|
name: results.md
|
|
path: results.md
|
|
if-no-files-found: error
|
|
- name: steps::cleanup_cargo_config
|
|
if: always()
|
|
run: |
|
|
rm -rf ./../.cargo
|
|
shell: bash -euxo pipefail {0}
|