Skip to content

feat(deploy-candidate): Read apt dependencies from [tool.frappe-cloud] - #7973

Merged
regdocs merged 1 commit into
frappe:developfrom
barredterra:feat/apt-dependencies-tool-key
Nov 4, 2026
Merged

regdocs merged 1 commit into
frappe:developfrom
barredterra:feat/apt-dependencies-tool-key

Conversation

@barredterra

@barredterra barredterra commented Nov 3, 2026 •

Copy link
Copy Markdown
Contributor

Problem

Apps declare extra apt packages in pyproject.toml like this:

[deploy.dependencies.apt]
packages = ["libmagic1"]

This table is not valid. PEP 518 reserves all top-level tables except [tool.*] for future specifications. Strict validators such as validate-pyproject reject the file.

Change

Like the builder since frappe/agent#616, the Deploy Candidate now also reads a key in the [tool.*] namespace:

[tool.frappe-cloud]
apt-dependencies = ["libmagic1"]
  • The legacy [deploy.dependencies.apt] key still works.
  • The existing duplicate check skips a package that is already listed, so an app can list a package under both keys during migration.
  • A unit test covers both keys and the duplicate removal.

Docs: https://docs.frappe.io/wiki-app/spaces/7ncdodb8sb/change-requests/91adai4u3o

The [deploy.dependencies.apt] table is not valid per PEP 518, which
reserves all top-level tables except [tool.*]. Strict validators reject
it. Read [tool.frappe-cloud] apt-dependencies too, like the builder does
since frappe/agent#616. The legacy key still works, and the existing
dedup lets an app list a package under both keys while it migrates.
@codecov-commenter

codecov-commenter commented Nov 3, 2026 •

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 66.93%. Comparing base (0201ec9) to head (ad07fd2).
⚠️ Report is 24 commits behind head on develop.

Additional details and impacted files
@@             Coverage Diff              @@
##           develop    #7973       +/-   ##
============================================
- Coverage    85.47%   66.93%   -18.55%     
============================================
  Files          197     1176      +979     
  Lines        34449   118064    +83615     
  Branches      2379     2377        -2     
============================================
+ Hits         29446    79028    +49582     
- Misses        4937    38969    +34032     
- Partials        66       67        +1     
Flag Coverage Δ
dashboard 85.47% <ø> (ø)

Flags with carried forward coverage won't be shown. Click here to find out more.

☔ View full report in Codecov by Harness.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

@mergify

mergify Bot commented Nov 3, 2026 •

Copy link
Copy Markdown
Contributor

This pull request does not currently match the merge queue conditions, so it cannot be queued from here. The box comes back if it matches again.

@regdocs regdocs added the backport-master For mergify backport to master label Nov 4, 2026
@regdocs
regdocs merged commit bf5618b into frappe:develop Nov 4, 2026
18 checks passed
regdocs added a commit that referenced this pull request Nov 4, 2026
feat(deploy-candidate): Read apt dependencies from [tool.frappe-cloud] (backport #7973)
@barredterra
barredterra deleted the feat/apt-dependencies-tool-key branch November 4, 2026 14:49
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

backport-master For mergify backport to master

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants