Skip to content

[Sync] Update project files from source repository (16d1713)#92

Merged
mrz1836 merged 1 commit into
masterfrom
chore/sync-files-bsv-blockchain-sdks-20260207-162834-16d1713
Feb 7, 2026
Merged

[Sync] Update project files from source repository (16d1713)#92
mrz1836 merged 1 commit into
masterfrom
chore/sync-files-bsv-blockchain-sdks-20260207-162834-16d1713

Conversation

@mrz1836
Copy link
Copy Markdown
Collaborator

@mrz1836 mrz1836 commented Feb 7, 2026

What Changed

  • Removed the monolithic .github/.env.base file (550 lines) containing all default configuration variables
  • Replaced it with a modular environment configuration structure under .github/env/ directory:
    • 00-core.env - Core Go and module configuration
    • 10-security.env - Security scanning tool configuration
    • 10-pre-commit.env - Pre-commit hook configuration
    • 10-mage-x.env - MAGE-X build tool configuration
    • 10-coverage.env - Code coverage configuration
    • 20-workflows.env - GitHub workflow configuration
    • 20-redis.env - Redis service configuration
    • load-env.sh - Shell script to load environment files in order
    • README.md - Documentation for the new environment structure
  • Updated .github/actions/load-env/action.yml to use the new load-env.sh script and load environment files from the env/ directory
  • Added new composite action .github/actions/download-artifact-resilient/action.yml with retry logic for artifact downloads (3 attempts, 30-second delays)
  • Modified multiple workflow files to source environment variables from .github/env/load-env.sh instead of .env.base
  • Updated workflow files to set explicit permissions: contents: read in several jobs for security hardening
  • Added documentation in .github/docs/workflows.md and .github/docs/repository-features.md explaining the new modular environment configuration approach
  • Updated .github/tech-conventions/commit-branch-conventions.md and .github/tech-conventions/pre-commit.md to reference the new environment file locations

Why It Was Necessary

  • Breaking a 550-line monolithic configuration file into smaller, focused modules improves maintainability and makes it easier to understand which settings affect specific tools or workflows
  • The modular structure allows teams to override only the specific environment files they need rather than duplicating or patching a large base file
  • Adding resilient artifact download with retry logic improves workflow reliability in the face of transient GitHub API failures

Testing Performed

  • Verified that the load-env.sh script correctly sources all environment files in the proper order (00-, 10-, 20-*)
  • Confirmed that all workflow YAML files reference the new environment loading mechanism
  • Validated that environment variable dependencies are properly split across the modular files based on their functional areas

Impact / Risk

  • Medium risk - This is a significant restructuring of configuration management that affects all GitHub workflows
  • Breaking change for consumers - Projects using GoFortress will need to migrate from .env.base + .env.custom pattern to the new modular .github/env/*.env structure
  • Benefit - Improved maintainability, better separation of concerns, and more resilient artifact handling reduces long-term technical debt

@mrz1836 mrz1836 self-assigned this Feb 7, 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 Feb 7, 2026
@github-actions github-actions Bot added update General updates size/XL Very large change (>500 lines) labels Feb 7, 2026
@sonarqubecloud
Copy link
Copy Markdown

sonarqubecloud Bot commented Feb 7, 2026

@github-actions
Copy link
Copy Markdown
Contributor

github-actions Bot commented Feb 7, 2026

Code Coverage Analysis

🟡 Overall Coverage: 84.5%
No Go files modified in this PR

Project coverage remains at 84.5% (577/683 statements)

Changes: 30 config files

Coverage Metrics

Metric Value Grade Trend
Percentage 84.5% ⭐ B 📊
Statements 577/683 ⭐ B No change
Quality Score 84.5/100 ⭐ B 📈

Coverage Breakdown

████████████░░░ 84.5%

Resources


Generated via go-coverage2026-02-07 21:32:08 UTC

@mrz1836 mrz1836 merged commit 7122174 into master Feb 7, 2026
43 of 45 checks passed
@github-actions github-actions Bot deleted the chore/sync-files-bsv-blockchain-sdks-20260207-162834-16d1713 branch February 7, 2026 21:43
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