Merged
Conversation
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
835fb9f to
a0d9541
Compare
Go 1.25 introduced container-aware GOMAXPROCS which automatically adjusts thread count based on cgroup limits. This causes issues with Piston's isolate sandbox process limits, resulting in SIGKILL. Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Go 1.25's go run command requires more time for initial execution due to enhanced runtime features. Increase run_timeout and run_cpu_time to 10000ms to prevent SIGKILL from timeout. Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Go 1.25 with container-aware GOMAXPROCS may spawn more processes. Significantly increase run timeout and process count limits. Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Output pkg-info.json content to verify limit_overrides are applied. Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
CLI sends run_timeout=3000 by default, which overrides server-side limit_overrides. Add explicit -r 30000 -c 30000 flags to use higher timeout values during testing. Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Go doesn't have a compile step, so compile_timeout limit_overrides is not set. Remove -c 30000 to avoid exceeding the default limit. Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Go 1.25's runtime compilation creates object files larger than the default 10MB limit. Increase to 50MB.
Lower run_timeout and run_cpu_time from 30s to 15s while keeping max_file_size and max_process_count unchanged. This balances resource constraints with Go 1.25.5 runtime needs.
Read limit_overrides.run_timeout from each package's metadata.json and pass it to CLI via -r flag. This allows packages to specify custom timeouts without hardcoding values in the workflow.
- Extend package-pr workflow to read and pass compile_timeout from metadata.json - Add compile script for Go 1.25.5 to build source into executable binary - Update Go 1.25.5 metadata.json with compile_timeout and compile_cpu_time overrides - Modify Go 1.25.5 run script to execute precompiled binary instead of running source directly This enables proper compile timeout enforcement and aligns Go 1.25.5 with the new compile step model.
Allow Go 1.25.5 to use container-aware GOMAXPROCS setting by default. This change supports better CPU utilization and aligns with recent increases in process and timeout limits for this version.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Test plan
./piston build-pkg go 1.25.5to build the package🤖 Generated with Claude Code