Fetch pinned app commits from upstream remote #1

Merged
MHE merged 10 commits from inventory-image-tools-versions into main 2026-11-03 17:46:44 +01:00
Owner

What changed

In install_app, the pinned-commit fetch now targets the upstream remote instead of origin:

  • git fetch --depth 1 origin "${revision}" -> git fetch --depth 1 upstream "${revision}"

The function's doc comment also notes that bench get-app names the clone remote upstream.

Why

bench get-app clones each app and registers its source remote as upstream, not origin. Fetching from origin in the cloned app directory would fail or pull from the wrong remote, so the pinned revision could not be resolved. Fetching from upstream matches the remote bench actually creates, so the checkout-by-commit step works as intended.

Notes

  • Only the fetch remote name changes; the pinned commit, checkout, and rev-parse verification are unchanged.
  • No behavior change for apps whose pins already exist on the upstream remote.
## What changed In `install_app`, the pinned-commit fetch now targets the `upstream` remote instead of `origin`: - `git fetch --depth 1 origin "${revision}"` -> `git fetch --depth 1 upstream "${revision}"` The function's doc comment also notes that `bench get-app` names the clone remote `upstream`. ## Why `bench get-app` clones each app and registers its source remote as `upstream`, not `origin`. Fetching from `origin` in the cloned app directory would fail or pull from the wrong remote, so the pinned revision could not be resolved. Fetching from `upstream` matches the remote bench actually creates, so the checkout-by-commit step works as intended. ## Notes - Only the fetch remote name changes; the pinned commit, checkout, and `rev-parse` verification are unchanged. - No behavior change for apps whose pins already exist on the `upstream` remote.
Fetch pinned app revisions from upstream remote
Some checks failed
ci / compose (pull_request) Successful in 13s
ci / shellcheck (pull_request) Successful in 2s
ci / conventions (pull_request) Successful in 2s
ci / image (pull_request) Failing after 10m55s
de7206d420
Lower Node heap limit to 2 GiB in run_frappe
Some checks failed
ci / compose (pull_request) Successful in 12s
ci / shellcheck (pull_request) Successful in 2s
ci / conventions (pull_request) Successful in 2s
ci / image (pull_request) Failing after 3m32s
a51f0c6b77
Retry app fetches and add HTTP/1.1 git config
Some checks failed
ci / compose (pull_request) Successful in 13s
ci / shellcheck (pull_request) Successful in 3s
ci / conventions (pull_request) Successful in 2s
ci / image (pull_request) Failing after 9m22s
7e927b043b
Limit Rolldown threads and clear caches before Builder build
Some checks failed
ci / compose (pull_request) Successful in 13s
ci / shellcheck (pull_request) Successful in 3s
ci / conventions (pull_request) Successful in 2s
ci / image (pull_request) Failing after 7m7s
6a2520f343
Skip the Cypress test browser during app install.
Some checks failed
ci / compose (pull_request) Successful in 13s
ci / shellcheck (pull_request) Successful in 2s
ci / conventions (pull_request) Successful in 2s
ci / image (pull_request) Failing after 3m56s
ab399efb06
Gameplan unpacks Cypress into the image layer and the build disk runs out of space.

Co-authored-by: Cursor <cursoragent@cursor.com>
Apply fixed Debian and Python releases and keep upstream Node findings visible.
Some checks failed
ci / compose (pull_request) Successful in 16s
ci / shellcheck (pull_request) Successful in 7s
ci / conventions (pull_request) Successful in 6s
ci / image (pull_request) Failing after 14m12s
0c06181d64
The image scan was failing on lockfiles shipped by the pinned Frappe apps. Debian and Python packages that already have a fix are upgraded, and those two classes still fail the job.

Co-authored-by: Cursor <cursoragent@cursor.com>
Read the Trivy report from the path passed into the scan.
Some checks failed
ci / compose (pull_request) Successful in 12s
ci / shellcheck (pull_request) Successful in 2s
ci / conventions (pull_request) Successful in 2s
ci / image (pull_request) Failing after 4m24s
c7afae516e
The evaluator opened stdin as a file, so a finished image still failed the check.

Co-authored-by: Cursor <cursoragent@cursor.com>
Treat a package as patched when it matches a fixed release.
Some checks failed
ci / compose (pull_request) Successful in 13s
ci / shellcheck (pull_request) Successful in 2s
ci / conventions (pull_request) Successful in 2s
ci / image (pull_request) Failing after 4m12s
4f44d65ac6
Trivy still lists LiteLLM and the other floors after the upgrade because several fixed versions share one advisory.

Co-authored-by: Cursor <cursoragent@cursor.com>
Drop the cached wheels the scan still treats as installed.
Some checks failed
ci / compose (pull_request) Successful in 13s
ci / shellcheck (pull_request) Successful in 3s
ci / conventions (pull_request) Successful in 2s
ci / image (pull_request) Failing after 14m31s
0c962a2d1f
The bench environment is already on the fixed releases. uv and a setuptools downgrade left the old copies in the image.

Co-authored-by: Cursor <cursoragent@cursor.com>
Upgrade pip so its vendored packages match the fixed releases.
All checks were successful
ci / compose (pull_request) Successful in 12s
ci / shellcheck (pull_request) Successful in 3s
ci / conventions (pull_request) Successful in 2s
ci / image (pull_request) Successful in 14m56s
0ccfddc166
The image scan was reading pip's CycloneDX file, which listed setuptools 70.3.0 even though that package is not shipped in the wheel.

Co-authored-by: Cursor <cursoragent@cursor.com>
MHE merged commit d53885bced into main 2026-11-03 17:46:44 +01:00
MHE deleted branch inventory-image-tools-versions 2026-11-03 17:47:51 +01:00
Sign in to join this conversation.
No reviewers
No labels
No milestone
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
openso/erpnext!1
No description provided.