⚡ Sangsakala Proxy 🏠 Home
Skip to content

fix: Pin build dependencies of source builds to the CI lock - #7104

Open
patelchaitany wants to merge 1 commit into
feast-dev:masterfrom
patelchaitany:fix/pin-build-deps-to-ci-lock
Open

patelchaitany wants to merge 1 commit into
feast-dev:masterfrom
patelchaitany:fix/pin-build-deps-to-ci-lock

Conversation

@patelchaitany

Copy link
Copy Markdown
Contributor

What this PR does / why we need it:

The unit-test-python (3.10, ubuntu-latest) job fails on master and on every open PR since Nov 2:

error: Failed to build `sqlglotc==30.21.0`
  /tmp/sqlglotc_build_*/sqlglot/schema.py:284: error: Multiple inheritance is not supported (except for traits)

Cause:

  • sqlglotc no longer has Python 3.10 wheels on PyPI, so on 3.10 uv pip sync builds sqlglotc==30.21.0 from source.
  • The sdist's build requirements include an unpinned sqlglot, and its setup.py compiles that installed copy. So the build compiles the newest sqlglot instead of the locked 30.21.0.
  • In newer sqlglot, Schema is no longer a mypyc trait, so MappingSchema(AbstractMappingSchema, Schema) fails to compile.

Fix: pass the CI lock as --build-constraints in install-python-dependencies-ci. Source builds then use the locked versions (sqlglot==30.21.0). This only affects build-time dependencies of packages built from source; the installed set is unchanged. It is a stopgap until Python 3.10 support is dropped.

Which issue(s) this PR fixes:

CI failure on Python 3.10 (no issue filed).

Checks

  • I've made sure the tests are passing.
  • My commits are signed off (git commit -s)
  • My PR title follows conventional commits format

Testing Strategy

  • Unit tests
  • Integration tests
  • Manual tests
  • Testing is not required for this change

Misc

Verification is the unit-test-python (3.10, ubuntu-latest) job on this PR; it could not be reproduced locally (no Python 3.10 available).

sqlglotc has no Python 3.10 wheels on PyPI, so on 3.10 uv builds
sqlglotc==30.21.0 from source. Its build pulls the newest unpinned
sqlglot, whose Schema class is no longer a mypyc trait, and mypyc fails
with "Multiple inheritance is not supported (except for traits)".

Pass the CI lock as --build-constraints so source builds use the locked
versions (sqlglot==30.21.0) instead of the newest release.

Signed-off-by: Chaitany Patel <patelchaitany93@gmail.com>
@codecov-commenter

Copy link
Copy Markdown

⚠️ Please install the 'codecov app svg image' to ensure uploads and comments are reliably processed by Codecov.

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 51.28%. Comparing base (b576c45) to head (9c4e0de).
❗ Your organization needs to install the Codecov GitHub app to enable full functionality.

Additional details and impacted files

Impacted file tree graph

@@           Coverage Diff           @@
##           master    #7104   +/-   ##
=======================================
  Coverage   51.28%   51.28%           
=======================================
  Files         458      458           
  Lines       57409    57409           
  Branches     8415     8415           
=======================================
+ Hits        29443    29444    +1     
  Misses      25957    25957           
+ Partials     2009     2008    -1     
Flag Coverage Δ
go-feature-server 30.58% <ø> (ø)
python-unit 52.76% <ø> (+<0.01%) ⬆️
see 1 file with indirect coverage changes

Continue to review full report in Codecov by Harness.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update b576c45...9c4e0de. Read the comment docs.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

This branch has not been deployed

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

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants