← Back to issue list

remote-build: detect early build errors

View original Github issue

Metadata

Project
snapcraft
Number
#2642
Type
pull request
State
merged
Author
cjp256
Labels
Created
Updated
Closed

Current evaluation

Merged. Improved remote build error detection to distinguish between pending builders and actual failures like missing config or timeouts. Approved by reviewer, passed CI, and modified 3 files (+131/-47 lines). Minor import fix applied.

Suggested action:

No scores available.

Issue body

The easiest-to-reproduce example I have come across is to simply ship the build repository to launchpad without a snapcraft.yaml. In this case, snapcraft now fails with the following message from launchpad: ``` Sorry, an error occurred in Snapcraft: Remote builder failed with error: 'Cannot find snapcraft.yaml in https://cjp256@git.launchpad.net/~cjp256/+git/snapcraft-6cf35d52abc44b19a021b100cb883c8a/ master' ``` The original assumption was that the builder was busy, but now we can determine if that's the case by checking if status is still "Pending". It's seemingly quite rare (if ever?) to have the timeout condition hit, but this commit maintains the checks should it happen: ``` Sorry, an error occurred in Snapcraft: Remote builder failed with error: 'Timeout exceeded waiting for builder to become ready.' ``` Signed-off-by: Chris Patterson <chris.patterson@canonical.com> - [ ] Have you followed the [guidelines for contributing](https://github.com/snapcore/snapcraft/blob/master/CONTRIBUTING.md)? - [ ] Have you signed the [CLA](http://www.ubuntu.com/legal/contributors/)? - [ ] Have you successfully run `./runtests.sh static`? - [ ] Have you successfully run `./runtests.sh tests/unit`? -----

Evaluation history

Date Model Scores Action Summary
qwen/qwen3.6-35b-a3b Merged. Improved remote build error detection to distinguish between pending builders and actual failures like missing config or timeouts. Approved by reviewer, passed CI, and modified 3 files (+131/-47 lines). Minor import fix applied.
qwen3.6-35b-a3b-mtp-q6 Merged a fix detecting early remote build errors by checking builder status instead of assuming it is busy. Timeout logic is preserved. Author addressed a minor unused import prior to merge.
qwen3.6-35b-a3b-mtp-q6 Merged fix that detects early remote build errors by checking builder status instead of assuming inactivity, preserving timeout handling. Author resolved an unused import prior to merge.

Update history

No update history recorded yet.

Related issues

Issue Project State Summary Similarity
#4432 fix(remote-build): improve logging and catch exceptions snapcraft merged Merged pull request improving remote build logging and exception handling. Approved by reviewers, passed CI checks, and resolves issue #4399.
82%
#2594 remote build: don't send log files back to remote snapcraft merged Merged a fix updating build log filters to prevent local logs from being sent to the remote builder. Approved by reviewer, passed CI, and modified two files with four additions and four deletions.
78%
#4480 fix(remote): return error when remote build failed snapcraft merged Successfully merged fix for remote build failures that returns proper errors, resolving issue #4142. Approved by three reviewers with maintained code coverage across 13 files.
78%
#2837 remote-build: gpg-signing and usability fixes snapcraft merged Merged changes disabling GPG signing for git commits to fix remote-build failures. Improves error messaging and commit formatting. Approved by reviewer, passed CI, and integrated into the codebase.
77%
#2634 remote build: fully preserve local sources and support packaging all sources snapcraft merged Merged into remote-build. Preserves local sources and enables packaging all sources. Modified 13 files (+673/-528). Iterative updates addressed review feedback, fixed tests, resolved Git import issues, and updated dependencies. Approved by one reviewer.
76%
#1546 feat: remote build command charmcraft merged Merged the remote build command feature. Approved by two reviewers and passing CI, the PR rebases prior work and adds remote build functionality. Follow-up issues were created to resolve related build-id recovery and dependency bugs.
76%
#769 feat: add the remote-build command rockcraft merged Merged the remote-build command. Approved by three reviewers, the change adds 86 lines and removes 7 across nine files. Integrated by the maintainer without further comments or CI issues.
75%
#4826 fix(remote-build): fail if no artifacts are created snapcraft merged Merged fix for issue #4783 that ensures remote builds fail when no artifacts are generated. Approved by two reviewers, passed CI, and merged with 214 additions and 4 deletions across two files.
75%
#3553 cli: make remote-build more user-friendly snapcraft merged Merged improvements to remote-build CLI. Aligns --recover with --status, suppresses unnecessary public data prompts when checking status, and adds tests. Approved and merged.
75%
#2774 remote-build: architecture handling snapcraft merged Merged architecture handling updates for remote-build. Modified one file with 36 additions and 30 deletions. Approved by one reviewer. Author noted missing CLI unit tests and plans a follow-up PR to address them.
75%