Repository navigation
vinca-gha --json: write the batched stages instead of a workflow - #201
Draft
EzraBrooks wants to merge 3 commits into
Draft
EzraBrooks wants to merge 3 commits into
EzraBrooks wants to merge 3 commits into
Conversation
For workflows that build the stages through a matrix per stage (e.g. RoboStack's pull-request builds) instead of a generated workflow file.
Tobias-Fischer
added a commit
to Tobias-Fischer/vinca-rs
that referenced
this pull request
Nov 13, 2026
…ates, pixi package - vinca-rs snapshot: rosdistro_snapshot.yaml (same output as vinca-snapshot) - vinca-rs requirements: every selected package's requirements as JSON - workflow --json: the jobs as RoboStack/vinca#201's stages, with needs - build_catkin -> build_cmake without catkin/ROS 1 leftovers; skip_testing dropped - package_xml_name for additional recipes - pixi.toml: pixi-build-rust package and development tasks - pixi-build-ros from the upstream PR branch (prefix-dev/pixi#7526) Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Adds
vinca-gha --json <file>: instead of a GitHub Actions workflow, it writes the recipes' dependency graph as CI jobs, independent of any CI system:{"stages": [[{"id": "stage_0_job_0", "name": "<job name>", "recipes": "<space-separated recipes>", "needs": [], "requires": {"<recipe>": ["<recipe>", ...]}}, ...], ...]}--batch_size,--timings) as the generated workflows. Ids match the workflow's job names (stage_<k>_job_<i>).needs: the earlier jobs that build the job's recipes' direct requirements (host, run and test). Jobs for packages that aren't being built are left out.requires: for each of the job's recipes, the same requirements as recipes, limited to the ones being built. A CI can let a failed recipe hold back only the recipes that need it, not the whole job's dependents.This treats vinca-gha as a converter from the recipe graph to a CI job graph; the workflow writers (and vinca-gitlab) could render from the same structure.
The first user is RoboStack's staged build for pull requests and releases (RoboStack/robostack#216). It runs the jobs through fixed matrix stage slots, with no committed workflow files, and uses
needsto download only the packages a job requires, andrequiresto skip only the recipes whose requirements failed. That PR pins this change cherry-picked onto the current pin (74d1e85):EzraBrooks/vinca@3fa01ee.Tests:
test_json_writes_the_stages_instead_of_a_workflow(stages, ids, direct needs, requires),test_json_without_recipes_has_no_stages.