zed/.github/workflows/compare_perf.yml
Finn Evers 6f5b4fc8c4
ci: Prepare for Node.js 20 deprecation (#56812)
https://github.com/zed-industries/zed/actions/runs/25881329418 complains
about the deprecation of Node.js version 20, which will soon be
force-bumped to 24 in the runner contexts.

Thus, this PR bumps all the jobs mentioned there to versions that run on
Node.js 24 by default. I checked all the release note section for the
three actions and this should not change any behaviour according to
their release notes and get us ready for the deprecation.

Release Notes:

- N/A
2026-05-15 08:29:24 +00:00

84 lines
2.6 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@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}