mirror of
https://github.com/RustPython/RustPython.git
synced 2026-10-29 03:04:38 +08:00
Bumps [CodSpeedHQ/action](https://github.com/codspeedhq/action) from 5.4.2 to 5.5.0. - [Release notes](https://github.com/codspeedhq/action/releases) - [Changelog](https://github.com/CodSpeedHQ/action/blob/main/CHANGELOG.md) - [Commits](https://github.com/codspeedhq/action/compare/f842b9a3ffe213dbb81768fd7f7eeb4dfcf1c369...821a40cd6c80e3cfe387caf55668287addd808da) --- updated-dependencies: - dependency-name: CodSpeedHQ/action dependency-version: 5.5.0 dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
115 lines
4.2 KiB
YAML
115 lines
4.2 KiB
YAML
on:
|
|
push:
|
|
branches: [main]
|
|
pull_request:
|
|
types: [unlabeled, opened, synchronize, reopened]
|
|
merge_group:
|
|
# `workflow_dispatch` allows CodSpeed to trigger backtest
|
|
# performance analysis in order to generate initial data.
|
|
workflow_dispatch:
|
|
|
|
name: CodSpeed
|
|
|
|
permissions:
|
|
contents: read
|
|
|
|
concurrency:
|
|
group: ${{ github.workflow }}-${{ github.ref_name }}-${{ github.event.pull_request.number || github.sha }}
|
|
cancel-in-progress: true
|
|
|
|
env:
|
|
CARGO_INCREMENTAL: 0
|
|
CARGO_TERM_COLOR: always
|
|
CI: true
|
|
|
|
jobs:
|
|
benchmarks:
|
|
if: ${{ !contains(github.event.pull_request.labels.*.name, 'skip:ci') }}
|
|
name: Run benchmarks
|
|
runs-on: ubuntu-latest
|
|
timeout-minutes: 90
|
|
permissions:
|
|
contents: read
|
|
id-token: write # for OpenID Connect authentication with CodSpeed
|
|
env:
|
|
CACHE_PATHS: |
|
|
# https://doc.rust-lang.org/cargo/guide/cargo-home.html#caching-the-cargo-home-in-ci
|
|
~/.cargo/.crates2.json
|
|
~/.cargo/.crates.toml
|
|
~/.cargo/bin/
|
|
~/.cargo/registry/index/
|
|
~/.cargo/registry/cache/
|
|
~/.cargo/git/db/
|
|
target/
|
|
steps:
|
|
- uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
|
|
with:
|
|
persist-credentials: false
|
|
|
|
- uses: dtolnay/rust-toolchain@stable
|
|
|
|
# The benchmarks are linked against libpython through the pyo3 dev-dependency.
|
|
- uses: actions/setup-python@5fda3b95a4ea91299a34e894583c3862153e4b97 # v7.0.0
|
|
|
|
- name: Restore the machine main last measured on
|
|
# A recording that cannot be fetched is read as "none yet", which the step
|
|
# below treats as nothing to disagree with. Failing here instead would
|
|
# turn a cache outage into a red benchmark job.
|
|
continue-on-error: true
|
|
uses: actions/cache/restore@55cc8345863c7cc4c66a329aec7e433d2d1c52a9 # v6.1.0
|
|
with:
|
|
path: build/codspeed-environment-reference.json
|
|
key: codspeed-environment-${{ runner.os }}-${{ runner.arch }}-${{ github.run_id }}
|
|
restore-keys: codspeed-environment-${{ runner.os }}-${{ runner.arch }}-
|
|
|
|
- name: Name the machine this run drew
|
|
id: environment
|
|
shell: bash
|
|
run: |
|
|
reference=build/codspeed-environment-reference.json
|
|
if [ "$GITHUB_REF" = refs/heads/main ]; then
|
|
args=(--record "$reference")
|
|
else
|
|
args=(--record build/codspeed-environment.json --reference "$reference")
|
|
fi
|
|
python3 scripts/codspeed-environment.py "${args[@]}" --github-output
|
|
|
|
- name: Restore cache
|
|
if: ${{ steps.environment.outputs.match != 'false' }}
|
|
uses: actions/cache/restore@55cc8345863c7cc4c66a329aec7e433d2d1c52a9 # v6.1.0
|
|
with:
|
|
path: ${{ env.CACHE_PATHS }}
|
|
key: codspeed-v2-${{ hashFiles('**/Cargo.lock') }}
|
|
restore-keys: codspeed-v2-
|
|
continue-on-error: true
|
|
|
|
- name: Install cargo-codspeed
|
|
if: ${{ steps.environment.outputs.match != 'false' }}
|
|
run: cargo install cargo-codspeed --locked --version ^5
|
|
|
|
- name: Build the benchmark targets
|
|
if: ${{ steps.environment.outputs.match != 'false' }}
|
|
run: cargo codspeed build --locked --measurement-mode simulation -p rustpython -p rustpython-sre_engine
|
|
|
|
- name: Save cache
|
|
if: ${{ github.ref == 'refs/heads/main' }} # only save on main
|
|
uses: actions/cache/save@55cc8345863c7cc4c66a329aec7e433d2d1c52a9 # v6.1.0
|
|
with:
|
|
path: ${{ env.CACHE_PATHS }}
|
|
key: codspeed-v2-${{ hashFiles('**/Cargo.lock') }}
|
|
continue-on-error: true
|
|
|
|
- name: Run the benchmarks
|
|
if: ${{ steps.environment.outputs.match != 'false' }}
|
|
uses: CodSpeedHQ/action@821a40cd6c80e3cfe387caf55668287addd808da # v5.5.0
|
|
with:
|
|
mode: simulation
|
|
run: cargo codspeed run -p rustpython -p rustpython-sre_engine
|
|
|
|
- name: Record the machine this baseline was measured on
|
|
if: ${{ success() && github.ref == 'refs/heads/main' }}
|
|
uses: actions/cache/save@55cc8345863c7cc4c66a329aec7e433d2d1c52a9 # v6.1.0
|
|
with:
|
|
path: build/codspeed-environment-reference.json
|
|
key: codspeed-environment-${{ runner.os }}-${{ runner.arch }}-${{ github.run_id }}
|