Skip to content

[Sync] Update project files from source repository (425438b)#93

Merged
mrz1836 merged 1 commit intomasterfrom
chore/sync-files-bsv-blockchain-template-20260130-122422-425438b
Jan 30, 2026
Merged

[Sync] Update project files from source repository (425438b)#93
mrz1836 merged 1 commit intomasterfrom
chore/sync-files-bsv-blockchain-template-20260130-122422-425438b

Conversation

@mrz1836
Copy link
Collaborator

@mrz1836 mrz1836 commented Jan 30, 2026

What Changed

  • Modified the "Parse and validate inputs" step in .github/workflows/fortress-completion-finalize.yml to use base64 encoding for safer parsing of workflow inputs and timing data
  • Changed environment variable key normalization to replace hyphens with underscores (e.g., env-json becomes env_json) for GitHub Actions expression compatibility
  • Replaced simple key-value assignment with heredoc syntax (<<EOF_INPUT_*) to safely handle multiline values in environment variables
  • Updated the "Initialize Final Report" step to determine overall workflow status by checking critical job results and building a failed jobs list before generating the status banner
  • Applied the same base64 encoding and heredoc pattern to both ALL_INPUTS and TIMING_DATA processing loops

Why It Was Necessary

  • The previous simple string splitting approach (IFS='=' read -r key value) could fail with multiline values like JSON content, causing parsing errors in the workflow
  • Hyphens in environment variable keys are incompatible with GitHub Actions expression syntax, requiring normalization to underscores
  • The workflow needed more robust status determination logic to properly identify and report failed jobs before initializing the final report

Testing Performed

  • Validate that workflows with multiline input values (particularly env-json) process correctly without truncation or parsing errors
  • Verify that normalized environment variable keys (with underscores) are accessible in subsequent workflow steps
  • Test the status banner generation with various combinations of successful and failed jobs to ensure proper failure detection

Impact / Risk

  • Low Risk: Changes improve robustness of input parsing and should handle edge cases better than the previous implementation
  • No Breaking Changes: The heredoc syntax and base64 encoding are transparent to downstream consumers of these environment variables
  • Improved Reliability: Multiline values and special characters in inputs will no longer cause workflow failures or data corruption

Copilot AI review requested due to automatic review settings January 30, 2026 17:24
@mrz1836 mrz1836 self-assigned this Jan 30, 2026
@mrz1836 mrz1836 added automated-sync Automated sync PR, e.g. from a fork or external repo automerge Label to automatically merge pull requests that meet all required conditions chore Simple dependency updates or version bumps labels Jan 30, 2026
@github-actions github-actions bot added update General updates size/XL Very large change (>500 lines) labels Jan 30, 2026
@sonarqubecloud
Copy link

Copy link

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 syncs workflow configuration from the source repo and enhances CI reporting, focusing on more robust input parsing, clearer status visibility, and richer but more compact configuration and completion summaries.

Changes:

  • Update multiple workflows to pin actions/cache to v5.0.3 and add explicit ::error annotations for key failure paths (tests, benchmarks, pre-commit, release) to surface issues prominently in the Actions UI.
  • Redesign the configuration summary (fortress-setup-config.yml) and completion report finalization (fortress-completion-finalize.yml) to use collapsible sections, normalized input keys, and safer parsing of JSON/multiline data via base64 + heredocs.
  • Improve final workflow reporting by computing an explicit pass/fail banner from individual job results, summarizing timing and matrix statistics, and structuring fork PR and performance insights into clearly separated, collapsible sections.

Reviewed changes

Copilot reviewed 10 out of 10 changed files in this pull request and generated no comments.

Show a summary per file
File Description
.github/workflows/fortress.yml Bumps the GoFortress workflow version metadata from 1.5.0 to 1.6.0 to reflect the synchronized changes.
.github/workflows/fortress-test-matrix.yml Adds a ::error annotation when a matrix test run fails so test failures show as top-level annotations in the Actions UI.
.github/workflows/fortress-setup-config.yml Refactors the configuration summary into a compact always-visible header plus multiple <details> sections, adds feature/matrix counts and refined tables for core CI, feature flags, benchmarks, coverage, Redis, pre-commit, security tools, auth, custom vars, and env listings.
.github/workflows/fortress-security-scans.yml Updates the actions/cache pin for the govulncheck binary cache to the newer v5.0.3 SHA.
.github/workflows/fortress-release.yml Updates actions/cache for golangci-lint cache to v5.0.3 and adds ::error annotations for invalid GoReleaser config and release failures to make release issues more visible.
.github/workflows/fortress-pre-commit.yml Updates all actions/cache usages to v5.0.3 and emits a ::error annotation when pre-commit checks fail to surface code-quality problems in the summary.
.github/workflows/fortress-coverage.yml Updates go-coverage related actions/cache invocations (prod/local binaries) to the v5.0.3 pin.
.github/workflows/fortress-completion-finalize.yml Reworks input parsing using base64 + heredocs with hyphen-to-underscore key normalization, introduces a status banner and job results table at the top of the final report, nests statistics/tests/performance into structured <details>, and updates fork PR / release handling and timing insights accordingly.
.github/workflows/fortress-code-quality.yml Updates all golangci-lint cache-related actions/cache steps to v5.0.3.
.github/workflows/fortress-benchmarks.yml Changes the benchmark failure log to a more descriptive ::error annotation, clarifying that benchmark failures include panic/fatal/timeout conditions and pointing readers to job details.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

@mrz1836
Copy link
Collaborator Author

mrz1836 commented Jan 30, 2026

LGTM!

@mrz1836 mrz1836 merged commit 5a10004 into master Jan 30, 2026
50 checks passed
@github-actions github-actions bot deleted the chore/sync-files-bsv-blockchain-template-20260130-122422-425438b branch January 30, 2026 17:30
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

automated-sync Automated sync PR, e.g. from a fork or external repo automerge Label to automatically merge pull requests that meet all required conditions chore Simple dependency updates or version bumps size/XL Very large change (>500 lines) update General updates

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant