Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
189 changes: 0 additions & 189 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -6,158 +6,11 @@ on:
workflow_dispatch:

jobs:
lint:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
with:
submodules: true
- uses: moonrepo/setup-rust@v1
with:
components: rustfmt, clippy
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- uses: pre-commit/action@v3.0.1
with:
extra_args: --all-files

- uses: taiki-e/install-action@v2
with:
tool: bindgen-cli@0.72.1
- name: Check if bindings are up-to-date
working-directory: crates/codspeed/src/instrument_hooks
run: |
./update-bindings.sh

if ! git diff --exit-code bindings.rs; then
echo "Error: FFI bindings are out of date!"
exit 1
fi

test-codspeed:
runs-on: ${{ matrix.job.os }}
strategy:
fail-fast: false
matrix:
job:
- { os: ubuntu-latest, target: arm-unknown-linux-gnueabihf }
- { os: ubuntu-latest, target: aarch64-unknown-linux-musl }
- { os: ubuntu-latest, target: i686-unknown-linux-gnu }
- { os: ubuntu-latest, target: i686-unknown-linux-musl }
- { os: ubuntu-latest, target: x86_64-unknown-linux-gnu }
- { os: ubuntu-latest, target: x86_64-unknown-linux-musl }
- { os: macos-latest, target: aarch64-apple-darwin }
- { os: macos-latest, target: x86_64-apple-darwin }
- { os: windows-latest, target: i686-pc-windows-msvc }
- { os: windows-latest, target: x86_64-pc-windows-msvc }
- { os: windows-latest, target: aarch64-pc-windows-msvc }
steps:
- uses: actions/checkout@v4
with:
submodules: true

- uses: moonrepo/setup-rust@v1
with:
targets: ${{ matrix.job.target }}
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}

- uses: taiki-e/install-action@v2
with:
tool: cross@0.2.5

- name: Build codspeed
run: cross build -p codspeed --target ${{ matrix.job.target }}

msrv-check:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
with:
submodules: true
- uses: moonrepo/setup-rust@v1
with:
bins: cargo-msrv
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- name: Check cospeed MSRV
run: cargo msrv --path crates/codspeed verify -- cargo check --all-features --config codspeed=true
- name: Check bencher_compat MSRV
run: cargo msrv --path crates/bencher_compat verify -- cargo check --all-features --config codspeed=true
- name: Check criterion_compat MSRV
run: cargo msrv --path crates/criterion_compat verify -- cargo check --all-features --config codspeed=true
- name: Check divan_compat MSRV
run: cargo msrv --path crates/divan_compat verify -- cargo check --all-features --config codspeed=true

tests-without-cargo-codspeed:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
with:
submodules: true
- uses: moonrepo/setup-rust@v1
with:
bins: cargo-nextest
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- run: cargo nextest run --workspace --exclude cargo-codspeed

test-cargo-codspeed:
runs-on: ubuntu-latest
strategy:
matrix:
partition: [1, 2, 3, 4, 5]
steps:
- uses: actions/checkout@v4
with:
submodules: true
- uses: moonrepo/setup-rust@v1
with:
bins: cargo-nextest
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- run: cargo nextest run -p cargo-codspeed --partition hash:${{ matrix.partition }}/5

compat-integration-test-instrumentation:
runs-on: ubuntu-latest
strategy:
matrix:
build-args:
- "-p codspeed"
- "-p codspeed-bencher-compat"
- "--features async_futures -p codspeed-criterion-compat"
- "-p codspeed-divan-compat"
- "-p codspeed-divan-compat-examples"
steps:
- uses: actions/checkout@v4
with:
submodules: true
- uses: moonrepo/setup-rust@v1
with:
cache-target: release
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}

- run: cargo install --path crates/cargo-codspeed --locked

- run: cargo codspeed build ${{ matrix.build-args }}

- name: Run the benchmarks
uses: CodSpeedHQ/action@main
env:
MY_ENV_VAR: "YES"
with:
run: cargo codspeed run
mode: instrumentation
token: ${{ secrets.CODSPEED_TOKEN }}

compat-integration-test-walltime:
runs-on: codspeed-macro
strategy:
matrix:
package:
- codspeed-divan-compat
- codspeed-divan-compat-examples
- codspeed-criterion-compat
steps:
- uses: actions/checkout@v4
Expand All @@ -184,45 +37,3 @@ jobs:
run: cargo codspeed run
mode: walltime
token: ${{ secrets.CODSPEED_TOKEN }}

musl-build-check:
strategy:
matrix:
include:
- target: x86_64-unknown-linux-musl
runner: ubuntu-24.04
- target: aarch64-unknown-linux-musl
runner: codspeedhq-arm64-ubuntu-24.04

runs-on: ${{ matrix.runner }}
steps:
- uses: actions/checkout@v4
with:
submodules: true
- uses: moonrepo/setup-rust@v1
with:
targets: ${{ matrix.target }}
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}

- name: Install musl tools
run: sudo apt-get update && sudo apt-get install -y musl-tools

- run: cargo build --locked --release --bin cargo-codspeed --target ${{ matrix.target }}

check:
runs-on: ubuntu-latest
if: always()
needs:
- lint
- test-codspeed
- tests-without-cargo-codspeed
- test-cargo-codspeed
- msrv-check
- compat-integration-test-instrumentation
- compat-integration-test-walltime
- musl-build-check
steps:
- uses: re-actors/alls-green@release/v1
with:
jobs: ${{ toJson( needs ) }}
102 changes: 0 additions & 102 deletions .github/workflows/release.yml

This file was deleted.

Loading