← Back to issue list

launchpad builder won't clone one of three identical repos

View original Github issue

Metadata

Project
craft-parts
Number
#788
Type
issue
State
open
Author
popey
Labels
—
Created
Updated
Closed
—

Current evaluation

Root cause identified: grype declares an SSH submodule URL that cannot authenticate on Launchpad. HTTPS submodules or omitting unused submodules provide workarounds; #788 remains open.

Suggested action: close not a bug

Reason: dariuszd21 traced the recursive clone failure to grype v0.79.3's .gitmodules entry using an SSH URL, which cannot authenticate on Launchpad, and popey agreed this was likely the quick fix. Craft-parts' recursive Git behavior is intentional, while the tarball and submodule-selection alternatives work around an upstream repository configuration problem.

Evaluated by: mr-cal-bot

Impact: 30 Quick Win: 23 Complexity: 15 Confidence: 94 Actionability: 90

Issue body

### Bug Description I am making a prototype of three snaps of [syft](https://github.com/anchore/syft), [grype](https://github.com/anchore/grype), and [grant](https://github.com/anchore/grant). They all use the same yaml, and come from the same org on GitHub. Syft and Grant clone and start building fine. Grype is unable to be cloned. ### To Reproduce Use the yaml below, start a remote build. It will fail. ### part yaml ```shell name: grype base: core22 version: 'v0.79.3' summary: Vulnerability scanner description: | CLI vulnerability scanner for container images and filesystems architectures: - build-on: amd64 - build-on: arm64 - build-on: armhf - build-on: s390x - build-on: ppc64el grade: stable confinement: classic parts: grype: plugin: go source: https://github.com/anchore/grype.git source-type: git source-tag: 'v0.79.3' build-snaps: - go apps: grype: command: bin/grype ``` ### Relevant log output ```shell Running pull phase... Initializing parts lifecycle Installing build-packages Installing build-snaps Pulling grype [19/Jul/2024:14:13:48 +0000] "CONNECT github.com:443 HTTP/1.1" 200 5117550 "-" "git/2.34.1" Failed to pull source: command ['git', 'clone', '--recursive', '--branch', 'v0.79.3', 'https://github.com/anchore/grype.git', '/build/snapcraft-grype-4b4eef8795d90369d120d00672377f51/parts/grype/src'] exited with code 1. Make sure sources are correctly specified. Full execution log: '/root/.local/state/snapcraft/log/snapcraft-20240719-141338.341400.log' Build failed Traceback (most recent call last): File "/usr/lib/python3/dist-packages/lpbuildd/target/build_snap.py", line 323, in run self.pull() File "/usr/lib/python3/dist-packages/lpbuildd/target/build_snap.py", line 261, in pull self.run_build_command( File "/usr/lib/python3/dist-packages/lpbuildd/target/operation.py", line 62, in run_build_command return self.backend.run(args, cwd=cwd, env=full_env, **kwargs) File "/usr/lib/python3/dist-packages/lpbuildd/target/lxd.py", line 718, in run subprocess.check_call(cmd, **kwargs) File "/usr/lib/python3.8/subprocess.py", line 364, in check_call raise CalledProcessError(retcode, cmd) subprocess.CalledProcessError: Command '['lxc', 'exec', 'lp-jammy-ppc64el', '--env', 'LANG=C.UTF-8', '--env', 'SHELL=/bin/sh', '--env', 'http_proxy=http://10.10.10.1:8222/', '--env', 'https_proxy=http://10.10.10.1:8222/', '--env', 'GIT_PROXY_COMMAND=/usr/local/bin/lpbuildd-git-proxy', '--env', 'SNAPPY_STORE_NO_CDN=1', '--env', 'SNAPCRAFT_LOCAL_SOURCES=1', '--env', 'SNAPCRAFT_SETUP_CORE=1', '--env', 'SNAPCRAFT_BUILD_INFO=1', '--env', 'SNAPCRAFT_IMAGE_INFO={"build-request-id": "lp-90687766", "build-request-timestamp": "2024-07-19T14:10:46Z", "build_url": "https://launchpad.net/~popey/popey-craft-remote-build/+snap/snapcraft-grype-4b4eef8795d90369d120d00672377f51/+build/2546651"}', '--env', 'SNAPCRAFT_BUILD_ENVIRONMENT=host', '--', '/bin/sh', '-c', 'cd /build/snapcraft-grype-4b4eef8795d90369d120d00672377f51 && linux64 snapcraft pull']' returned non-zero exit status 1. Revoking proxy token... RUN: /usr/share/launchpad-buildd/bin/in-target scan-for-processes --backend=lxd --series=jammy --arch=ppc64el SNAPBUILD-2546651 Scanning for processes to kill in build SNAPBUILD-2546651 ``` ```

Evaluation history

Date Model Scores Action Summary
stealth/space-bunny-alpha
Impact: 30
Quick Win: 23
Complexity: 15
Confidence: 94
Actionability: 90
close not a bug Root cause identified: grype declares an SSH submodule URL that cannot authenticate on Launchpad. HTTPS submodules or omitting unused submodules provide workarounds; #788 remains open.
stealth/space-bunny-alpha
Impact: 36
Quick Win: 25
Complexity: 24
Confidence: 89
Actionability: 92
close resolved Grype's recursive clone failed on Launchpad because its SSH submodules needed unavailable credentials; source-submodules configuration now permits skipping them.
stealth/space-bunny-alpha
Impact: 30
Quick Win: 12
Complexity: 45
Confidence: 72
Actionability: 75
close not a bug Remote Launchpad build fails cloning anchore/grype with `git clone --recursive` because its submodules use SSH URLs; maintainers and reporter traced it to upstream .gitmodules, workaround is the tarball source.
qwen/qwen3.6-35b-a3b
Impact: 30
Quick Win: 13
Complexity: 40
Confidence: 80
Actionability: 70
close not a bug Git clone --recursive fails for grype repo due to SSH-based submodule URLs in Launchpad environment (no SSH keys). Reporter has a tarball workaround.
qwen/qwen3.8-27b
Impact: 20
Quick Win: 16
Staleness: 75
Complexity: 20
Confidence: 75
Support Request: 45
close not a bug Launchpad remote build fails to git clone anchore/grype while identical syft/grant repos succeed. Root cause: grype's .gitmodules uses an SSH URL, which fails in Launchpad's keyless environment. Reporter confirmed. Tarball workaround works.
qwen/qwen3.6-35b-a3b
Staleness: 75
Complexity: 15
Confidence: 95
Support Request: 95
close not a bug Launchpad builder fails to recursively clone a repo due to missing SSH keys in the environment. Reporter acknowledged an HTTPS submodule URL workaround. Issue is inactive for over a year.
qwen3.6-35b-a3b-mtp-q6
Staleness: 85
Complexity: 25
Confidence: 80
Support Request: 10
close stale Launchpad snapcraft build fails to clone grype repo due to git submodule SSH URL mismatch. Root cause identified, workaround suggested, but issue has been inactive for over a year.

Update history

No update history recorded yet.

Related work

  • Related To: craft-parts#821 (confidence 100%)

    Maintainer explicitly linked this as a Git error-messaging follow-up; it was later closed abandoned without a resolving change.

Related issues

No related issues found above the similarity threshold.