Skip to content

downgrade/sublibrary-downgrade: add apt-packages + container inputs#89

Merged
ChrisRackauckas merged 1 commit into
SciML:masterfrom
ChrisRackauckas-Claude:downgrade-apt-container-inputs
Jun 13, 2026
Merged

downgrade/sublibrary-downgrade: add apt-packages + container inputs#89
ChrisRackauckas merged 1 commit into
SciML:masterfrom
ChrisRackauckas-Claude:downgrade-apt-container-inputs

Conversation

@ChrisRackauckas-Claude

Copy link
Copy Markdown

What

Adds two optional inputs — apt-packages and container — to the reusable downgrade workflows (downgrade.yml and sublibrary-downgrade.yml), mirroring the inputs tests.yml already exposes on master.

Right now the downgrade legs of Python/R-stack packages cannot install their system dependencies: neither downgrade.yml nor sublibrary-downgrade.yml expose apt-packages or container, so a caller has no way to provision e.g. scipy or an R install on the downgrade job the way it already can on its tests.yml job. This closes that gap.

Changes (mirroring tests.yml)

For each workflow:

  • New apt-packages input (string, default ""): "Space-separated apt packages to install before building/testing (Linux only)."
  • New container input (string, default ""): "Docker container image to run the job in, e.g. for Python-stack packages (empty string = no container)".
  • container: ${{ inputs.container }} on the job that runs build/test (the downgrade job in downgrade.yml; the matrix test job in sublibrary-downgrade.yml).
  • An Install system packages step, gated on if: "${{ inputs.apt-packages != '' && runner.os == 'Linux' }}", placed before julia-actions/julia-buildpkg (after the julia-downgrade-compat step), matching the exact step text/placement in tests.yml.
  • README: documented both new inputs in the downgrade.yml and sublibrary-downgrade.yml input tables, mirroring the tests.yml wording.

The empty-string default for container is the same no-container pattern tests.yml already uses on master, so it is accepted.

actionlint is clean on both edited workflow files.

Follow-up callers

Once this merges and v1 is retagged, these downgrade legs can be wired up caller-side:

  • SciPyDiffEq.jlapt-packages / container to provide scipy on its downgrade job.
  • deSolveDiffEq.jl — provision the R stack on its downgrade job.

Scope

Only the two workflow files plus the README rows; no other changes.

NOTE: v1 must be retagged after merge for @v1 callers to pick this up. Ignore until reviewed by @ChrisRackauckas.

…provision Python/R-stack downgrade legs)

Co-Authored-By: Chris Rackauckas <accounts@chrisrackauckas.com>

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@ChrisRackauckas ChrisRackauckas marked this pull request as ready for review June 13, 2026 10:13
@ChrisRackauckas ChrisRackauckas merged commit d11bc60 into SciML:master Jun 13, 2026
2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants