Skip to content

Implement support for Commodore component dependencies (SDD #0034) - #1418

Draft
simu wants to merge 17 commits into
masterfrom
feat/component-dependencies
Draft

Implement support for Commodore component dependencies (SDD #0034)#1418
simu wants to merge 17 commits into
masterfrom
feat/component-dependencies

Conversation

@simu

@simu simu commented Aug 18, 2026

Copy link
Copy Markdown
Member

SDD PR: projectsyn/documentation#189

TODO

  • PR body description
  • Cleanup commits
  • Verify that we don't have any special component tests that fail under the new component compile implementation
  • Bounded recursion for dependency fetching in component compile?
  • Ensure that argocd dependency isn't injected for component-argocd (check by URL?)
  • Check for dependency loops when collecting dependencies for catalog

Checklist

  • Keep pull requests small so they can be easily reviewed.
  • Update the documentation.
  • Update tests.
  • Categorize the PR by setting a good title and adding one of the labels:
    bug, enhancement, documentation, change, breaking, dependency, internal
    as they show up in the changelog
  • Link this PR to related issues.

@simu simu added the enhancement New feature or request label Aug 18, 2026
@simu
simu force-pushed the feat/component-dependencies branch 4 times, most recently from 3be1267 to 8254de4 Compare August 18, 2026 13:58
@simu simu mentioned this pull request Aug 19, 2026
5 tasks
@simu
simu force-pushed the feat/component-dependencies branch 3 times, most recently from 30b425e to 3f33e49 Compare August 19, 2026 15:11
simu added 2 commits August 20, 2026 14:57
TODO: cleanup, decide if/how we want to do nested component dependencies
@simu
simu force-pushed the feat/component-dependencies branch from a7f5c47 to 1af9818 Compare August 20, 2026 13:16
simu added 5 commits August 20, 2026 15:47
We use Google's cel-expr-python to evaluate CEL. This requires bumping
the minimum supported Python to 3.11.

TODO: Move dropping Python 3.10 support to separate PR.
@simu
simu force-pushed the feat/component-dependencies branch 2 times, most recently from 78b5583 to 2079727 Compare August 20, 2026 13:58
@simu
simu force-pushed the feat/component-dependencies branch from 2079727 to 86fa65c Compare August 21, 2026 07:44
@simu
simu force-pushed the feat/component-dependencies branch 2 times, most recently from d6fbec7 to ee6e550 Compare August 21, 2026 09:58
simu added 3 commits August 21, 2026 13:01
This is necessary now that we use the real `argocd.libsonnet` in
`component compile` to ensure that `make golden-diff` doesn't fail on
freshly templated components.

We also introduce a command line flag `--update-golden-tests` for
`component new` and `component update`. This flag is true by default,
but we disable it in most component template unit/integration tests
since we generally don't care about accuracy of the golden test outputs
in these tests. However, for specific test cases (such as the one
checking that a freshly templated component has no golden diff), we
enable the flag.
@simu
simu force-pushed the feat/component-dependencies branch from ee6e550 to 70bf3d9 Compare August 21, 2026 11:02
TODO: good test cases for recursive discovery (e.g. component minversion
changes after first iteration).
@simu
simu force-pushed the feat/component-dependencies branch 4 times, most recently from 4401132 to b9fd11b Compare August 21, 2026 12:45
Some of these cases were previously covered by `component compile`
tests.

Note that we don't try to test the case where the `jb` binary is missing
since we can't easily do that without breaking the global test
environment.
@simu
simu force-pushed the feat/component-dependencies branch from b9fd11b to 2f1943a Compare August 21, 2026 12:50
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant