[Sync] Update project files from source repository (8ea4f3b) - #158
Closed
mrz1836 wants to merge 1 commit into
Closed
[Sync] Update project files from source repository (8ea4f3b)#158mrz1836 wants to merge 1 commit into
mrz1836 wants to merge 1 commit into
Conversation
|
There was a problem hiding this comment.
Pull request overview
This PR syncs CI/CD and tooling configuration from the upstream source repository, primarily improving GoFortress GitHub Actions workflows and composite actions to better handle benchstat compatibility and richer test-result validation.
Changes:
- Added a Linux preflight job to validate the caller-provided test matrix (and fail fast on unsupported Windows runners) before scheduling the main test matrix job.
- Updated the benchstat setup composite action and workflow wiring to select a benchstat build based on the runner’s Go version and a configurable minimum-Go threshold.
- Enhanced the test-results validation composite action to better account for process-level failures (e.g., non-zero exit code with zero per-test failures) in validation and summaries.
Reviewed changes
Copilot reviewed 7 out of 7 changed files in this pull request and generated 4 comments.
Show a summary per file
| File | Description |
|---|---|
| .github/workflows/fortress-test-matrix.yml | Adds preflight validation and updates benchstat/test enforcement logic in the reusable test matrix workflow. |
| .github/actions/setup-benchstat/action.yml | Introduces Go-version-based benchstat build selection and updates caching/install behavior accordingly. |
| .github/actions/validate-test-results/action.yml | Improves failure accounting to include process-level failures and refines summary rendering. |
| .github/env/10-mage-x.env | Bumps mage-x/staticcheck/golangci-lint pins and adds dual benchstat pins with a minimum-Go threshold. |
| .github/env/00-core.env | Updates the Go version used specifically for govulncheck scanning. |
| .github/env/10-pre-commit.env | Updates the golangci-lint version pin used by go-pre-commit. |
| .github/env/10-security.env | Removes an OSV-Scanner pinning comment while retaining the configured OSV scanner version. |
Suppressed comments (2)
.github/actions/validate-test-results/action.yml:90
- The PR description mentions adding structured outputs (total/passed/failed/skipped packages/tests), but this composite action currently declares no
outputs:and never writes to$GITHUB_OUTPUT. If downstream workflows are expected to consume these metrics, they won't be available; consider adding explicit action outputs wired to a step that emits the computed totals.
VALIDATION_FAILED=false
TOTAL_FAILURES=0
TOTAL_UNIQUE=0
TOTAL_TESTS=0
TOTAL_SKIPPED=0
# Find all CI results files
.github/env/10-security.env:86
- PR description says
GO_SEC_VERSIONandGO_SEC_MIN_VERSIONwere removed from this file, but they aren't present here (and the only change is removing the OSV-Scanner pin comment). Please adjust the PR description to reflect the actual change.
# 🛠️ SECURITY TOOL VERSIONS
# ================================================================================================
GITLEAKS_VERSION=8.30.1
GOVULNCHECK_VERSION=v1.7.0
NANCY_VERSION=v2.1.0
OSV_SCANNER_VERSION=v2.5.1
💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.
Comment on lines
99
to
107
| @@ -66,19 +106,37 @@ runs: | |||
| MAJOR=$(echo "$GO_VERSION" | sed -E 's/^([0-9]+)\..*/\1/') | |||
| MINOR=$(echo "$GO_VERSION" | sed -E 's/^[0-9]+\.([0-9]+).*/\1/') | |||
Member
Author
|
Cancelling due to an issue that was detected. |
mrz1836
deleted the
chore/sync-files-go-template-20260821-183809-8ea4f3b
branch
August 21, 2026 18:46
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.



What Changed
.github/actions/setup-benchstat/action.ymlto support version selection based on Go toolchain compatibility - addedbenchstat-version-latestandbenchstat-latest-min-goinputs to allow newer benchstat builds on Go >= 1.26 while maintainingbenchstat-versionfor Go 1.25.x runners.github/actions/validate-test-results/action.ymlwith structured outputs includingtotal-packages,passed-packages,failed-packages,skipped-packages,total-tests,passed-tests,failed-tests, andskipped-testsfor programmatic test result parsing.github/env/10-mage-x.envto addMAGE_X_BENCHSTAT_VERSION_LATESTandMAGE_X_BENCHSTAT_VERSION_LATEST_MIN_GO="1.26"variables, and updatedMAGE_X_VERSIONfromv1.13.1tov1.14.0.github/env/00-core.envchangingGO_VERSIONfrom1.25.1to1.25.2GO_SEC_VERSIONandGO_SEC_MIN_VERSIONvariables from.github/env/10-security.env.github/env/10-pre-commit.envchangingGO_PRE_COMMIT_VERSIONfromv2.8.4tov2.8.5.github/workflows/fortress-test-matrix.ymlto utilize new benchstat version selection inputs and validate-test-results structured outputs, adding step-level outputs for test counts and verification logicWhy It Was Necessary
golang.org/x/perfrepository periodically raises its minimum Go version requirement, making newer benchstat builds incompatible with older Go toolchains - the version selection logic ensures each runner uses the newest compatible benchstat buildTesting Performed
benchstat-versionfor Go 1.25.x runners andbenchstat-version-latestfor Go >= 1.26 runners via theresolved-versionoutputtotal-packages,passed-packages,failed-packages,skipped-packages,total-tests,passed-tests,failed-tests,skipped-tests)Impact / Risk
benchstat-versionand defaultbenchstat-latest-min-go: "1.26"go installfailures when newer benchstat builds require Go versions higher than the runner's toolchain