Skip to content

Redesign PyPy 3.9 CI pipeline: drop dep pins, add step-level failure handling#678

Merged
wbarnha merged 1 commit into
fix/ci-lint-formattingfrom
copilot/redesign-pipeline-to-handle-pypy-failures
Jul 7, 2026
Merged

Redesign PyPy 3.9 CI pipeline: drop dep pins, add step-level failure handling#678
wbarnha merged 1 commit into
fix/ci-lint-formattingfrom
copilot/redesign-pipeline-to-handle-pypy-failures

Conversation

Copilot AI commented Jul 7, 2026

Copy link
Copy Markdown

PyPy 3.9 fails CI both at install time (PyO3 incompatibilities with cryptography≥45 and nh3≥0.3) and at test time (4 persistent failures). The previous fix pinned those deps in requirements/test.txt, which is the wrong layer — the pins don't even eliminate test failures.

Changes

  • requirements/test.txt: Remove cryptography<45 and nh3<0.3 PyPy markers. Dep constraints for a flaky optional CI target don't belong in the shared requirements file.

  • .github/workflows/python-package.yml: Restructure test-pypy to degrade gracefully at the step level:

    • Install dependencies gets id: install + continue-on-error: true — install failures no longer cascade
    • Run tests and Enforce coverage gain if: steps.install.outcome == 'success' — skipped cleanly if install fails, no spurious errors

The job already carries continue-on-error: true at the job level and is excluded from the required check (needs: [lint, test-pytest]), so any PyPy failure — install or test — is fully non-blocking.

@wbarnha wbarnha marked this pull request as ready for review July 7, 2026 12:41
@wbarnha wbarnha merged commit 6e62044 into fix/ci-lint-formatting Jul 7, 2026
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