Skip to content

feat!: remove pact provider verification; drop Django 4.2; bump codecov - #615

Merged
feanil merged 5 commits into
openedx:masterfrom
feanil:fix/pact-verification-fork-prs
Jun 23, 2026
Merged

feanil merged 5 commits into
openedx:masterfrom
feanil:fix/pact-verification-fork-prs

Conversation

@feanil

@feanil feanil commented Jun 17, 2026

Copy link
Copy Markdown
Contributor

Summary

This PR consolidates several related cleanups originally motivated by trying to get the pact provider verification job working for fork PRs. Investigation revealed the local pact JSON (the only mode fork PRs could use, since they cannot access the PACT_FLOW_ACCESS_TOKEN secret) has not been updated since 2021-11-04, and the consumer-side source (edx/video-encode-manager) is now a private third-party repo with no workable sync path. Rather than maintain a slowly-rotting snapshot, the pact tooling is removed entirely.

While here, bump codecov-action to v7.0.0 — the v5.5.4 we were pinned to fails GPG verification since the codecovsecurity keybase account was deprecated. See codecov/codecov-action#1956.

Breaking changes

  • Django 4.2 is no longer supported; consumers must run Django 5.2.
  • Pact provider verification is no longer part of this repo. External systems firing the contract_changed repository_dispatch event will no-op.

@codecov

codecov Bot commented Jun 17, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 97.63%. Comparing base (ad95048) to head (ff0c83e).
⚠️ Report is 8 commits behind head on master.

Additional details and impacted files
@@            Coverage Diff             @@
##           master     #615      +/-   ##
==========================================
+ Coverage   94.78%   97.63%   +2.84%     
==========================================
  Files          33       28       -5     
  Lines        3358     3259      -99     
  Branches      129      124       -5     
==========================================
- Hits         3183     3182       -1     
+ Misses        157       60      -97     
+ Partials       18       17       -1     
Flag Coverage Δ
unittests 97.63% <100.00%> (+2.84%) ⬆️

Flags with carried forward coverage won't be shown. Click here to find out more.

☔ View full report in Codecov by Harness.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@feanil
feanil force-pushed the fix/pact-verification-fork-prs branch from da7785c to 7fdb666 Compare June 18, 2026 14:38
@feanil feanil changed the title fix: verify pacts against local JSON when broker token missing feat!: remove pact provider verification; drop Django 4.2; bump codecov Jun 18, 2026
@feanil
feanil marked this pull request as ready for review June 18, 2026 15:13
@feanil
feanil requested a review from ormsbee June 18, 2026 15:14
ormsbee

This comment was marked as outdated.

@ormsbee ormsbee left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

🔥 🔥 🔥

feanil and others added 5 commits June 23, 2026 11:15
v5.5.4 fails GPG signature verification of the codecov CLI because
the codecovsecurity keybase account was deprecated. v7.0.0 (and the
v5.5.5 patch) migrate to the keybase.io/codecovsecops account.

See codecov/codecov-action#1956

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Django 4.2 is being dropped everywhere. Remove the django42 tox env,
the Django 4.2 PyPI classifier, the django42 matrix entry in CI, and
update the pact verification job to install Django 5.2 instead of 4.2.

The 'Run Coverage' step's matrix gate is moved from django42 to
django52 so coverage upload continues to fire once per CI run.

BREAKING CHANGE: Django 4.2 is no longer supported. Consumers must
upgrade to Django 5.2.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
The consumer-side pact source (edx/video-encode-manager) is now a
private third-party repo, so the documented "manually copy from
upstream" process for keeping the in-tree pact JSON in sync is
no longer workable. The local JSON has not been updated since
2021-11-04 and verifying against it produces stale/false signals.

Remove the pact tooling entirely:

* delete edxval/pacts/ (verifier, middleware, provider state views,
  the stale JSON, README)
* delete edxval/settings/pact.py
* delete the provider-verification job in ci.yml and the
  verify_changed_contract.yml workflow
* drop the pact-provider URL registration from edxval/urls.py
* drop pact-python from requirements/test.in and its pin from
  requirements/constraints.txt

BREAKING CHANGE: pact provider verification is no longer part of
this repo. Any external systems triggering the
'contract_changed' repository_dispatch event will no-op.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Regenerate the pinned requirements files now that pact-python and
its constraint are gone. Picks up incidental upgrades from running
make upgrade.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Two breaking changes since 4.0.1: drop Django 4.2 support, remove
pact provider verification. Bump per semver.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
@feanil
feanil force-pushed the fix/pact-verification-fork-prs branch from 7fdb666 to ff0c83e Compare June 23, 2026 15:15
@feanil
feanil merged commit d5c638b into openedx:master Jun 23, 2026
5 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