ci: add manifest-declared mixed nightly profiles - #154
Conversation
da076d6 to
11ea0cc
Compare
rvagg
left a comment
There was a problem hiding this comment.
cool, not a deep review but this seems neat and I'd like to see it in action
There was a problem hiding this comment.
Pull request overview
This PR extends foc-devnet’s CI dependency profile system to support manifest-declared “mixed” nightly profiles (partial-upgrade legs), where most components resolve from a base profile (e.g., stability) while one component resolves from another (e.g., frontier). It updates the dependency resolver and nightly workflow matrix accordingly, and adds support for pinning PDP via a git submodule gitlink.
Changes:
- Introduces a v2 dependency manifest schema with a top-level
profilesmap, enabling mixed profiles likestability-frontier-curio. - Extends the resolver with profile validation/mapping and a new
git_submodulestrategy (used to pin PDP from a filecoin-services tag’s submodule gitlink). - Expands nightly CI matrix legs and updates docs/tests/renovate config to match the new behavior.
Reviewed changes
Copilot reviewed 8 out of 8 changed files in this pull request and generated 1 comment.
Show a summary per file
| File | Description |
|---|---|
| scripts/tests/test_resolve_ci_dependencies.py | Adds helper builders and expands unit coverage for mixed profiles and git_submodule resolution. |
| scripts/resolve-ci-dependencies.py | Implements manifest schema v2 (profiles), profile validation/mapping, selection_profile metadata, and git_submodule support via gitlink reading. |
| renovate.json | Adds a Renovate regex manager to update git_submodule tag pins in ci/dependency-profiles.json. |
| README_ADVANCED.md | Documents mixed profiles and clarifies PDP pinning behavior in stability/frontier/mixed profiles. |
| ci/README.md | Documents manifest-declared profiles, mixed profile semantics, and the new git_submodule strategy. |
| ci/dependency-profiles.json | Bumps schema to v2, declares mixed profiles, and changes pdp.stability to git_submodule pinned from filecoin-services tag v1.3.0. |
| .github/workflows/ci_run.yml | Updates reusable workflow input descriptions to reflect manifest-declared profiles (including mixed). |
| .github/workflows/ci_nightly.yml | Expands nightly matrix to include the new mixed profiles. |
rjan90
left a comment
There was a problem hiding this comment.
Looks good to me. I noticed the mixed-profile labels referenced in ci_nightly.yml did not exist yet, so I created the four corresponding scenarios-run-stability-frontier-* labels before approving.
Related to #121
This expands the concept of test profiles introduced in #128 to cover partial upgrade nightly testing profiles. In those, all the components but one are taken from the stability profile while the one that is supposed to get upgraded is taken from frontier.
The way in which I propose introducing this feature makes it easy to create any such combination. In particular, I think we might be interested in adding testing profiles that take most of the components from frontier while one lags behind from stability, for example.
Testing