Skip to content

[Sync] Update project files from source repository (9def984)#105

Merged
mrz1836 merged 4 commits into
masterfrom
chore/sync-files-bsv-blockchain-sdks-20260309-115616-9def984
Mar 9, 2026
Merged

[Sync] Update project files from source repository (9def984)#105
mrz1836 merged 4 commits into
masterfrom
chore/sync-files-bsv-blockchain-sdks-20260309-115616-9def984

Conversation

@mrz1836

@mrz1836 mrz1836 commented Mar 9, 2026

Copy link
Copy Markdown
Collaborator

What Changed

  • Refactored parse-env action to use environment variable for ENV_JSON input instead of inline shell variable assignment
  • Added new github-token input parameter to setup-go-with-cache action with description "GitHub token for private module authentication (only used when GOPRIVATE is set in environment)"
  • Added conditional step "Configure private module authentication" in setup-go-with-cache action that configures git authentication using the token and sets GONOSUMDB environment variable when both GOPRIVATE and github-token are present
  • Added github-token input parameter to warm-cache action matching the same description and requirement pattern as in setup-go-with-cache
  • Updated setup-go-with-cache step in warm-cache action to pass through the github-token input
  • Added contents: read permission to multiple workflow files including fortress-benchmarks, fortress-code-quality, fortress-coverage, fortress-pre-commit, fortress-release, fortress-setup-config, fortress-test-fuzz, fortress-test-matrix, fortress-security-scans, fortress-test-suite, fortress-warm-cache, fortress.yml, and scorecard workflows

Why It Was Necessary

  • Moving ENV_JSON to an environment variable prevents potential injection vulnerabilities and follows GitHub Actions security best practices
  • Private Go module authentication support is needed to allow workflows to access dependencies hosted in private repositories when GOPRIVATE is configured
  • Explicit contents: read permissions follow the principle of least privilege and make workflow permission requirements transparent

Testing Performed

  • Verify parse-env action continues to parse environment JSON correctly with the refactored variable handling
  • Test setup-go-with-cache action with and without private modules to ensure conditional authentication logic works as expected
  • Confirm workflows execute successfully with the new explicit permission declarations

Impact / Risk

  • Breaking Change: None - new github-token input is optional with empty string default, existing workflows continue to function unchanged
  • Security: Low risk - improves security posture by using environment variables and explicit permissions, private token is only used when explicitly provided
  • Compatibility: No impact on existing workflows that don't use private Go modules; workflows requiring private module access will need to pass the token explicitly

@mrz1836 mrz1836 self-assigned this Mar 9, 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 Mar 9, 2026
@github-actions github-actions Bot added update General updates size/M Medium change (51–200 lines) labels Mar 9, 2026
mrz1836 added 2 commits March 9, 2026 12:07
Updated 90-project.env with MAGE_X_AUTO_DISCOVER_BUILD_TAGS_EXCLUDE to prevent GOOS name conflicts when cross-compiling.
Add Windows-specific stub implementations for mmap functions and remove unnecessary gosec lint suppressions.
@mrz1836 mrz1836 enabled auto-merge (squash) March 9, 2026 16:12
@mrz1836 mrz1836 disabled auto-merge March 9, 2026 16:12
@mrz1836 mrz1836 merged commit 1d339dd into master Mar 9, 2026
12 checks passed
@github-actions github-actions Bot deleted the chore/sync-files-bsv-blockchain-sdks-20260309-115616-9def984 branch March 9, 2026 16:13
@sonarqubecloud

sonarqubecloud Bot commented Mar 9, 2026

Copy link
Copy Markdown

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/M Medium change (51–200 lines) update General updates

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant