Skip to content

[Sync] Update project files from source repository (ac305ad)#10

Merged
mrz1836 merged 2 commits intomainfrom
chore/sync-files-bsv-blockchain-services-20260219-194138-ac305ad
Feb 20, 2026
Merged

[Sync] Update project files from source repository (ac305ad)#10
mrz1836 merged 2 commits intomainfrom
chore/sync-files-bsv-blockchain-services-20260219-194138-ac305ad

Conversation

@mrz1836
Copy link
Copy Markdown
Contributor

@mrz1836 mrz1836 commented Feb 20, 2026

What Changed

  • Removed docs from .dockerignore, allowing documentation files to be included in Docker builds
  • Added new composite action .github/actions/upload-artifact-resilient/action.yml with step-level retry logic (3 attempts with escalating delays of 10s, 30s) to handle transient GitHub infrastructure failures including non-retryable 403 errors
  • Created three new environment files: .github/env/10-coverage.env, .github/env/10-mage-x.env, and .github/env/10-pre-commit.env
  • Updated MAGE_X_VERSION from v1.12.1 to v1.12.2 in .github/env/10-mage-x.env
  • Modified multiple workflow files (fortress-code-quality.yml, fortress-benchmarks.yml, fortress-completion-statistics.yml, fortress-coverage.yml, fortress-security-scans.yml, fortress-test-fuzz.yml, fortress-test-matrix.yml, fortress-test-validation.yml, pull-request-management-fork.yml) to add permissions: contents: read, load environment variables from the new env files, and replace direct actions/upload-artifact@v4 calls with the new upload-artifact-resilient action
  • Added configurable inputs to the resilient upload action including artifact-name, artifact-path, retention-days, if-no-files-found, and compression-level

Why It Was Necessary

  • Centralized artifact upload logic to handle transient GitHub Actions infrastructure failures that were causing workflow failures due to non-retryable 403 errors during artifact finalization
  • Improved workflow reliability by implementing step-level retry mechanisms with overwrite capabilities to recover from partially-finalized artifacts
  • Standardized environment variable management by extracting configuration into dedicated env files for better maintainability and consistency across workflows
  • Enhanced security posture by adding explicit contents: read permissions to workflows following principle of least privilege

Testing Performed

  • Validated that the new composite action properly implements retry logic with configurable delays and overwrite behavior
  • Verified all workflow files correctly reference the new environment files and resilient upload action
  • Confirmed artifact upload paths and names are preserved across all workflows using the new action
  • Tested that workflows maintain backward compatibility with existing artifact retention policies and compression settings

Impact / Risk

  • Low Risk: Changes primarily improve reliability and maintainability without altering core workflow functionality
  • Breaking Change: None - artifact uploads maintain same external behavior with added resilience
  • Performance: Potential slight increase in workflow duration during retry scenarios, but improved overall success rate for artifact uploads
  • Developer Experience: Improved workflow stability reduces false failures and manual reruns, while centralized configuration simplifies future updates

@mrz1836 mrz1836 self-assigned this Feb 20, 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 20, 2026
@github-actions github-actions bot added update General updates size/L Large change (201–500 lines) labels Feb 20, 2026
@mrz1836 mrz1836 merged commit 75d02e7 into main Feb 20, 2026
43 checks passed
@github-actions github-actions bot deleted the chore/sync-files-bsv-blockchain-services-20260219-194138-ac305ad branch February 20, 2026 01:12
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/L Large change (201–500 lines) update General updates

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant