# 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@93cb6efe18208431cddfb8368fd83d5badbf9bfd with: clean: false - name: steps::setup_cargo_config run: | mkdir -p ./../.cargo cp ./.cargo/ci-config.toml ./../.cargo/config.toml - name: steps::setup_linux run: ./script/linux - name: steps::download_wasi_sdk run: ./script/download-wasi-sdk - name: compare_perf::run_perf::install_hyperfine uses: taiki-e/install-action@b4f2d5cb8597b15997c8ede873eb6185efc5f0ad - name: steps::git_checkout run: git fetch origin "$REF_NAME" && git checkout "$REF_NAME" env: REF_NAME: ${{ inputs.base }} - name: compare_perf::run_perf::cargo_perf_test run: |2- if [ -n "$CRATE_NAME" ]; then cargo perf-test -p "$CRATE_NAME" -- --json="$REF_NAME"; else cargo perf-test -p vim -- --json="$REF_NAME"; fi env: REF_NAME: ${{ inputs.base }} CRATE_NAME: ${{ inputs.crate_name }} - name: steps::git_checkout run: git fetch origin "$REF_NAME" && git checkout "$REF_NAME" env: REF_NAME: ${{ inputs.head }} - name: compare_perf::run_perf::cargo_perf_test run: |2- if [ -n "$CRATE_NAME" ]; then cargo perf-test -p "$CRATE_NAME" -- --json="$REF_NAME"; else cargo perf-test -p vim -- --json="$REF_NAME"; fi env: REF_NAME: ${{ inputs.head }} CRATE_NAME: ${{ inputs.crate_name }} - name: compare_perf::run_perf::compare_runs run: cargo perf-compare --save=results.md "$BASE" "$HEAD" env: BASE: ${{ inputs.base }} HEAD: ${{ inputs.head }} - name: run_bundling::upload_artifact uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a with: name: results.md path: results.md if-no-files-found: error - name: steps::cleanup_cargo_config if: always() run: | rm -rf ./../.cargo defaults: run: shell: bash -euxo pipefail {0}