Skip to content

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

Merged
mrz1836 merged 1 commit intomasterfrom
chore/sync-files-mrz-sdks-20260130-124648-425438b
Jan 30, 2026
Merged

[Sync] Update project files from source repository (425438b)#196
mrz1836 merged 1 commit intomasterfrom
chore/sync-files-mrz-sdks-20260130-124648-425438b

Conversation

@mrz1836
Copy link
Copy Markdown
Owner

@mrz1836 mrz1836 commented Jan 30, 2026

What Changed

  • Modified the parsing logic in .github/workflows/fortress-completion-finalize.yml to use base64 encoding when processing workflow inputs and timing data, replacing the previous IFS='=' approach
  • Implemented heredoc syntax (<<EOF) for setting environment variables to safely handle multiline values like env-json
  • Added key normalization logic that converts hyphens to underscores (e.g., tr '-' '_') to ensure GitHub Actions expression compatibility
  • Restructured the final report initialization to determine and display overall workflow status as a banner first, including logic to check critical job results and build a list of failed jobs
  • Changed how JSON entries are processed: now using jq -r 'to_entries | .[] | @base64' followed by base64 decoding instead of direct string splitting

Why It Was Necessary

  • The previous parsing method using IFS='=' was fragile and could not handle multiline values or complex JSON structures correctly
  • Environment variable keys with hyphens are incompatible with GitHub Actions expression syntax, requiring normalization to underscores
  • Base64 encoding provides a safer way to handle arbitrary data including special characters, newlines, and JSON strings during shell processing

Testing Performed

  • Verify that workflow inputs containing multiline JSON (like env-json) are correctly parsed and stored in environment variables
  • Test that timing data with hyphenated keys are properly normalized and accessible in subsequent steps
  • Confirm that the status banner correctly displays workflow results based on job outcomes

Impact / Risk

  • Risk: Low - improves robustness of input parsing but changes core workflow variable handling logic
  • Breaking Change: Potential issue if downstream steps expect hyphenated variable names instead of underscored versions
  • Performance: Minimal impact - additional base64 encoding/decoding steps are lightweight operations

@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
@mrz1836
Copy link
Copy Markdown
Owner Author

mrz1836 commented Jan 30, 2026

LGTM!

@mrz1836 mrz1836 merged commit b000c35 into master Jan 30, 2026
46 checks passed
@github-actions github-actions Bot deleted the chore/sync-files-mrz-sdks-20260130-124648-425438b branch January 30, 2026 18:02
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