Skip to content

ci: modernize generated action defaults#870

Merged
intel352 merged 2 commits into
mainfrom
chore/wfctl-ci-modern-actions
Jun 6, 2026
Merged

ci: modernize generated action defaults#870
intel352 merged 2 commits into
mainfrom
chore/wfctl-ci-modern-actions

Conversation

@intel352
Copy link
Copy Markdown
Contributor

@intel352 intel352 commented Jun 6, 2026

Summary

  • move workflow, cigen, MCP, scaffold, and registry-generated GitHub Actions surfaces to Node 24 and Go 1.26.4
  • update pinned action SHAs/comments for artifact/cache/github-script/docker/create-pull-request and related workflow actions
  • disable setup-go built-in caching to avoid the hidden older actions/cache path; use explicit cache v5 where workflows already cache directly
  • clean up workflow shell snippets caught by actionlint

Verification

  • GOWORK=off go mod tidy && cd example && GOWORK=off go mod tidy
  • actionlint .github/workflows/*.yml
  • GOWORK=off go test ./cigen ./cmd/wfctl ./mcp ./module -count=1
  • GOWORK=off go test ./...

Copilot AI review requested due to automatic review settings June 6, 2026 21:50
Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Modernizes this repo’s CI and all generator/scaffolded GitHub Actions surfaces by bumping the default toolchain to Node.js 24 and Go 1.26.4, refreshing pinned action SHAs, and tightening workflow shell snippets/actionlint compliance.

Changes:

  • Bump Go/toolchain defaults across modules, templates, examples, docs, and tests to Go 1.26.4 (and Node.js to 24 where relevant).
  • Refresh pinned GitHub Actions references (e.g., checkout/setup-node/github-script/cache/artifacts/docker) to newer SHAs/versions.
  • Disable actions/setup-go built-in caching and clean up workflow shell scripting (quoting, read -r, etc.).

Reviewed changes

Copilot reviewed 63 out of 63 changed files in this pull request and generated 6 comments.

Show a summary per file
File Description
README.md Updates Node.js requirement; (still documents Go as 1.26+).
mcp/wfctl_tools.go Updates generated workflow Go version to 1.26.4.
mcp/github_actions_refs.go Updates pinned docker action SHAs used by MCP-generated content.
go.mod Bumps module Go version to 1.26.4.
example/go.mod Bumps example module Go version to 1.26.4.
example/ecommerce-app/README.md Updates documented Dockerfile Go image version.
DOCUMENTATION.md Updates documented Docker step image to golang:1.26.4.
docs/tutorials/deploy-pipeline.md Updates workflow snippet Go version to 1.26.4.
docs/tutorials/building-apps-with-workflow.md Updates Node.js optional prereq; Go prereq remains older.
docs/APPLICATION_UI_CONTRACT.md Updates Dockerfile examples to node:24 and golang:1.26.4.
docs/ADMIN_UI_FEATURES.md Updates narrative Go version references around r.Pattern.
data/registry/templates/ui-plugin.yaml Updates Node.js requirement in registry template notes.
data/registry/.github/workflows/validate.yml Pins checkout/setup-node and bumps Node to 24 for registry validation.
CONTRIBUTING.md Updates Node.js prerequisite (Go still documented as 1.26+).
cmd/wfctl/testdata/verify_capabilities/version-drift/go.mod Bumps Go version in capability test fixture.
cmd/wfctl/testdata/verify_capabilities/release-good/go.mod Bumps Go version in capability test fixture.
cmd/wfctl/testdata/verify_capabilities/name-drift/go.mod Bumps Go version in capability test fixture.
cmd/wfctl/testdata/verify_capabilities/missing-ldflag/go.mod Bumps Go version in capability test fixture.
cmd/wfctl/testdata/verify_capabilities/iac-missing-service/go.mod Bumps Go version in capability test fixture.
cmd/wfctl/testdata/verify_capabilities/iac-good/go.mod Bumps Go version in capability test fixture.
cmd/wfctl/testdata/verify_capabilities/iac-extra-service/go.mod Bumps Go version in capability test fixture.
cmd/wfctl/testdata/verify_capabilities/good/go.mod Bumps Go version in capability test fixture.
cmd/wfctl/testdata/conformance/no-iac/go.mod Bumps Go version in conformance test fixture.
cmd/wfctl/testdata/conformance/iac-pass/go.mod Bumps Go version in conformance test fixture.
cmd/wfctl/testdata/conformance/iac-hang/go.mod Bumps Go version in conformance test fixture.
cmd/wfctl/templates/ui-plugin/go.mod.tmpl Bumps scaffold template Go version to 1.26.4.
cmd/wfctl/templates/ui-plugin/.github/workflows/release.yml.tmpl Bumps scaffolded release workflow Go version to 1.26.4.
cmd/wfctl/templates/plugin/go.mod.tmpl Bumps scaffold template Go version to 1.26.4.
cmd/wfctl/templates/plugin/.github/workflows/release.yml.tmpl Bumps scaffolded release workflow Go version to 1.26.4.
cmd/wfctl/templates/full-stack/README.md.tmpl Bumps scaffold README prereqs (Go/Node) to 1.26.4/24.
cmd/wfctl/templates/full-stack/go.mod.tmpl Bumps scaffold template Go version to 1.26.4.
cmd/wfctl/templates/full-stack/Dockerfile.tmpl Bumps scaffold Dockerfile images to node:24 and golang:1.26.4.
cmd/wfctl/templates/full-stack/.github/workflows/ci.yml.tmpl Bumps scaffolded CI workflow Go version to 1.26.4 and Node to 24.
cmd/wfctl/templates/event-processor/README.md.tmpl Bumps scaffold README prereq Go version to 1.26.4.
cmd/wfctl/templates/event-processor/go.mod.tmpl Bumps scaffold template Go version to 1.26.4.
cmd/wfctl/templates/event-processor/Dockerfile.tmpl Bumps scaffold Dockerfile image to golang:1.26.4.
cmd/wfctl/templates/event-processor/.github/workflows/ci.yml.tmpl Bumps scaffolded CI workflow Go version to 1.26.4.
cmd/wfctl/templates/api-service/README.md.tmpl Bumps scaffold README prereq Go version to 1.26.4.
cmd/wfctl/templates/api-service/go.mod.tmpl Bumps scaffold template Go version to 1.26.4.
cmd/wfctl/templates/api-service/Dockerfile.tmpl Bumps scaffold Dockerfile image to golang:1.26.4.
cmd/wfctl/templates/api-service/.github/workflows/ci.yml.tmpl Bumps scaffolded CI workflow Go version to 1.26.4.
cmd/wfctl/plugin_conformance_test.go Updates dynamically-written fixture go.mod Go version.
cmd/wfctl/generate.go Updates wfctl-generated workflow defaults and pinned docker action SHAs.
cmd/wfctl/deploy.go Updates generated Dockerfile base image to golang:1.26.4-alpine.
cmd/wfctl/build_security_audit_test.go Updates expected Dockerfile snippets to golang:1.26.4-alpine.
cigen/testdata/multisite/generated-infra.yml Updates pinned actions/github-script ref in generated testdata.
cigen/render_gha.go Updates pinned actions/github-script ref in cigen output.
cigen/render_gha_test.go Updates tests to expect the new pinned github-script ref and reject v9 moving tags.
CICD_PLAN.md Updates Node image used in CI plan example to node:24-alpine.
.github/workflows/test-dispatch.yml Updates repository-dispatch comment/version annotation.
.github/workflows/release.yml Bumps Go version to 1.26.4, disables setup-go cache, updates artifact/cache action SHAs, and tightens shell snippets.
.github/workflows/pre-release.yml Bumps Go version to 1.26.4, disables setup-go cache, and tightens shell snippets.
.github/workflows/osv-scanner.yml Updates osv-scanner reusable workflow pins.
.github/workflows/helm-lint.yml Updates azure/setup-helm annotation/version comment.
.github/workflows/dependency-update.yml Bumps Go version to 1.26.4, disables setup-go cache, and updates create-pull-request pin.
.github/workflows/create-release.yml Updates upload-artifact pin to v7.0.1 SHA.
.github/workflows/copilot-setup-steps.yml Disables setup-go cache and updates docker/setup-buildx pin.
.github/workflows/conformance-smoke.yml Bumps Go version to 1.26.4 and disables setup-go cache.
.github/workflows/conformance-budget-check.yml Updates actions/cache pin/comment to v5.0.5.
.github/workflows/codeql.yml Bumps Go version to 1.26.4, disables setup-go cache, and updates CodeQL action annotations.
.github/workflows/ci.yml Bumps Go version to 1.26.4, disables setup-go cache across jobs, updates artifact/cache/github-script pins, and refactors shell snippets for actionlint.
.github/workflows/ci-wfctl.yml.example Updates example workflow pins and Go version comment.
.github/workflows/benchmark.yml Bumps Go version to 1.26.4, disables setup-go cache, updates cache/github-script/upload-artifact pins.

Comment thread README.md Outdated
Comment thread CONTRIBUTING.md Outdated
Comment thread docs/tutorials/building-apps-with-workflow.md
Comment thread docs/ADMIN_UI_FEATURES.md Outdated
Comment thread docs/ADMIN_UI_FEATURES.md Outdated
Comment thread .github/workflows/ci.yml Outdated
@codecov
Copy link
Copy Markdown

codecov Bot commented Jun 6, 2026

Codecov Report

❌ Patch coverage is 83.33333% with 1 line in your changes missing coverage. Please review.

Files with missing lines Patch % Lines
mcp/wfctl_tools.go 50.00% 1 Missing ⚠️

📢 Thoughts on this report? Let us know!

@github-actions
Copy link
Copy Markdown

github-actions Bot commented Jun 6, 2026

⏱ Benchmark Results

No significant performance regressions detected.

benchstat comparison (baseline → PR)
## benchstat: baseline → PR
baseline-bench.txt:304: parsing iteration count: invalid syntax
baseline-bench.txt:284678: parsing iteration count: invalid syntax
baseline-bench.txt:615063: parsing iteration count: invalid syntax
baseline-bench.txt:950035: parsing iteration count: invalid syntax
baseline-bench.txt:1245488: parsing iteration count: invalid syntax
baseline-bench.txt:1588452: parsing iteration count: invalid syntax
benchmark-results.txt:304: parsing iteration count: invalid syntax
benchmark-results.txt:348566: parsing iteration count: invalid syntax
benchmark-results.txt:673224: parsing iteration count: invalid syntax
benchmark-results.txt:962845: parsing iteration count: invalid syntax
benchmark-results.txt:1489181: parsing iteration count: invalid syntax
benchmark-results.txt:1762599: parsing iteration count: invalid syntax
goos: linux
goarch: amd64
pkg: github.com/GoCodeAlone/workflow/dynamic
cpu: AMD EPYC 9V74 80-Core Processor                
                            │ baseline-bench.txt │       benchmark-results.txt        │
                            │       sec/op       │    sec/op     vs base              │
InterpreterCreation-4               6.331m ± 53%   7.337m ± 59%       ~ (p=0.310 n=6)
ComponentLoad-4                     3.470m ±  8%   3.606m ± 11%  +3.91% (p=0.041 n=6)
ComponentExecute-4                  1.810µ ±  1%   1.832µ ±  1%  +1.22% (p=0.037 n=6)
PoolContention/workers-1-4          1.010µ ±  3%   1.060µ ±  2%  +5.05% (p=0.002 n=6)
PoolContention/workers-2-4          1.009µ ±  1%   1.060µ ±  4%  +5.05% (p=0.002 n=6)
PoolContention/workers-4-4          1.034µ ±  3%   1.022µ ±  3%       ~ (p=0.561 n=6)
PoolContention/workers-8-4          1.050µ ±  1%   1.014µ ±  1%  -3.48% (p=0.002 n=6)
PoolContention/workers-16-4         1.011µ ±  1%   1.013µ ±  1%       ~ (p=0.784 n=6)
ComponentLifecycle-4                3.497m ±  0%   3.589m ±  1%  +2.64% (p=0.002 n=6)
SourceValidation-4                  2.080µ ±  5%   2.148µ ±  5%  +3.27% (p=0.041 n=6)
RegistryConcurrent-4                769.5n ±  5%   752.4n ±  3%       ~ (p=0.394 n=6)
LoaderLoadFromString-4              3.529m ±  0%   3.621m ±  1%  +2.59% (p=0.002 n=6)
geomean                             17.59µ         18.05µ        +2.64%

                            │ baseline-bench.txt │        benchmark-results.txt         │
                            │        B/op        │     B/op      vs base                │
InterpreterCreation-4               2.027Mi ± 0%   2.027Mi ± 0%       ~ (p=0.699 n=6)
ComponentLoad-4                     2.180Mi ± 0%   2.180Mi ± 0%       ~ (p=0.818 n=6)
ComponentExecute-4                  1.203Ki ± 0%   1.203Ki ± 0%       ~ (p=1.000 n=6) ¹
PoolContention/workers-1-4          1.203Ki ± 0%   1.203Ki ± 0%       ~ (p=1.000 n=6) ¹
PoolContention/workers-2-4          1.203Ki ± 0%   1.203Ki ± 0%       ~ (p=1.000 n=6) ¹
PoolContention/workers-4-4          1.203Ki ± 0%   1.203Ki ± 0%       ~ (p=1.000 n=6) ¹
PoolContention/workers-8-4          1.203Ki ± 0%   1.203Ki ± 0%       ~ (p=1.000 n=6) ¹
PoolContention/workers-16-4         1.203Ki ± 0%   1.203Ki ± 0%       ~ (p=1.000 n=6) ¹
ComponentLifecycle-4                2.183Mi ± 0%   2.183Mi ± 0%       ~ (p=0.422 n=6)
SourceValidation-4                  1.984Ki ± 0%   1.984Ki ± 0%       ~ (p=1.000 n=6) ¹
RegistryConcurrent-4                1.133Ki ± 0%   1.133Ki ± 0%       ~ (p=1.000 n=6) ¹
LoaderLoadFromString-4              2.182Mi ± 0%   2.182Mi ± 0%       ~ (p=0.784 n=6)
geomean                             15.25Ki        15.25Ki       +0.00%
¹ all samples are equal

                            │ baseline-bench.txt │        benchmark-results.txt        │
                            │     allocs/op      │  allocs/op   vs base                │
InterpreterCreation-4                15.68k ± 0%   15.68k ± 0%       ~ (p=1.000 n=6)
ComponentLoad-4                      18.02k ± 0%   18.02k ± 0%       ~ (p=1.000 n=6)
ComponentExecute-4                    25.00 ± 0%    25.00 ± 0%       ~ (p=1.000 n=6) ¹
PoolContention/workers-1-4            25.00 ± 0%    25.00 ± 0%       ~ (p=1.000 n=6) ¹
PoolContention/workers-2-4            25.00 ± 0%    25.00 ± 0%       ~ (p=1.000 n=6) ¹
PoolContention/workers-4-4            25.00 ± 0%    25.00 ± 0%       ~ (p=1.000 n=6) ¹
PoolContention/workers-8-4            25.00 ± 0%    25.00 ± 0%       ~ (p=1.000 n=6) ¹
PoolContention/workers-16-4           25.00 ± 0%    25.00 ± 0%       ~ (p=1.000 n=6) ¹
ComponentLifecycle-4                 18.07k ± 0%   18.07k ± 0%       ~ (p=1.000 n=6) ¹
SourceValidation-4                    32.00 ± 0%    32.00 ± 0%       ~ (p=1.000 n=6) ¹
RegistryConcurrent-4                  2.000 ± 0%    2.000 ± 0%       ~ (p=1.000 n=6) ¹
LoaderLoadFromString-4               18.06k ± 0%   18.06k ± 0%       ~ (p=1.000 n=6) ¹
geomean                               183.3         183.3       +0.00%
¹ all samples are equal

pkg: github.com/GoCodeAlone/workflow/middleware
                                  │ baseline-bench.txt │       benchmark-results.txt        │
                                  │       sec/op       │    sec/op     vs base              │
CircuitBreakerDetection-4                  295.4n ± 4%   302.3n ± 16%       ~ (p=0.065 n=6)
CircuitBreakerExecution_Success-4          22.68n ± 0%   22.68n ±  0%       ~ (p=0.751 n=6)
CircuitBreakerExecution_Failure-4          70.93n ± 0%   70.95n ±  0%       ~ (p=0.656 n=6)
geomean                                    78.03n        78.64n        +0.78%

                                  │ baseline-bench.txt │       benchmark-results.txt        │
                                  │        B/op        │    B/op     vs base                │
CircuitBreakerDetection-4                 144.0 ± 0%     144.0 ± 0%       ~ (p=1.000 n=6) ¹
CircuitBreakerExecution_Success-4         0.000 ± 0%     0.000 ± 0%       ~ (p=1.000 n=6) ¹
CircuitBreakerExecution_Failure-4         0.000 ± 0%     0.000 ± 0%       ~ (p=1.000 n=6) ¹
geomean                                              ²               +0.00%               ²
¹ all samples are equal
² summaries must be >0 to compute geomean

                                  │ baseline-bench.txt │       benchmark-results.txt        │
                                  │     allocs/op      │ allocs/op   vs base                │
CircuitBreakerDetection-4                 1.000 ± 0%     1.000 ± 0%       ~ (p=1.000 n=6) ¹
CircuitBreakerExecution_Success-4         0.000 ± 0%     0.000 ± 0%       ~ (p=1.000 n=6) ¹
CircuitBreakerExecution_Failure-4         0.000 ± 0%     0.000 ± 0%       ~ (p=1.000 n=6) ¹
geomean                                              ²               +0.00%               ²
¹ all samples are equal
² summaries must be >0 to compute geomean

pkg: github.com/GoCodeAlone/workflow/module
                                 │ baseline-bench.txt │       benchmark-results.txt        │
                                 │       sec/op       │    sec/op     vs base              │
IaCStateBackend_InProcess-4              293.7n ±  1%   297.1n ±  1%  +1.16% (p=0.004 n=6)
IaCStateBackend_GRPC-4                   10.19m ± 15%   10.30m ± 13%       ~ (p=0.240 n=6)
JQTransform_Simple-4                     623.8n ± 37%   662.0n ± 32%       ~ (p=0.132 n=6)
JQTransform_ObjectConstruction-4         1.450µ ±  1%   1.466µ ±  2%  +1.10% (p=0.026 n=6)
JQTransform_ArraySelect-4                3.444µ ±  0%   3.466µ ±  2%       ~ (p=0.065 n=6)
JQTransform_Complex-4                    41.96µ ±  0%   42.31µ ±  1%  +0.84% (p=0.026 n=6)
JQTransform_Throughput-4                 1.767µ ±  1%   1.791µ ±  0%  +1.33% (p=0.002 n=6)
SSEPublishDelivery-4                     64.90n ±  2%   64.79n ±  2%       ~ (p=0.310 n=6)
geomean                                  3.815µ         3.872µ        +1.50%

                                 │ baseline-bench.txt │         benchmark-results.txt         │
                                 │        B/op        │     B/op       vs base                │
IaCStateBackend_InProcess-4             416.0 ±  0%       416.0 ±  0%       ~ (p=1.000 n=6) ¹
IaCStateBackend_GRPC-4                5.843Mi ± 10%     5.778Mi ± 18%       ~ (p=0.699 n=6)
JQTransform_Simple-4                  1.273Ki ±  0%     1.273Ki ±  0%       ~ (p=1.000 n=6) ¹
JQTransform_ObjectConstruction-4      1.773Ki ±  0%     1.773Ki ±  0%       ~ (p=1.000 n=6) ¹
JQTransform_ArraySelect-4             2.625Ki ±  0%     2.625Ki ±  0%       ~ (p=1.000 n=6) ¹
JQTransform_Complex-4                 16.31Ki ±  0%     16.31Ki ±  0%       ~ (p=1.000 n=6) ¹
JQTransform_Throughput-4              1.984Ki ±  0%     1.984Ki ±  0%       ~ (p=1.000 n=6) ¹
SSEPublishDelivery-4                    0.000 ±  0%       0.000 ±  0%       ~ (p=1.000 n=6) ¹
geomean                                             ²                  -0.14%               ²
¹ all samples are equal
² summaries must be >0 to compute geomean

                                 │ baseline-bench.txt │        benchmark-results.txt        │
                                 │     allocs/op      │  allocs/op   vs base                │
IaCStateBackend_InProcess-4              2.000 ± 0%      2.000 ± 0%       ~ (p=1.000 n=6) ¹
IaCStateBackend_GRPC-4                  6.857k ± 0%     6.862k ± 0%       ~ (p=0.288 n=6)
JQTransform_Simple-4                     10.00 ± 0%      10.00 ± 0%       ~ (p=1.000 n=6) ¹
JQTransform_ObjectConstruction-4         15.00 ± 0%      15.00 ± 0%       ~ (p=1.000 n=6) ¹
JQTransform_ArraySelect-4                30.00 ± 0%      30.00 ± 0%       ~ (p=1.000 n=6) ¹
JQTransform_Complex-4                    328.0 ± 0%      328.0 ± 0%       ~ (p=1.000 n=6) ¹
JQTransform_Throughput-4                 17.00 ± 0%      17.00 ± 0%       ~ (p=1.000 n=6) ¹
SSEPublishDelivery-4                     0.000 ± 0%      0.000 ± 0%       ~ (p=1.000 n=6) ¹
geomean                                             ²                +0.01%               ²
¹ all samples are equal
² summaries must be >0 to compute geomean

pkg: github.com/GoCodeAlone/workflow/schema
                                    │ baseline-bench.txt │       benchmark-results.txt        │
                                    │       sec/op       │    sec/op     vs base              │
SchemaValidation_Simple-4                    1.072µ ± 4%   1.100µ ± 11%       ~ (p=0.058 n=6)
SchemaValidation_AllFields-4                 1.608µ ± 7%   1.635µ ±  4%       ~ (p=0.063 n=6)
SchemaValidation_FormatValidation-4          1.588µ ± 1%   1.589µ ±  2%       ~ (p=0.974 n=6)
SchemaValidation_ManySchemas-4               1.591µ ± 2%   1.593µ ±  2%       ~ (p=0.699 n=6)
geomean                                      1.444µ        1.460µ        +1.12%

                                    │ baseline-bench.txt │       benchmark-results.txt        │
                                    │        B/op        │    B/op     vs base                │
SchemaValidation_Simple-4                   0.000 ± 0%     0.000 ± 0%       ~ (p=1.000 n=6) ¹
SchemaValidation_AllFields-4                0.000 ± 0%     0.000 ± 0%       ~ (p=1.000 n=6) ¹
SchemaValidation_FormatValidation-4         0.000 ± 0%     0.000 ± 0%       ~ (p=1.000 n=6) ¹
SchemaValidation_ManySchemas-4              0.000 ± 0%     0.000 ± 0%       ~ (p=1.000 n=6) ¹
geomean                                                ²               +0.00%               ²
¹ all samples are equal
² summaries must be >0 to compute geomean

                                    │ baseline-bench.txt │       benchmark-results.txt        │
                                    │     allocs/op      │ allocs/op   vs base                │
SchemaValidation_Simple-4                   0.000 ± 0%     0.000 ± 0%       ~ (p=1.000 n=6) ¹
SchemaValidation_AllFields-4                0.000 ± 0%     0.000 ± 0%       ~ (p=1.000 n=6) ¹
SchemaValidation_FormatValidation-4         0.000 ± 0%     0.000 ± 0%       ~ (p=1.000 n=6) ¹
SchemaValidation_ManySchemas-4              0.000 ± 0%     0.000 ± 0%       ~ (p=1.000 n=6) ¹
geomean                                                ²               +0.00%               ²
¹ all samples are equal
² summaries must be >0 to compute geomean

pkg: github.com/GoCodeAlone/workflow/store
                                   │ baseline-bench.txt │        benchmark-results.txt        │
                                   │       sec/op       │    sec/op     vs base               │
EventStoreAppend_InMemory-4                1.099µ ±  4%   1.077µ ±  4%        ~ (p=0.132 n=6)
EventStoreAppend_SQLite-4                  1.021m ±  1%   1.123m ±  7%  +10.01% (p=0.002 n=6)
GetTimeline_InMemory/events-10-4           12.74µ ±  4%   13.70µ ±  3%   +7.50% (p=0.002 n=6)
GetTimeline_InMemory/events-50-4           71.06µ ± 23%   77.02µ ±  1%   +8.38% (p=0.002 n=6)
GetTimeline_InMemory/events-100-4          109.9µ ±  0%   155.3µ ±  2%  +41.39% (p=0.002 n=6)
GetTimeline_InMemory/events-500-4          562.5µ ±  1%   595.6µ ± 32%   +5.87% (p=0.002 n=6)
GetTimeline_InMemory/events-1000-4         1.144m ±  1%   1.211m ±  1%   +5.87% (p=0.002 n=6)
GetTimeline_SQLite/events-10-4             57.00µ ±  1%   60.88µ ±  2%   +6.82% (p=0.002 n=6)
GetTimeline_SQLite/events-50-4             188.4µ ±  1%   199.4µ ±  3%   +5.81% (p=0.002 n=6)
GetTimeline_SQLite/events-100-4            349.3µ ±  1%   371.5µ ±  1%   +6.34% (p=0.002 n=6)
GetTimeline_SQLite/events-500-4            1.626m ±  1%   1.708m ±  1%   +5.00% (p=0.002 n=6)
GetTimeline_SQLite/events-1000-4           3.230m ±  0%   3.399m ±  1%   +5.24% (p=0.002 n=6)
geomean                                    183.0µ         198.5µ         +8.44%

                                   │ baseline-bench.txt │         benchmark-results.txt         │
                                   │        B/op        │     B/op       vs base                │
EventStoreAppend_InMemory-4                  800.0 ± 9%     756.0 ± 15%       ~ (p=0.128 n=6)
EventStoreAppend_SQLite-4                  1.984Ki ± 2%   1.982Ki ±  1%       ~ (p=0.522 n=6)
GetTimeline_InMemory/events-10-4           7.953Ki ± 0%   7.953Ki ±  0%       ~ (p=1.000 n=6) ¹
GetTimeline_InMemory/events-50-4           46.62Ki ± 0%   46.62Ki ±  0%       ~ (p=1.000 n=6) ¹
GetTimeline_InMemory/events-100-4          94.48Ki ± 0%   94.48Ki ±  0%       ~ (p=1.000 n=6) ¹
GetTimeline_InMemory/events-500-4          472.8Ki ± 0%   472.8Ki ±  0%       ~ (p=0.405 n=6)
GetTimeline_InMemory/events-1000-4         944.3Ki ± 0%   944.3Ki ±  0%  -0.00% (p=0.045 n=6)
GetTimeline_SQLite/events-10-4             16.74Ki ± 0%   16.74Ki ±  0%       ~ (p=1.000 n=6) ¹
GetTimeline_SQLite/events-50-4             87.14Ki ± 0%   87.14Ki ±  0%       ~ (p=1.000 n=6) ¹
GetTimeline_SQLite/events-100-4            175.4Ki ± 0%   175.4Ki ±  0%       ~ (p=1.000 n=6)
GetTimeline_SQLite/events-500-4            846.1Ki ± 0%   846.1Ki ±  0%  +0.00% (p=0.006 n=6)
GetTimeline_SQLite/events-1000-4           1.639Mi ± 0%   1.639Mi ±  0%       ~ (p=0.182 n=6)
geomean                                    67.41Ki        67.09Ki        -0.48%
¹ all samples are equal

                                   │ baseline-bench.txt │        benchmark-results.txt        │
                                   │     allocs/op      │  allocs/op   vs base                │
EventStoreAppend_InMemory-4                  7.000 ± 0%    7.000 ± 0%       ~ (p=1.000 n=6) ¹
EventStoreAppend_SQLite-4                    53.00 ± 0%    53.00 ± 0%       ~ (p=1.000 n=6) ¹
GetTimeline_InMemory/events-10-4             125.0 ± 0%    125.0 ± 0%       ~ (p=1.000 n=6) ¹
GetTimeline_InMemory/events-50-4             653.0 ± 0%    653.0 ± 0%       ~ (p=1.000 n=6) ¹
GetTimeline_InMemory/events-100-4           1.306k ± 0%   1.306k ± 0%       ~ (p=1.000 n=6) ¹
GetTimeline_InMemory/events-500-4           6.514k ± 0%   6.514k ± 0%       ~ (p=1.000 n=6) ¹
GetTimeline_InMemory/events-1000-4          13.02k ± 0%   13.02k ± 0%       ~ (p=1.000 n=6) ¹
GetTimeline_SQLite/events-10-4               382.0 ± 0%    382.0 ± 0%       ~ (p=1.000 n=6) ¹
GetTimeline_SQLite/events-50-4              1.852k ± 0%   1.852k ± 0%       ~ (p=1.000 n=6) ¹
GetTimeline_SQLite/events-100-4             3.681k ± 0%   3.681k ± 0%       ~ (p=1.000 n=6) ¹
GetTimeline_SQLite/events-500-4             18.54k ± 0%   18.54k ± 0%       ~ (p=1.000 n=6) ¹
GetTimeline_SQLite/events-1000-4            37.29k ± 0%   37.29k ± 0%       ~ (p=1.000 n=6) ¹
geomean                                     1.162k        1.162k       +0.00%
¹ all samples are equal

Benchmarks run with go test -bench=. -benchmem -count=6.
Regressions ≥ 20% are flagged. Results compared via benchstat.

@intel352 intel352 merged commit 6cde9aa into main Jun 6, 2026
29 checks passed
@intel352 intel352 deleted the chore/wfctl-ci-modern-actions branch June 6, 2026 22:15
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.

2 participants