From a52c6cd393251e474edf23f99235079de51d7256 Mon Sep 17 00:00:00 2001 From: Inessa Pawson Date: Sat, 10 Oct 2026 20:32:09 -0400 Subject: [PATCH 1/3] CI: add smoke test for spin bench --- .github/workflows/pythonpackage.yml | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/.github/workflows/pythonpackage.yml b/.github/workflows/pythonpackage.yml index a9b631b..a54f23b 100644 --- a/.github/workflows/pythonpackage.yml +++ b/.github/workflows/pythonpackage.yml @@ -67,3 +67,9 @@ jobs: - name: Test with pytest run: | spin test -- --doctest-modules + - name: Smoke test benchmarks + # Runs a single benchmark in asv dry-run mode so that CI catches + # future incompatibilities between spin bench, spin and asv. + run: | + asv machine --yes + spin bench -t Npv2D.time_broadcast From 8d0209808c0ea11fa4cc09d06b214944544b4197 Mon Sep 17 00:00:00 2001 From: Inessa Pawson Date: Mon, 12 Oct 2026 20:18:20 -0400 Subject: [PATCH 2/3] CI: add --quick flag to spin bench --- .spin/cmds.py | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/.spin/cmds.py b/.spin/cmds.py index 91973eb..4b742cf 100644 --- a/.spin/cmds.py +++ b/.spin/cmds.py @@ -9,12 +9,16 @@ @click.command() @click.option('--tests', '-t', multiple=True, help='Select benchmarks by name or regular expression.') +@click.option('--quick', '-q', is_flag=True, default=False, + help="Run each benchmark only once (timings won't be accurate).") @meson.build_dir_option @click.pass_context -def bench(ctx, tests, build_dir): +def bench(ctx, tests, quick, build_dir): """Run benchmarks against the local build without saving results.""" args = [sys.executable, '-m', 'asv', 'run', '--python=same', '--dry-run', '--show-stderr'] + if quick: + args.append('--quick') for test in tests: args.extend(['--bench', test]) ctx.invoke(meson.build, build_dir=build_dir) From 6f31fc2f15c65684dccf29ad9d2f9da3e2798776 Mon Sep 17 00:00:00 2001 From: Sebastian Berg Date: Tue, 13 Oct 2026 09:29:29 +0200 Subject: [PATCH 3/3] Update .github/workflows/pythonpackage.yml --- .github/workflows/pythonpackage.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/pythonpackage.yml b/.github/workflows/pythonpackage.yml index a54f23b..8fef970 100644 --- a/.github/workflows/pythonpackage.yml +++ b/.github/workflows/pythonpackage.yml @@ -72,4 +72,4 @@ jobs: # future incompatibilities between spin bench, spin and asv. run: | asv machine --yes - spin bench -t Npv2D.time_broadcast + spin bench --quick