Skip to content

Re-introduce conda_resolve_check.py (release-time channel-drift re-solve gate), wired + validated #755

Description

Context

eng/scripts/conda_resolve_check.py (+ tests/test_032_conda_resolve_check.py) is a release-time dependency re-solve gate: it stages the consolidated conda tree as a local channel and re-runs conda create --dry-run for mssql-python=<version> against the live upstream channels per subdir, so channel drift (a dependency yanked or repinned between build and release) blocks the publish instead of breaking a user's conda install.

It was built and unit-tested but never wired into any pipeline — no OneBranch step invokes it, and the ValidateConda job has no conda/mamba to run it. Its docstring claimed it "blocks the publish," but in practice it gated nothing. It was therefore removed from PR #720 (commit 2439cde4) rather than shipping unwired dead code (an unwired script draws a "why isn't this called?" review comment regardless of docstring wording, and an untested pipeline gate would be worse than none).

Task — re-introduce it together with the wiring that makes it real

  • Add a step to the release pipeline's ValidateConda job (OneBranchPipelines/steps/conda-release-step.yml) that runs conda_resolve_check.py --conda <exe> against the downloaded consolidated conda tree.
  • Provision a conda/mamba solver in that job (an approved base image / internal feed — never a raw download in the Official publish pipeline, per the script's own note).
  • Validate with a real release-pipeline run (or a NonOfficial dry-run that actually reaches the re-solve) before relying on it as a gate.
  • Restore tests/test_032_conda_resolve_check.py and its conda-audit.yml path-filter + pytest references.

Recover the removed code with git show 2439cde4^:eng/scripts/conda_resolve_check.py (and the matching test) from microsoft/mssql-python.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    triage neededFor new issues, not triaged yet.

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions