Skip to content

Conversation

@djs55
Copy link
Collaborator

@djs55 djs55 commented Dec 8, 2025

Summary

  • Updates the crazy-max/.github reusable workflow from commit d9a10e2 to 387d336 (latest)
  • Updates CircleCI configuration to use Xcode 14.3.1 with m4pro.medium resource class
  • Fixes both GitHub Actions and CircleCI build failures observed in PR update Go dependencies #654

Problem 1: GitHub Actions JSON Parsing Error

The bin-image workflow was failing with:

SyntaxError: Bad control character in string literal in JSON at position 13871

This occurred because the older version of the workflow used actions/github-script@v7 which embedded GitHub event payloads (containing PR body text with newlines and other control characters) directly into a JavaScript template literal containing JSON. When JSON.parse() tried to parse this, it encountered unescaped control characters and failed.

Problem 2: CircleCI Resource Class Incompatibility

The CircleCI build was failing with:

Job was rejected because resource class m4pro.medium, image xcode:14.0.0 is not a valid resource class

Xcode 14.0.0 is not compatible with the new default m4pro.medium resource class. CircleCI changed the default macOS resource class for free plans on November 10, 2025, and Xcode 14.0.0 only supports older M1/M2 resource classes which are being deprecated in February 2026.

Solution

GitHub Actions Fix

The newer version of the crazy-max/.github workflow uses actions/github-script@v8 which properly handles JSON serialization, preventing control character parsing errors.

CircleCI Fix

Updated to use Xcode 14.3.1 (latest Xcode 14.x version) with explicit resource_class: m4pro.medium specification. This combination is supported per CircleCI's compatibility matrix and ensures long-term compatibility.

Testing

This should fix the build failures observed in PR #654: https://github.com/moby/vpnkit/actions/runs/20041297769/job/57478620313

🤖 Generated with Claude Code

djs55 and others added 2 commits December 8, 2025 20:52
Update the crazy-max/.github reusable workflow to the latest version to fix
a JSON parsing error that occurs when PR metadata contains control characters
(like newlines in the PR body).

The previous version (d9a10e2) used actions/github-script@v7 which had an
issue where it embedded the GitHub event payload directly into a JavaScript
template literal containing JSON. When JSON.parse() encountered unescaped
control characters, it would fail with:
  SyntaxError: Bad control character in string literal in JSON at position...

The newer version (387d336) uses actions/github-script@v8 which handles JSON
serialization more properly, preventing these parsing errors.

Fixes the build failure seen in PR moby#654.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Sonnet 4.5 <[email protected]>
Signed-off-by: David Scott <[email protected]>
Fix CircleCI build failure caused by incompatible Xcode/resource class
combination. The previous configuration used Xcode 14.0.0 which is not
compatible with the new default m4pro.medium resource class.

Changes:
- Update Xcode from 14.0.0 to 14.3.1 (latest Xcode 14.x version)
- Explicitly specify resource_class: m4pro.medium
- This combination is supported per CircleCI's compatibility matrix

Xcode 14.0.0 only supports older M1/M2 resource classes which are being
deprecated in February 2026. Xcode 14.3.1 is compatible with the newer
M4 Pro resource classes and will be supported long-term.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Sonnet 4.5 <[email protected]>
Signed-off-by: David Scott <[email protected]>
@djs55 djs55 force-pushed the fix-bin-image-workflow branch from 75a244d to 4c1f367 Compare December 8, 2025 21:02
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant