Skip to content

.github/workflows: Migrate workflows to Blacksmith runners - #321

Merged
AnnatarHe merged 1 commit into
mainfrom
blacksmith-migration-e028b58
Oct 9, 2026
Merged

AnnatarHe merged 1 commit into
mainfrom
blacksmith-migration-e028b58

Conversation

@blacksmith-sh

@blacksmith-sh blacksmith-sh Bot commented Oct 9, 2026 •

Copy link
Copy Markdown
Contributor

This PR has been automatically generated by a team member in your GitHub organization using Blacksmith's Migration Wizard. This PR changes the following:

  1. Your selected workflows will now run on Blacksmith's 2x faster hardware (e.g., runs-on: blacksmith-4vcpu-ubuntu-2204). Learn more about the different instances available to choose from.
  2. Your jobs running on Blacksmith will now have all official GitHub and popular third-party cache actions automatically interact with our 4x faster, colocated cache. Learn more about Blacksmith's actions cache.
  3. Your GitHub Actions will now actually be observable. Learn more about Blacksmith's logging and other observability features.

View with [code]smith
Need help on this PR? Tag @codesmith-bot with what you need. Autofix is enabled.

@AnnatarHe
AnnatarHe merged commit b8e209e into main Oct 9, 2026
2 of 3 checks passed
@AnnatarHe
AnnatarHe deleted the blacksmith-migration-e028b58 branch October 9, 2026 11:06
@github-actions

github-actions Bot commented Oct 9, 2026

Copy link
Copy Markdown
Contributor

⏱️ shelltime track performance

✅ No significant change in shelltime track latency

Comparing main @ e028b58 → #321 @ 4536aae. Each scenario execs the binary the way the shell hooks do; values are the median of 10 interleaved rounds. Lower is better.

Scenario base head Δ p
Startup/floor 149 µs ±9% 157 µs ±12% ~ 0.123 A/A
Startup/version 1.83 ms ±15% 1.69 ms ±15% ~ 0.190 ✅
Track/daemon/pre 1.96 ms ±22% 1.82 ms ±25% ~ 0.353 ✅
Track/daemon/post 1.96 ms ±15% 1.75 ms ±22% ~ 0.143 ✅
Track/direct/pre 1.78 ms ±18% 1.70 ms ±26% ~ 0.315 ✅
Track/direct/post 3.53 ms ±11% 3.28 ms ±16% ~ 0.684 ✅
Track/direct/post-sync 4.43 ms ±14% 4.57 ms ±16% ~ 0.481 ✅

Binary size: 19.1 MiB → 19.1 MiB (+0.0%).

CPU, tail latency and memory

Per exec, base → head (Δ when significant).

Scenario p95 wall user CPU sys CPU peak RSS
Startup/floor 163 µs → 194 µs 131 µs → 135 µs 4 µs → 3 µs 9.1 MiB → 9.1 MiB
Startup/version 2.50 ms → 1.99 ms 1.38 ms → 1.35 ms 496 µs → 387 µs 15.0 MiB → 15.0 MiB
Track/daemon/pre 2.44 ms → 2.12 ms 1.42 ms → 1.38 ms 589 µs → 517 µs 15.9 MiB → 15.9 MiB
Track/daemon/post 2.38 ms → 2.00 ms 1.47 ms → 1.37 ms 471 µs → 463 µs 15.6 MiB → 15.6 MiB
Track/direct/pre 1.92 ms → 1.83 ms 1.40 ms → 1.40 ms 452 µs → 377 µs 15.8 MiB → 15.8 MiB
Track/direct/post 4.24 ms → 3.66 ms 2.54 ms → 2.51 ms 1.13 ms → 924 µs 16.8 MiB → 16.8 MiB
Track/direct/post-sync 5.48 ms → 5.47 ms 3.28 ms → 3.16 ms 1.53 ms → 1.48 ms 18.7 MiB → 18.6 MiB
benchstat
goos: linux
goarch: amd64
pkg: github.com/malamtime/cli/perf
cpu: AMD EPYC
                         │     base     │                head                 │
                         │    sec/op    │    sec/op     vs base               │
Startup/floor-2            149.3µ ±  9%   156.9µ ± 12%       ~ (p=0.123 n=10)
Startup/version-2          1.831m ± 15%   1.686m ± 15%       ~ (p=0.190 n=10)
Track/daemon/pre-2         1.963m ± 22%   1.822m ± 25%       ~ (p=0.353 n=10)
Track/daemon/post-2        1.963m ± 15%   1.752m ± 22%       ~ (p=0.143 n=10)
Track/direct/pre-2         1.777m ± 18%   1.699m ± 26%       ~ (p=0.315 n=10)
Track/direct/post-2        3.535m ± 11%   3.277m ± 16%       ~ (p=0.684 n=10)
Track/direct/post-sync-2   4.434m ± 14%   4.565m ± 16%       ~ (p=0.481 n=10)
geomean                    1.621m         1.550m        -4.37%

                         │     base     │                head                 │
                         │  p50-sec/op  │  p50-sec/op   vs base               │
Startup/floor-2            142.4µ ±  6%   142.6µ ±  8%       ~ (p=0.436 n=10)
Startup/version-2          1.762m ± 19%   1.623m ± 18%       ~ (p=0.218 n=10)
Track/daemon/pre-2         1.912m ± 22%   1.776m ± 19%       ~ (p=0.165 n=10)
Track/daemon/post-2        1.854m ± 20%   1.708m ± 23%       ~ (p=0.143 n=10)
Track/direct/pre-2         1.751m ± 18%   1.674m ± 23%       ~ (p=0.247 n=10)
Track/direct/post-2        3.431m ± 10%   3.188m ± 19%       ~ (p=0.971 n=10)
Track/direct/post-sync-2   4.318m ± 13%   4.443m ± 16%       ~ (p=0.280 n=10)
geomean                    1.566m         1.494m        -4.55%

                         │     base     │                head                 │
                         │  p95-sec/op  │  p95-sec/op   vs base               │
Startup/floor-2            163.3µ ± 10%   194.5µ ± 33%       ~ (p=0.143 n=10)
Startup/version-2          2.500m ± 32%   1.992m ± 25%       ~ (p=0.075 n=10)
Track/daemon/pre-2         2.444m ± 23%   2.124m ± 28%       ~ (p=0.353 n=10)
Track/daemon/post-2        2.380m ± 17%   1.998m ± 27%       ~ (p=0.165 n=10)
Track/direct/pre-2         1.921m ± 31%   1.828m ± 61%       ~ (p=0.280 n=10)
Track/direct/post-2        4.245m ± 20%   3.663m ± 25%       ~ (p=0.529 n=10)
Track/direct/post-sync-2   5.479m ± 21%   5.472m ± 23%       ~ (p=1.000 n=10)
geomean                    1.947m         1.796m        -7.77%

                         │     base     │                head                 │
                         │  peak-rss-B  │  peak-rss-B   vs base               │
Startup/floor-2            9.134Mi ± 1%   9.145Mi ± 2%       ~ (p=0.468 n=10)
Startup/version-2          15.01Mi ± 0%   15.01Mi ± 0%       ~ (p=0.207 n=10)
Track/daemon/pre-2         15.89Mi ± 0%   15.89Mi ± 0%       ~ (p=0.617 n=10)
Track/daemon/post-2        15.65Mi ± 0%   15.64Mi ± 0%       ~ (p=0.147 n=10)
Track/direct/pre-2         15.76Mi ± 0%   15.76Mi ± 0%       ~ (p=0.671 n=10)
Track/direct/post-2        16.79Mi ± 0%   16.80Mi ± 0%       ~ (p=0.753 n=10)
Track/direct/post-sync-2   18.67Mi ± 0%   18.63Mi ± 0%       ~ (p=0.342 n=10)
geomean                    14.97Mi        14.97Mi       -0.01%

                         │     base      │                 head                 │
                         │  sys-sec/op   │  sys-sec/op   vs base                │
Startup/floor-2             3.930µ ± 65%   3.305µ ± 75%        ~ (p=0.836 n=10)
Startup/version-2           495.5µ ± 28%   387.1µ ± 41%        ~ (p=0.218 n=10)
Track/daemon/pre-2          588.9µ ± 39%   516.8µ ± 28%        ~ (p=0.529 n=10)
Track/daemon/post-2         470.7µ ± 61%   463.0µ ± 51%        ~ (p=0.796 n=10)
Track/direct/pre-2          451.5µ ± 24%   376.8µ ± 56%        ~ (p=0.123 n=10)
Track/direct/post-2        1126.8µ ± 25%   924.2µ ± 47%        ~ (p=0.436 n=10)
Track/direct/post-sync-2    1.533m ± 28%   1.479m ± 18%        ~ (p=0.796 n=10)
geomean                     329.4µ         286.3µ        -13.10%

                         │     base     │                head                 │
                         │ user-sec/op  │ user-sec/op   vs base               │
Startup/floor-2            130.9µ ±  8%   134.7µ ±  9%       ~ (p=0.190 n=10)
Startup/version-2          1.381m ± 15%   1.347m ± 11%       ~ (p=0.353 n=10)
Track/daemon/pre-2         1.418m ± 21%   1.384m ± 17%       ~ (p=0.218 n=10)
Track/daemon/post-2        1.468m ± 20%   1.370m ± 13%       ~ (p=0.105 n=10)
Track/direct/pre-2         1.397m ± 18%   1.403m ± 16%       ~ (p=0.739 n=10)
Track/direct/post-2        2.536m ± 10%   2.505m ±  7%       ~ (p=0.739 n=10)
Track/direct/post-sync-2   3.284m ± 20%   3.162m ± 17%       ~ (p=0.684 n=10)
geomean                    1.235m         1.211m        -1.91%

Δ compares medians; ~ means no significant difference (Mann-Whitney U, p ≥ 0.05). A scenario is flagged when it is more than 10% and more than 250µs slower with p < 0.05. Startup/floor runs true, not shelltime: it is an A/A check of runner noise. Runner: linux/amd64, AMD EPYC. go1.27.1, 10 rounds × 100 execs per scenario and binary.

@codecov

codecov Bot commented Oct 9, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.

Flag Coverage Δ
unittests 85.90% <ø> (?)

Flags with carried forward coverage won't be shown. Click here to find out more.
see 2 files with indirect coverage changes

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant