Conversation
There was a problem hiding this comment.
Pull request overview
Syncs GitHub Actions workflow changes from the upstream repository, primarily updating actions/checkout and enhancing CI reporting for code quality and security scan steps.
Changes:
- Bumped
actions/checkoutpin from v6.0.1 to v6.0.2 across workflows. - Updated
fortress-code-qualityto capture go vet / lint / format outputs, generate job summaries, and defer failing until after summaries/logs are produced. - Updated
fortress-security-scansto capture Nancy / govulncheck / gitleaks outputs, add annotations/summaries/artifacts, and fail after reporting.
Reviewed changes
Copilot reviewed 25 out of 25 changed files in this pull request and generated 1 comment.
Show a summary per file
| File | Description |
|---|---|
| .github/workflows/auto-merge-on-approval.yml | Update actions/checkout pin to v6.0.2. |
| .github/workflows/codeql-analysis.yml | Update actions/checkout pin to v6.0.2. |
| .github/workflows/dependabot-auto-merge.yml | Update actions/checkout pin to v6.0.2. |
| .github/workflows/fortress-benchmarks.yml | Update actions/checkout pin to v6.0.2. |
| .github/workflows/fortress-code-quality.yml | Add non-blocking execution + log capture + summaries/artifacts for go vet, golangci-lint, and format checks; update checkout pin. |
| .github/workflows/fortress-completion-finalize.yml | Update actions/checkout pin to v6.0.2. |
| .github/workflows/fortress-completion-report.yml | Update actions/checkout pin to v6.0.2. |
| .github/workflows/fortress-completion-statistics.yml | Update actions/checkout pin to v6.0.2. |
| .github/workflows/fortress-completion-tests.yml | Update actions/checkout pin to v6.0.2. |
| .github/workflows/fortress-coverage.yml | Update actions/checkout pin to v6.0.2. |
| .github/workflows/fortress-pre-commit.yml | Update actions/checkout pin to v6.0.2. |
| .github/workflows/fortress-release.yml | Update actions/checkout pin to v6.0.2. |
| .github/workflows/fortress-security-scans.yml | Replace/reshape scan steps to capture outputs, add annotations/summaries/artifacts, and fail after reporting; update checkout pin. |
| .github/workflows/fortress-setup-config.yml | Update actions/checkout pin to v6.0.2. |
| .github/workflows/fortress-test-fuzz.yml | Update actions/checkout pin to v6.0.2. |
| .github/workflows/fortress-test-magex.yml | Update actions/checkout pin to v6.0.2. |
| .github/workflows/fortress-test-matrix.yml | Update actions/checkout pin to v6.0.2. |
| .github/workflows/fortress-test-validation.yml | Update actions/checkout pin to v6.0.2. |
| .github/workflows/fortress-warm-cache.yml | Update actions/checkout pin to v6.0.2. |
| .github/workflows/fortress.yml | Update actions/checkout pin to v6.0.2. |
| .github/workflows/pull-request-management-fork.yml | Update actions/checkout pin to v6.0.2. |
| .github/workflows/pull-request-management.yml | Update actions/checkout pin to v6.0.2. |
| .github/workflows/scorecard.yml | Update actions/checkout pin to v6.0.2. |
| .github/workflows/stale-check.yml | Update actions/checkout pin to v6.0.2. |
| .github/workflows/sync-labels.yml | Update actions/checkout pin to v6.0.2 (multiple checkout steps). |
Comments suppressed due to low confidence (1)
.github/workflows/fortress-code-quality.yml:132
- This step relies on
continue-on-errorand the laterFail job if issues foundgate, but the script still runs with the default-ebehavior and can exit early (e.g., ifcd "$GO_MODULE_DIR"fails) before writinggovet-status/govet-exit-codeoutputs. In that case the workflow may incorrectly pass because the final failure step won’t trigger. Recommend ensuring the script always writes outputs (e.g., disable-efor the whole step and capture errors intoGOVET_EXIT_CODE, or use an EXIT trap to set outputs) so unexpected failures can’t be silently skipped.
run: |
echo "🚀 Running static analysis with go vet (sequential mode)..."
GO_MODULE_DIR="${{ env.GO_MODULE_DIR }}"
GOVET_EXIT_CODE=0
# Run go vet on packages sequentially to reduce memory usage
if [ -n "$GO_MODULE_DIR" ]; then
echo "🔧 Running go vet from directory: $GO_MODULE_DIR"
cd "$GO_MODULE_DIR"
else
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
| if ! PACKAGES=$(go list ./... 2>/dev/null | grep -v /vendor/); then | ||
| # If command failed, re-run with stderr visible to show the error | ||
| echo "❌ go list command failed:" | ||
| go list ./... 2>&1 | head -20 | ||
| exit 1 | ||
| echo "❌ go list command failed:" | tee govet-output.log | ||
| go list ./... 2>&1 | head -20 | tee -a govet-output.log | ||
| echo "govet-exit-code=1" >> $GITHUB_OUTPUT | ||
| echo "govet-status=failure" >> $GITHUB_OUTPUT | ||
| exit 0 # Continue to allow summary generation |
There was a problem hiding this comment.
The PACKAGES=$(go list ./... 2>/dev/null | grep -v /vendor/) pipeline can return a non-zero status when grep produces no output (e.g., when all packages are filtered out), which will be treated here as a go list failure and short-circuit the step. Consider splitting go list from filtering (or making the filter non-fatal) so an empty package list is handled by the TOTAL == 0 branch instead of being misreported as a command failure.
What Changed
actions/checkoutaction fromv6.0.1(commit8e8c483) tov6.0.2(commitde0fac2) in the fortress-code-quality workflowrun-govetstep ID andgovet-exit-code/govet-statusoutputsgovet-output.logfile and useexit 0instead ofexit 1to allow summary generationteefor dual output to console and log fileGOVET_EXIT_CODEvariable and write detailed failure information to log file withtee -aWhy It Was Necessary
Testing Performed
de0fac2Impact / Risk