← Back to issue list

project_loader: recursively process after of remote parts

View original Github issue

Metadata

Project
snapcraft
Number
#2105
Type
pull request
State
closed
Author
kalikiana
Labels
—
Created
Updated
Closed

Current evaluation

PR #2105 was closed unmerged after reviewers reproduced nondeterministic KeyErrors in recursive remote-part after handling; no resolving commit or replacement was recorded.

Resolution: closed stale

Reason: The PR remained at review pending with no CI checks and was closed without merge after reviewers reported reproducible, nondeterministic resolver failures. No resolving commit, closing maintainer explanation, or superseding work was recorded.

Evaluated by: mr-cal-bot

No scores available.

Issue body

- [x] Have you followed the [guidelines for contributing](https://github.com/snapcore/snapcraft/blob/master/CONTRIBUTING.md)? - [x] Have you signed the [CLA](http://www.ubuntu.com/legal/contributors/)? - [x] If this is a bugfix. Have you checked that there is a bug report open for the issue you are trying to fix on [bug reports](https://bugs.launchpad.net/snapcraft)? - [x] If this is a new feature. Have you discussed the design on the [forum](https://forum.snapcraft.io)? - [x] Have you successfully run `./runtests.sh static`? - [x] Have you successfully run `./runtests.sh unit`? ----- This PR makes processing of remote parts recursive so that any part from an origin can use "after" to pull in another part, which in turn may use "after" and so on. Fixes: #2027 Fixes: [LP: #1750866](https://bugs.launchpad.net/snapcraft/+bug/1750866) The following test is being added: - tests.unit.project_loader.test_config.YamlTestCase.test_remote_part_with_after - To verify that remote parts can have parts using after that in turn use after. I locally ran the tests: - `./runtests.sh tests/unit` with unrelated failures in [tests.unit.test_lifecycle.CoreSetupTestCase.test_core_setup_if_docker_env](https://bugs.launchpad.net/snapcraft/+bug/1752576), `tests.unit.test_mangling.TestClearExecstack.test_execstack_clears` and `tests.unit.test_elf`. - `./runtests.sh tests/integration` with one unrelated failure in [tests.integration.general.test_parser.TestParserWikis](https://bugs.launchpad.net/snapcraft/+bug/1752580) - `./runtests.sh static`: Everything passed Manual test steps: - cd tests/integration/snaps/basic - Note: The "alsa" remote part currently avoids the use of "after" but there's an "alsa-chain-test" part that can be used to exercise the improved behavior. - Update `snapcraft.yaml` by adding `after: [alsa-chain-test]` to "dummy-part". - snapcraft - Observe that the build completes without an error. For comparison, current master would fail with a message `KeyError: 'alsa'` or `KeyError: 'alsa-lib-chain-test'` depending on how parts happen to be evaluated.

Evaluation history

Date Model Scores Action Summary
stealth/space-bunny-alpha — closed stale PR #2105 was closed unmerged after reviewers reproduced nondeterministic KeyErrors in recursive remote-part after handling; no resolving commit or replacement was recorded.
stealth/space-bunny-alpha — closed not a bug Closed unmerged PR #2105 after reviewers reported a nondeterministic resolver error; recursive processing of remote-part `after` dependencies was not retained.
qwen/qwen3.6-35b-a3b — — Closed without merging. Reviewers encountered errors during testing, indicating the recursive remote part processing changes failed to resolve the issue or introduced new failures.
qwen3.6-35b-a3b-mtp-q6 — — Closed without merging. The recursive remote part dependency fix was abandoned after reviewers reproduced the original KeyError during local testing, indicating unresolved implementation issues.

Update history

No update history recorded yet.

Related work

  • Related To: snapcraft#2027 (confidence 100%)

    The PR explicitly targeted #2027, which was also closed without a recorded resolution.

Related issues

No related issues found above the similarity threshold.