Skip to content

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

Merged
mrz1836 merged 1 commit intomasterfrom
chore/sync-files-bitcoin-schema-20260219-142237-ac305ad
Feb 19, 2026
Merged

[Sync] Update project files from source repository (ac305ad)#281
mrz1836 merged 1 commit intomasterfrom
chore/sync-files-bitcoin-schema-20260219-142237-ac305ad

Conversation

@mrz1836
Copy link
Member

@mrz1836 mrz1836 commented Feb 19, 2026

What Changed

  • Created new composite action .github/actions/upload-artifact-resilient/action.yml that provides resilient artifact uploads with step-level retry logic (3 attempts with escalating delays of 10s, 30s)
  • Added configurable inputs for artifact-name, artifact-path, retention-days, if-no-files-found, compression-level, and continue-on-error
  • Configured the action to handle transient GitHub infrastructure failures including non-retryable 403 errors from CDN/proxy intermediaries during artifact finalization
  • Set overwrite: true on all upload attempts to handle partially-finalized artifacts
  • Added ACTIONS_UPLOAD_RETRY_COUNT=3 environment variable for defense-in-depth against 5xx errors
  • Modified 8 workflow files (fortress-benchmarks.yml, fortress-coverage.yml, fortress-code-quality.yml, fortress-completion-statistics.yml, fortress-security-scans.yml, fortress-test-fuzz.yml, fortress-test-matrix.yml, fortress-test-validation.yml) to use the new resilient upload action
  • Updated .github/env/10-coverage.env and .github/env/10-pre-commit.env files

Why It Was Necessary

  • To provide a centralized, reusable solution for handling transient GitHub Actions infrastructure failures during artifact uploads
  • To reduce workflow failures caused by intermittent 403 errors and other CDN/proxy issues that are not automatically retried by the standard upload-artifact action
  • To implement defense-in-depth retry strategies across multiple workflows without duplicating retry logic in each workflow file

Testing Performed

  • Validated that the composite action correctly defines all required inputs with appropriate defaults (retention-days: 7, compression-level: 6, continue-on-error: true)
  • Verified the three-step retry pattern with escalating delays (immediate, 10s, 30s) is properly configured in the composite action
  • Confirmed that all 8 modified workflows reference the new composite action and maintain their existing artifact upload functionality

Impact / Risk

  • Breaking Change: None - this is an additive change that introduces a new composite action and updates workflows to use it
  • Risk: Low - the retry logic provides additional resilience without changing artifact upload behavior, and continue-on-error: true default prevents workflow failures
  • Performance: Minimal impact - retries only occur on failure with bounded delays (max 40s additional time in worst case of 3 failed attempts)
  • Maintenance: Improved - centralized retry logic in composite action eliminates duplicate retry patterns across workflows

Copilot AI review requested due to automatic review settings February 19, 2026 19:22
@mrz1836 mrz1836 self-assigned this Feb 19, 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 19, 2026
@github-actions github-actions bot added update General updates size/L Large change (201–500 lines) labels Feb 19, 2026
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

Introduces a new composite GitHub Action to make artifact uploads more resilient to transient GitHub Actions infrastructure failures, and updates GoFortress workflows to use it.

Changes:

  • Added .github/actions/upload-artifact-resilient composite action implementing 3 upload attempts with delays and overwrite: true.
  • Updated 8 GoFortress workflows to use the new resilient upload action and its artifact-name/artifact-path inputs.
  • Bumped tool versions in .github/env for go-pre-commit and go-coverage.

Reviewed changes

Copilot reviewed 11 out of 11 changed files in this pull request and generated 4 comments.

Show a summary per file
File Description
.github/actions/upload-artifact-resilient/action.yml New composite action providing step-level retry for artifact uploads.
.github/workflows/fortress-benchmarks.yml Switch benchmark artifact uploads to the resilient upload action.
.github/workflows/fortress-code-quality.yml Switch code-quality log uploads (vet/lint/format) to the resilient upload action.
.github/workflows/fortress-completion-statistics.yml Switch LOC stats upload to the resilient upload action.
.github/workflows/fortress-coverage.yml Switch multiple coverage-related artifact uploads to the resilient upload action.
.github/workflows/fortress-security-scans.yml Switch security scan log uploads to the resilient upload action.
.github/workflows/fortress-test-fuzz.yml Switch fuzz outputs upload to the resilient upload action.
.github/workflows/fortress-test-matrix.yml Switch CI results + coverage data uploads to the resilient upload action.
.github/workflows/fortress-test-validation.yml Switch validation summary upload to the resilient upload action.
.github/env/10-pre-commit.env Update GO_PRE_COMMIT_VERSION to v1.6.2.
.github/env/10-coverage.env Update GO_COVERAGE_VERSION to v1.3.7.

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

@mrz1836 mrz1836 merged commit 9516eda into master Feb 19, 2026
53 checks passed
@github-actions github-actions bot deleted the chore/sync-files-bitcoin-schema-20260219-142237-ac305ad branch February 19, 2026 19:45
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.

2 participants