Improve compare_perf.yml, cherry_pick.yml (#41606)

Release Notes:

- N/A

---------

Co-authored-by: Nia Espera <nia@zed.dev>
This commit is contained in:
Conrad Irwin
2025-11-04 11:29:35 -07:00
committed by GitHub
co-authored by Nia Espera
parent 2a2e04bb5c
commit 43a7f96462
10 changed files with 224 additions and 13 deletions
+25
View File
@@ -0,0 +1,25 @@
# Generated from xtask::workflows::cherry_pick
# Rebuild with `cargo xtask workflows`.
name: cherry_pick
on:
workflow_dispatch:
inputs:
commit:
description: commit
required: true
type: string
branch:
description: branch
required: true
type: string
jobs:
run_cherry_pick:
runs-on: namespace-profile-2x4-ubuntu-2404
steps:
- name: steps::checkout_repo
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683
with:
clean: false
- name: cherry_pick::run_cherry_pick::cherry_pick
run: ./scripts/cherry-pick ${{ inputs.branch }} ${{ inputs.commit }}
shell: bash -euxo pipefail {0}
+51 -2
View File
@@ -2,12 +2,61 @@
# Rebuild with `cargo xtask workflows`.
name: compare_perf
on:
workflow_dispatch: {}
workflow_dispatch:
inputs:
head:
description: head
required: true
type: string
base:
description: base
required: true
type: string
jobs:
run_perf:
runs-on: namespace-profile-2x4-ubuntu-2404
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: compare_perf::run_perf::install_hyperfine
run: cargo install hyperfine
shell: bash -euxo pipefail {0}
- 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: cargo perf-test -p gpui -- --json=${{ inputs.base }}
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: cargo perf-test -p gpui -- --json=${{ inputs.head }}
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}