Skip to content

Fix pinned go-judge downloads in algorithmic Dockerfile - #189

Merged
joyemang33 merged 1 commit into
FrontierCS:mainfrom
hhh2210:fix/pinned-go-judge-download
Sep 13, 2026
Merged

Fix pinned go-judge downloads in algorithmic Dockerfile#189
joyemang33 merged 1 commit into
FrontierCS:mainfrom
hhh2210:fix/pinned-go-judge-download

Conversation

@hhh2210

@hhh2210 hhh2210 commented Sep 12, 2026

Copy link
Copy Markdown
Contributor

Summary

The algorithmic Dockerfile requests go-judge_linux_<arch>.tar.gz, which does not match the assets published for the pinned v1.11.1 release. Its fallback queries releases/latest, so a successful fallback can silently install a different version.

This change:

  • uses the versioned release filenames and the published amd64v2 / arm64 architecture names;
  • downloads only from the requested release tag;
  • verifies the archive against that release's checksums.txt before extraction, and fails if the download or checksum is missing/invalid.

The change is limited to the go-judge installation step.

Type of Change

  • Bug fix

Testing

  • Executed the changed installation shell for both architecture branches with real HTTPS downloads of the pinned release; archive checksums passed and the extracted binaries were verified as ARM64 and x86-64 ELF files. These checks ran on macOS with platform/checksum-command shims and a temporary installation prefix.
  • Ran the downloaded ARM64 binary in the existing Linux judge image: health check passed and go-judge executed /bin/true with status Accepted.
  • Injected download failure, mismatched checksum, and absent checksum entry: all stopped before installation and made no latest-release API request.
  • git diff --check passed.

Full-image build limitation: both the unchanged base and this branch fail at the earlier RUN npm install -g npm@latest step with npm: not found in the local cached build environment. Neither reaches the modified go-judge step. The tests above validate the changed installer and ARM64 runtime; they are not a claim that the complete image build passed or that x86-64 runtime execution was tested.

Checklist

  • Code follows the project structure and conventions
  • Self-review completed
  • Documentation considered; no documentation changes needed for this build fix

Copilot AI lite review requested due to automatic review settings September 12, 2026 08:13

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🟢 Approval recommended

The changes are fully reviewed with no unresolved blocking issues.

Pull request overview

Updates the algorithmic Dockerfile to install the pinned go-judge release reliably.

Changes:

  • Uses versioned amd64v2 and arm64 assets.
  • Removes the latest-release fallback.
  • Verifies checksums before extraction.
File summaries
File Description
algorithmic/Dockerfile Updates go-judge download, checksum validation, and extraction logic.
Review details
  • Files reviewed: 1/1 changed files
  • Comments generated: 0
  • Review effort level: Lite

💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.

@joyemang33

Copy link
Copy Markdown
Contributor

Hi @hhh2210, I checked with @YanagiOrigami. This fix looks good to us, though the old version will not hurt. Just merged. Thanks!

@joyemang33
joyemang33 merged commit 1bccbad into FrontierCS:main Sep 13, 2026
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.

3 participants