Make an emulator channel include the more stable channels - #417
Merged
jpcottin merged 2 commits intoOct 4, 2026
Merged
Conversation
`emu-docker create canary <image>` failed with "No emulator found in
channel canary": find_emulator only matched packages tagged with exactly
that channel, and the pre-release emulator is published on channel-2
("dev" in the repository XML), with nothing on channel-3.
sdkmanager treats a channel as including the more stable ones below it,
and lists that same emulator as canary. Do the same: a channel name now
gives the newest emulator published on that channel or a more stable
one. "all" still returns every published emulator.
The fixtures used versions that look like current releases, which reads as if the tests depended on what is published. Only the order of the versions and their channel matter.
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.
What
emu-docker create canary <image>currently fails with"No emulator found in channel canary".
find_emulatoronly matched packages tagged with exactly the requestedchannel. The pre-release emulator is published on channel-2 ("dev" in
the repository XML) and nothing is published on channel-3, so
canarymatched nothing.
Change
sdkmanager treats a channel as including the more stable channels below
it, and lists that same emulator as canary.
find_emulatornow does thesame: a channel name gives the newest emulator published on that channel
or a more stable one.
canaryresolves to 37.3.2 today (it found nothing before)stableis unchanged (37.2.12 today)allstill returns every published emulatorTesting
tests/test_find_emulator.py(10 tests).pytest tests/ --ignore=tests/e2e: 52 passed.stable,canaryandallagainst the live repository.