Skip to content

ci: remove redundant unpinned Snakemake install (clears Scorecard Pinned-Dependencies #73)#152

Merged
Gavin-Borges merged 1 commit into
mainfrom
ci/pin-snakemake-dag-smoke
Jul 24, 2026
Merged

ci: remove redundant unpinned Snakemake install (clears Scorecard Pinned-Dependencies #73)#152
Gavin-Borges merged 1 commit into
mainfrom
ci/pin-snakemake-dag-smoke

Conversation

@Gavin-Borges

Copy link
Copy Markdown
Owner

What

Removes the unpinned pip install "snakemake>=8.0.0" step from the test job in ci.yml. The DAG dry-run smoke check that follows now uses the snakemake already installed by the "Install dependencies" step.

Why

OpenSSF Scorecard code-scanning alert #73 (PinnedDependenciesID, medium): score is 8: pipCommand not pinned by hash at ci.yml:152. The DAG-smoke step added in #150 installed snakemake with an unpinned version range, docking the Pinned-Dependencies score from 10 to 8.

Treatment (fix, not dismiss)

Snakemake 9.23.1 and its full dependency set (pulp, 6 snakemake-interface-* plugins, configargparse, throttler, conda-inject, dpath, yte, ...) are already hash-pinned in environments/requirements-ci.txt, which the test job installs via pip install --no-deps --require-hashes before the DAG step. So the separate install was purely redundant. Removing it is the strongest remediation (eliminates the unpinned command entirely) and is consistent with the repo convention of dismissing a Pinned-Dependencies finding only when hash-pinning is genuinely impossible (e.g. the sestrav==<ver> self-package install, alert #52).

Verification

  • YAML valid; 0 non-ASCII; only the unpinned third-party install removed (the remaining -e . and sestrav==<ver> installs are self-package installs Scorecard does not flag / already dismissed).
  • 3-stage pre-push gate green (selftest 18/18; integrity 20P/1W/0F/2SKIP; fast tests pass).
  • The DAG dry-run still runs against the pinned snakemake (proven by the test (3.13) job on this PR).
  • scorecard.yml runs on push to main, so alert Build(deps): bump the python-minor-patch group across 1 directory with 6 updates #73 auto-transitions to fixed once merged; no manual dismissal required.

…ependencies)

The DAG dry-run smoke step installed snakemake unpinned
(pip install "snakemake>=8.0.0"), which OpenSSF Scorecard flagged as a
Pinned-Dependencies violation (medium code-scanning alert #73). Snakemake and its
full dependency set are already installed hash-pinned via
environments/requirements-ci.txt in the test job "Install dependencies" step, so
the separate install was redundant. Remove it; the DAG dry-run reuses the
already-pinned snakemake. No functional change to the wiring check.
@Gavin-Borges
Gavin-Borges merged commit a1aec28 into main Jul 24, 2026
17 of 18 checks passed
@Gavin-Borges
Gavin-Borges deleted the ci/pin-snakemake-dag-smoke branch July 24, 2026 03:44
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.

1 participant