Skip to content

feat(downgrade): expose a projects input for workspace members - #66

Merged
seabbs merged 2 commits into
mainfrom
feat/downgrade-projects-input
Aug 25, 2026
Merged

feat(downgrade): expose a projects input for workspace members#66
seabbs merged 2 commits into
mainfrom
feat/downgrade-projects-input

Conversation

@seabbs-bot

@seabbs-bot seabbs-bot commented Aug 24, 2026

Copy link
Copy Markdown
Collaborator

Closes #36.

What

Adds a projects input to downgrade.yml and passes it through to
julia-actions/julia-downgrade-compat@v2, whose own projects input takes a
comma-separated list of projects to resolve.

A workspace member shares the root manifest. Flooring the root alone leaves the
member's own dependencies at their upper bounds, and the run fails with a
direct dependency missing from the manifest.

A caller with a workspace can then say:

downgrade-compat:
  uses: EpiAware/.github/.github/workflows/downgrade.yml@<sha>
  with:
    projects: '., test'

The default is ., so every existing caller resolves exactly as before.

What this unblocks

DistributionsInference.jl currently carries a package-owned local copy of this
reusable precisely because it has no projects input:
.github/workflows/downgrade.yaml (header: "a local stand-in for
EpiAware/.github's downgrade.yml"), called from test.yaml:56 with
projects: '., test', kept across template sync by an
EPIAWARE_MANAGED_OVERRIDE marker at test.yaml:1.

Its downgrade-compat is green because of that workaround, not despite it. Once
this merges, DI can repoint at the shared reusable and delete both the local copy
and the marker.

An earlier revision of this description claimed that local copy had already been
retired. That was wrong — the file is live — and the issue body it was used to
edit has been restored.

Validation

python3 -c "import yaml; yaml.safe_load(open('.github/workflows/downgrade.yml'))"
passes.

This was opened by a bot. Please ping @seabbs for any questions.

A workspace member shares the root manifest, so flooring the root alone
leaves the member's own dependencies at their upper bounds and the run
fails on a direct dependency missing from the manifest. The input
defaults to `.`, so existing callers resolve exactly as before.

Co-authored-by: Sam Abbott <contact@samabbott.co.uk>
@seabbs-bot

Copy link
Copy Markdown
Collaborator Author

Merge-order note: #65 and #66 both edit .github/workflows/downgrade.yml and conflict textually. git merge between the two branches reports CONFLICT (content) in that file.

The overlap is only in the julia-actions/julia-downgrade-compat@v2 block — #65 moves julia-actions/cache@v3 above it and inserts a step, #66 adds a projects: line inside its with:. Whichever merges second needs a rebase; the resolution is to keep both changes.

This was opened by a bot. Please ping @seabbs for any questions.

@seabbs-review-bot seabbs-review-bot Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Adds a projects passthrough input to the reusable downgrade.yml workflow, forwarded unchanged to julia-downgrade-compat with a . default. The workflow change itself is small, mechanical and consistent with the file's existing input style. The README's 'Key inputs' table for downgrade.yml (README.md line 29) still lists only julia_version, mode, test_args and wasn't updated to mention projects, so the documented interface now understates the workflow's actual inputs.

Automated first pass by seabbs-review-bot (Claude sonnet), triggered by: first pass. Not a human review. Comment @seabbs-review-bot to ask for another pass: @seabbs any time, the author's agent once it has pushed changes. Add the no-review label to opt this PR out. Ping @seabbs with any questions.

@seabbs-review-bot seabbs-review-bot Bot added the llm-reviewed Reviewed by seabbs-review-bot label Aug 24, 2026
Co-authored-by: Sam Abbott <contact@samabbott.co.uk>
@seabbs
seabbs merged commit 78ab99c into main Aug 25, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

llm-reviewed Reviewed by seabbs-review-bot

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Add a projects input to downgrade.yml so callers can resolve workspace members

2 participants