fix: handle apt repository metadata changes in Dockerfile #1730
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.
Problem
When building agent-server images on top of base images with outdated apt repository configurations, builds fail with:
This is currently blocking Multi-SWE-Bench evaluation builds, where base images like
mswebench/alibaba_m_fastjson2:basehave repository metadata that has changed since the image was created.Root Cause
Upstream repositories sometimes update their metadata (Origin, Label, Suite, Codename, etc.). When
apt-get updateencounters these changes, it exits with error code 100 by default as a security precaution.The Azul Zulu Java repository recently changed its metadata, affecting Multi-SWE-Bench base images that have this repository configured.
Solution
Add
--allow-releaseinfo-changeflag toapt-get updatein the Dockerfile:This is the recommended approach for handling repository metadata changes in automated builds. It allows apt to proceed when only metadata has changed, which is safe for our use case.
Impact
Testing
eval_limit=1Related Issues
Part of Multi-SWE-Bench evaluation support implementation.
Note: This PR is marked as draft while we test the fix. Will mark as ready for review once confirmed working.
Agent Server images for this PR
• GHCR package: https://github.com/OpenHands/agent-sdk/pkgs/container/agent-server
Variants & Base Images
eclipse-temurin:17-jdknikolaik/python-nodejs:python3.12-nodejs22golang:1.21-bookwormPull (multi-arch manifest)
# Each variant is a multi-arch manifest supporting both amd64 and arm64 docker pull ghcr.io/openhands/agent-server:41afcd2-pythonRun
All tags pushed for this build
About Multi-Architecture Support
41afcd2-python) is a multi-arch manifest supporting both amd64 and arm6441afcd2-python-amd64) are also available if needed