Repository navigation
feat(env): Azure Linux 3 sandbox image - #207
Merged
Kavya Sree Kaitepalli (KavyaSree2610) merged 1 commit intoOct 29, 2026
Merged
Conversation
Add AZURELINUX_IMAGE, the stock mcr.microsoft.com/azurelinux/base/core:3.0 image. It is prepared on the fly like the default image: prepare.sh installs Python, shadow-utils, util-linux and git with tdnf, then the usual agent account and server venv (~40s). Its tdnf repos provide RPM tooling (mock, rpm-build, golang) for Azure Linux work. - MicroBot, ReadingBot, WritingBot, LogAnalysisBot, BrowsingBot and AgentBoss accept `image` for the auto-created environment (rejected together with a provided `environment`). - CI pre-pulls both stock images for the integration tests. - Docs: "Sandbox Images" page describing the stock images and how they are prepared. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Bala (0xba1a)
force-pushed
the
bala/azurelinux-image
branch
from
October 29, 2026 07:01
ef7edeb to
bb7f941
Compare
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## main #207 +/- ##
=======================================
Coverage 77.06% 77.07%
=======================================
Files 47 47
Lines 3192 3197 +5
=======================================
+ Hits 2460 2464 +4
- Misses 732 733 +1
Flags with carried forward coverage won't be shown. Click here to find out more.
🚀 New features to boost your workflow:
|
Kavya Sree Kaitepalli (KavyaSree2610)
approved these changes
Oct 29, 2026
Kavya Sree Kaitepalli (KavyaSree2610)
left a comment
Collaborator
There was a problem hiding this comment.
Expecting image parameter for the copilot bot in the future PR
This was referenced Oct 29, 2026
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
Add an Azure Linux 3 sandbox using the stock
mcr.microsoft.com/azurelinux/base/core:3.0image, and let every bot choose its sandbox image with animageparameter.Like the default Debian image (#202), Azure Linux is not customised: it is prepared on the fly when the environment starts. Its
tdnfrepos provide the RPM tooling (mock,rpm-build,golang) that later PRs in this stack use for Azure Linux work.Changes
images.py: new constantAZURELINUX_IMAGE = "mcr.microsoft.com/azurelinux/base/core:3.0".MicroBot,ReadingBot,WritingBot,LogAnalysisBot,BrowsingBotandAgentBossacceptimagefor the environment they create. It defaults toDEFAULT_IMAGE(Debian). Passing bothimageandenvironmentraisesValueError, because a provided environment's image is fixed when it is created./etc/os-release.The base image is minimal, so
prepare.sh(from #202) installs Python,shadow-utils,util-linuxandgitwithtdnfbefore creating theagentaccount and the server's venv. Preparation takes about 40 seconds, against about 9 seconds for Debian.Testing
imageforwarding forMicroBotand all five subclasses, the default image, rejection ofimagetogether withenvironment, and the image constants. 723 passed. The 7 failures intest_microbot.py::TestMicrobotUnitandtest_memory_tool_integration.pyalso occur onmainand come from my local environment.test/environment/local_docker/test_azurelinux_environment.pyruns the stock Azure Linux image withREAD_ONLYandREAD_WRITEmounts. It checks that the shell runs asagent, the distro is detected asazurelinux,tdnfworks, and writes reach the host only forREAD_WRITE. It also checks that a tool withazurelinux:commands installs while the Debian-onlycscope.yamlis rejected withUnsupportedDistroError. I ran CI's integration selection locally: 21 passed, with no new failures compared tomain.Upcoming PRs in this stack
imageon the bots.root_accessfor the sandbox shell.rpm/mock/azldevtool definitions.session_optionsand skill tracking, so it can use a repository's agent skills.