# 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}