Skip to content

ci: pin GitHub Actions refs and move Node to 24#869

Merged
intel352 merged 8 commits into
mainfrom
chore/issue-868-node24-actions
Jun 6, 2026
Merged

ci: pin GitHub Actions refs and move Node to 24#869
intel352 merged 8 commits into
mainfrom
chore/issue-868-node24-actions

Conversation

@intel352
Copy link
Copy Markdown
Contributor

@intel352 intel352 commented Jun 6, 2026

Closes #868

Summary

  • Pin active GitHub workflow actions to full commit SHAs with version comments.
  • Move GitHub workflow and generated Node setup from 20/22 to Node 24 LTS.
  • Make cigen, wfctl generator, MCP generator/scaffolds, SDK templates, fixtures, and docs emit SHA-pinned action refs by default.

Version checks

  • actions/checkout v6.0.3 -> df4cb1c069e1874edd31b4311f1884172cec0e10
  • actions/setup-go v6.4.0 -> 4a3601121dd01d1626a1e23e37211e3254c1c06c
  • actions/setup-node v6.4.0 -> 48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e
  • golangci/golangci-lint-action v9.2.1 -> 82606bf257cbaff209d206a39f5134f0cfbfd2ee
  • Additional workflow helpers were resolved through GitHub refs and pinned with version comments.

Verification

  • GOWORK=off go test -race ./...
  • GOWORK=off go test ./cigen ./mcp ./plugin/sdk -timeout=2m
  • GOWORK=off go test ./cmd/wfctl -run 'TestVerifyCapabilities|TestGenerateGitHubActions|TestCIWorkflowContent|TestCDWorkflowContent|TestReleaseWorkflowContent|TestRunGenerateGithubActionsWithUI|TestGenerateGHABootstrap_NoConfig|TestGenerateGHABootstrap_WithEnvironments|TestValidateSkipsNonWorkflowYAML' -count=1 -timeout=3m
  • GOWORK=off golangci-lint run ./cigen ./mcp ./plugin/sdk ./cmd/wfctl --timeout=10m
  • actionlint -ignore 'shellcheck reported issue' .github/workflows/*.yml
  • git diff --check

Notes

  • Node.js release metadata currently lists v24 as Latest LTS and v26 as Latest Release.
  • CI provider coverage passed for workflow-plugin-aws, workflow-plugin-azure, and workflow-plugin-gcp.

Copilot AI review requested due to automatic review settings June 6, 2026 17:27
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

This PR hardens GitHub Actions usage across the repo by switching workflow action references from moving tags (e.g., @v6) to SHA-pinned refs with version comments, and updates Node usage across workflows/generators from Node 20/22 to Node 24 LTS. It also updates the various workflow generators/templates/tests/docs so newly generated scaffolds default to these pinned refs.

Changes:

  • Pin GitHub Actions uses: references (workflows, templates, generators, fixtures, docs) to specific commit SHAs with version comments.
  • Move generated/workflow Node setup to Node 24 and bump actions/setup-node to the Node 24–compatible major.
  • Update generator/validation tests and scaffolding to expect SHA-pinned action refs.

Reviewed changes

Copilot reviewed 41 out of 41 changed files in this pull request and generated 5 comments.

Show a summary per file
File Description
plugin/sdk/generator.go Pins action refs in the SDK plugin workflow generator output.
mcp/wfctl_tools.go Updates MCP workflow generation to emit SHA-pinned actions and Node 24 for UI builds.
mcp/scaffold_tools.go Updates MCP scaffolding to use centralized SHA-pinned action ref constants.
mcp/scaffold_tools_test.go Updates scaffold tests to assert SHA-pinned checkout usage.
mcp/github_actions_refs.go Introduces centralized SHA-pinned action ref constants for MCP generators.
docs/WFCTL.md Updates documentation examples to use SHA-pinned actions.
docs/tutorials/deploy-pipeline.md Updates tutorial workflow snippets to use SHA-pinned actions and updated majors.
docs/PLUGIN_RELEASE_GATES.md Pins workflow action refs used in release gate documentation.
docs/manual/build-deploy/03-ci-deploy-environments.md Pins action refs in CI/deploy environment documentation snippets.
cmd/wfctl/validate_test.go Updates wfctl validation test fixture YAML to use pinned checkout ref.
cmd/wfctl/templates/ui-plugin/.github/workflows/release.yml.tmpl Pins actions and bumps Node version in UI plugin release workflow template.
cmd/wfctl/templates/plugin/.github/workflows/release.yml.tmpl Pins actions in plugin release workflow template.
cmd/wfctl/templates/full-stack/.github/workflows/ci.yml.tmpl Pins actions and bumps Node version in full-stack CI template.
cmd/wfctl/templates/event-processor/.github/workflows/ci.yml.tmpl Pins actions in event-processor CI template.
cmd/wfctl/templates/api-service/.github/workflows/ci.yml.tmpl Pins actions in api-service CI template.
cmd/wfctl/generate.go Updates the wfctl GitHub Actions generator to emit SHA-pinned refs + Node 24.
cmd/wfctl/generate_test.go Updates generator tests to assert SHA-pinned action refs.
cmd/wfctl/ci_test.go Updates CI generation tests to assert SHA-pinned action refs.
cmd/wfctl/ci_init.go Updates wfctl ci init scaffolding to use SHA-pinned action refs.
cmd/wfctl/ci_init_test.go Updates ci-init tests to assert SHA-pinned setup-wfctl action refs.
cmd/wfctl/build_image.go Updates error guidance text to reference SHA-pinned buildx action usage.
cigen/validate_test.go Updates cigen validation test YAML to use pinned checkout ref.
cigen/testdata/multisite/generated-infra.yml Updates generated fixture to use SHA-pinned actions.
cigen/testdata/multisite/GAP.md Updates cigen gap doc text to match the new pinning approach.
cigen/render_gha.go Updates cigen GitHub Actions renderer to emit SHA-pinned actions.
cigen/render_gha_test.go Adds/updates tests to ensure cigen output is SHA-pinned (and not tag-based).
.github/workflows/test-dispatch.yml Pins repository-dispatch action in test workflow.
.github/workflows/release.yml Pins actions and bumps Node version in release workflow.
.github/workflows/pre-release.yml Pins actions and bumps Node version in pre-release workflow.
.github/workflows/helm-lint.yml Pins checkout and setup-helm action refs.
.github/workflows/dependency-update.yml Pins checkout/setup-go/create-pull-request action refs.
.github/workflows/cross-plugin-build-test.yml Pins checkout/setup-go refs in cross-plugin build/test workflow.
.github/workflows/create-release.yml Pins checkout/upload-artifact refs in create-release workflow.
.github/workflows/copilot-setup-steps.yml Pins checkout/setup-go/buildx/golangci-lint action refs for Copilot setup steps.
.github/workflows/conformance-smoke.yml Pins checkout/setup-go refs in conformance smoke workflow.
.github/workflows/conformance-leak-scrubber.yml Pins checkout ref in leak scrubber workflow.
.github/workflows/conformance-budget-check.yml Pins checkout/cache refs and aligns cache comment with pinned ref.
.github/workflows/codeql.yml Pins checkout/setup-go/setup-node/codeql-action refs and bumps Node version.
.github/workflows/ci.yml Pins key actions (checkout/setup-go/setup-node/lint/codecov/artifacts, etc.) and bumps Node version.
.github/workflows/ci-wfctl.yml.example Updates example workflow to use pinned action refs.
.github/workflows/benchmark.yml Pins checkout/setup-go/setup-node/cache/github-script/upload-artifact refs and bumps Node version.

Comment thread cmd/wfctl/generate.go Outdated
Comment thread mcp/github_actions_refs.go Outdated
Comment thread cigen/render_gha.go Outdated
Comment thread .github/workflows/ci.yml Outdated
Comment thread mcp/github_actions_refs.go Outdated
Copilot AI review requested due to automatic review settings June 6, 2026 17:32
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

Copilot reviewed 41 out of 41 changed files in this pull request and generated 1 comment.

Comment thread cmd/wfctl/build_image.go Outdated
@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:322163: parsing iteration count: invalid syntax
baseline-bench.txt:607296: parsing iteration count: invalid syntax
baseline-bench.txt:936511: parsing iteration count: invalid syntax
baseline-bench.txt:1233167: parsing iteration count: invalid syntax
baseline-bench.txt:1581105: parsing iteration count: invalid syntax
benchmark-results.txt:304: parsing iteration count: invalid syntax
benchmark-results.txt:292889: parsing iteration count: invalid syntax
benchmark-results.txt:577845: parsing iteration count: invalid syntax
benchmark-results.txt:898285: parsing iteration count: invalid syntax
benchmark-results.txt:1221080: parsing iteration count: invalid syntax
benchmark-results.txt:1557726: parsing iteration count: invalid syntax
goos: linux
goarch: amd64
pkg: github.com/GoCodeAlone/workflow/dynamic
cpu: AMD EPYC 7763 64-Core Processor                
                            │ baseline-bench.txt │       benchmark-results.txt        │
                            │       sec/op       │    sec/op     vs base              │
InterpreterCreation-4               6.987m ± 62%   7.511m ± 59%       ~ (p=0.818 n=6)
ComponentLoad-4                     3.658m ±  1%   3.568m ±  9%       ~ (p=0.065 n=6)
ComponentExecute-4                  1.955µ ±  1%   1.942µ ±  2%       ~ (p=0.260 n=6)
PoolContention/workers-1-4          1.089µ ±  6%   1.093µ ±  3%       ~ (p=0.461 n=6)
PoolContention/workers-2-4          1.090µ ±  3%   1.082µ ±  2%       ~ (p=1.000 n=6)
PoolContention/workers-4-4          1.084µ ±  1%   1.095µ ±  1%  +1.06% (p=0.050 n=6)
PoolContention/workers-8-4          1.091µ ±  1%   1.090µ ±  1%       ~ (p=0.727 n=6)
PoolContention/workers-16-4         1.090µ ±  1%   1.109µ ±  2%  +1.70% (p=0.022 n=6)
ComponentLifecycle-4                3.621m ±  1%   3.653m ±  1%  +0.88% (p=0.002 n=6)
SourceValidation-4                  2.337µ ±  1%   2.366µ ±  0%  +1.24% (p=0.002 n=6)
RegistryConcurrent-4                779.5n ±  6%   848.2n ±  2%  +8.81% (p=0.002 n=6)
LoaderLoadFromString-4              3.614m ±  1%   3.662m ±  1%  +1.33% (p=0.026 n=6)
geomean                             18.69µ         18.98µ        +1.53%

                            │ baseline-bench.txt │        benchmark-results.txt         │
                            │        B/op        │     B/op      vs base                │
InterpreterCreation-4               2.027Mi ± 0%   2.027Mi ± 0%       ~ (p=0.981 n=6)
ComponentLoad-4                     2.180Mi ± 0%   2.180Mi ± 0%       ~ (p=0.119 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.790 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.394 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                  286.8n ± 4%   287.9n ± 3%       ~ (p=0.818 n=6)
CircuitBreakerExecution_Success-4          21.45n ± 0%   21.45n ± 1%       ~ (p=0.970 n=6)
CircuitBreakerExecution_Failure-4          66.68n ± 0%   65.39n ± 0%  -1.93% (p=0.002 n=6)
geomean                                    74.30n        73.91n       -0.52%

                                  │ 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              309.2n ± 34%   308.9n ± 39%       ~ (p=0.818 n=6)
IaCStateBackend_GRPC-4                   9.532m ±  4%   9.546m ±  2%       ~ (p=0.818 n=6)
JQTransform_Simple-4                     686.5n ± 48%   704.9n ± 35%       ~ (p=0.589 n=6)
JQTransform_ObjectConstruction-4         1.621µ ±  0%   1.568µ ±  1%  -3.27% (p=0.002 n=6)
JQTransform_ArraySelect-4                3.606µ ±  1%   3.600µ ±  1%       ~ (p=0.485 n=6)
JQTransform_Complex-4                    40.87µ ±  5%   41.27µ ±  1%       ~ (p=0.093 n=6)
JQTransform_Throughput-4                 1.968µ ±  1%   1.934µ ±  1%  -1.68% (p=0.002 n=6)
SSEPublishDelivery-4                     66.52n ±  6%   66.69n ±  0%       ~ (p=0.589 n=6)
geomean                                  3.982µ         3.976µ        -0.16%

                                 │ 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.971Mi ± 8%     5.899Mi ± 10%       ~ (p=0.937 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.15%               ²
¹ 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.841k ± 0%     6.838k ± 1%       ~ (p=0.584 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.097µ ± 9%   1.105µ ±  3%       ~ (p=0.455 n=6)
SchemaValidation_AllFields-4                 1.665µ ± 2%   1.698µ ± 14%       ~ (p=0.093 n=6)
SchemaValidation_FormatValidation-4          1.600µ ± 2%   1.587µ ±  3%       ~ (p=0.240 n=6)
SchemaValidation_ManySchemas-4               1.812µ ± 3%   1.806µ ±  2%       ~ (p=1.000 n=6)
geomean                                      1.517µ        1.523µ        +0.37%

                                    │ 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.371µ ± 12%   1.238µ ±  6%       ~ (p=0.065 n=6)
EventStoreAppend_SQLite-4                  1.382m ±  6%   1.428m ±  3%       ~ (p=0.065 n=6)
GetTimeline_InMemory/events-10-4           14.44µ ±  6%   14.28µ ±  3%       ~ (p=0.485 n=6)
GetTimeline_InMemory/events-50-4           81.01µ ±  2%   80.13µ ±  5%       ~ (p=0.394 n=6)
GetTimeline_InMemory/events-100-4          144.1µ ± 15%   143.6µ ± 15%       ~ (p=0.937 n=6)
GetTimeline_InMemory/events-500-4          641.4µ ±  1%   642.0µ ±  0%       ~ (p=0.699 n=6)
GetTimeline_InMemory/events-1000-4         1.305m ±  1%   1.308m ±  1%       ~ (p=0.699 n=6)
GetTimeline_SQLite/events-10-4             72.01µ ±  1%   72.84µ ±  1%  +1.16% (p=0.015 n=6)
GetTimeline_SQLite/events-50-4             216.6µ ±  0%   217.9µ ±  1%  +0.61% (p=0.002 n=6)
GetTimeline_SQLite/events-100-4            392.2µ ±  1%   397.0µ ±  0%  +1.22% (p=0.002 n=6)
GetTimeline_SQLite/events-500-4            1.789m ±  3%   1.807m ±  0%       ~ (p=0.065 n=6)
GetTimeline_SQLite/events-1000-4           3.529m ±  1%   3.567m ±  1%  +1.10% (p=0.009 n=6)
geomean                                    216.0µ         215.3µ        -0.35%

                                   │ baseline-bench.txt │        benchmark-results.txt         │
                                   │        B/op        │     B/op      vs base                │
EventStoreAppend_InMemory-4                  823.5 ± 8%     800.5 ± 6%       ~ (p=0.855 n=6)
EventStoreAppend_SQLite-4                  1.984Ki ± 3%   1.984Ki ± 2%       ~ (p=1.000 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=1.000 n=6)
GetTimeline_InMemory/events-1000-4         944.3Ki ± 0%   944.3Ki ± 0%       ~ (p=1.000 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%       ~ (p=0.545 n=6)
GetTimeline_SQLite/events-1000-4           1.639Mi ± 0%   1.639Mi ± 0%       ~ (p=0.706 n=6)
geomean                                    67.58Ki        67.42Ki       -0.24%
¹ 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.

@codecov
Copy link
Copy Markdown

codecov Bot commented Jun 6, 2026

Codecov Report

❌ Patch coverage is 87.50000% with 6 lines in your changes missing coverage. Please review.

Files with missing lines Patch % Lines
mcp/wfctl_tools.go 50.00% 5 Missing ⚠️
cmd/wfctl/build_image.go 0.00% 1 Missing ⚠️

📢 Thoughts on this report? Let us know!

Copilot AI review requested due to automatic review settings June 6, 2026 17:46
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

Copilot reviewed 41 out of 41 changed files in this pull request and generated 4 comments.

Comment thread cmd/wfctl/generate.go Outdated
Comment thread cmd/wfctl/generate.go Outdated
Comment thread .github/workflows/cross-plugin-build-test.yml Outdated
Comment thread .github/workflows/copilot-setup-steps.yml
Copilot AI review requested due to automatic review settings June 6, 2026 18:06
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

Copilot reviewed 43 out of 43 changed files in this pull request and generated 2 comments.

Comment thread cmd/wfctl/generate.go
Comment thread .github/workflows/ci.yml
@intel352 intel352 merged commit 09ac57a into main Jun 6, 2026
29 checks passed
@intel352 intel352 deleted the chore/issue-868-node24-actions branch June 6, 2026 19:33
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.

Refresh GitHub Actions to Node 24-compatible action majors

2 participants