-
Notifications
You must be signed in to change notification settings - Fork 59
FIX: Enforce bundled native compatibility in Conda packages #781
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Open
Jahnvi Thakkar (jahnvi480)
wants to merge
15
commits into
main
Choose a base branch
from
jahnvi480-conda-existing-code-fixes
base: main
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Open
Changes from all commits
Commits
Show all changes
15 commits
Select commit
Hold shift + click to select a range
718fff0
FIX: Enforce bundled native compatibility in Conda packages
jahnvi480 d28fef6
CHORE: Remove redundant pipeline-only tests
jahnvi480 c09c760
DOC: Describe independent Conda release proposals
jahnvi480 c525452
CHORE: Drop unused PyYAML test dependency additions
jahnvi480 9ebf192
FIX: Preserve native core package completeness
jahnvi480 5a99c7e
FIX: Require an explicit Conda wheel version
jahnvi480 b0f382a
FIX: Exclude inherited automatic channel terms acceptance
jahnvi480 642f6e2
FIX: Respect optional Mach-O test compression backend
jahnvi480 8a6d6dd
FIX: Skip wheel-build regression without its optional backend
jahnvi480 772f818
FIX: Match wheel test preflight to setuptools bootstrap
jahnvi480 bb8d5cd
Merge branch 'main' into jahnvi480-conda-existing-code-fixes
jahnvi480 e916ef4
Merge branch 'main' into jahnvi480-conda-existing-code-fixes
jahnvi480 90df29d
FIX: Reject malformed Conda metadata and incomplete direct recipe pay…
jahnvi480 d217622
DOC: Clarify unattended Conda channel terms prerequisite
jahnvi480 02497d7
Merge branch 'main' into jahnvi480-conda-existing-code-fixes
jahnvi480 File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,54 @@ | ||
| # Combined Conda candidate | ||
|
|
||
| This recipe combines the matching code and ODBC wheels into **one `mssql-python` | ||
| Conda package**, including the required bulk-copy core. Pip instead installs | ||
| `mssql-python-odbc` as a separate companion distribution. Neither requires a | ||
| separately installed ODBC driver or driver manager. | ||
|
|
||
| Direct recipe builds must set `MSSQL_PYTHON_VERSION` to the exact selected code-wheel | ||
| version before rendering/building. The shared orchestrator derives and supplies it | ||
| automatically; omitted input fails recipe rendering instead of choosing a release. | ||
| Both native installation and cross extraction require the bulk-copy initializer and | ||
| a compatible extension filename. The separate native audits still validate binary headers. | ||
|
|
||
| This is a temporary candidate, not an announcement of public channel availability. | ||
| Obtain the exact candidate archive/channel from its owner and install into a new | ||
| Conda environment. Activate it and select the same interpreter/kernel in your IDE | ||
| or notebook. Application imports and the public API remain unchanged. Use Conda | ||
| for upgrades; do not overwrite Conda-owned driver files with pip. | ||
|
|
||
| Linux requires **glibc >=2.34** for the complete native payload, including the | ||
| bulk-copy core, even when the binding wheel has a lower platform tag. Do not force | ||
| installation on older glibc. This does not change the separate PyPI support claim. | ||
| macOS retains its external Homebrew/MacPorts OpenSSL prerequisite for encryption; | ||
| Conda OpenSSL alone does not satisfy the driver's system-path lookup. | ||
|
|
||
| The release goal is the matching PyPI release's public API and supported feature | ||
| behavior on all 28 ordinary CPython variants: 3.10-3.14 on win-64, linux-64, | ||
| linux-aarch64, osx-64 and osx-arm64; 3.12-3.14 on win-arm64. No silent removal of | ||
| required native functionality is acceptable. Optional features require their | ||
| corresponding dependencies; Windows ARM64 PyArrow availability remains a blocker | ||
| to qualifying those features, not permission to drop them. | ||
|
|
||
| These guards are **not full-matrix parity certification**. Native target execution, | ||
| SQL, certificate-verified TLS, authentication, bulk-copy and optional-feature tests | ||
| remain required before release. Cross-build/static checks and a DB-less driver | ||
| load do not establish those results. Applicable OS, certificate and authentication | ||
| configuration remain external prerequisites. | ||
|
|
||
| Use only organizationally approved channels and handle applicable terms separately; | ||
| the Windows ARM64 dependency profile includes Anaconda `defaults`. Before unattended | ||
| Windows ARM64 builds, agent owners must use approved provisioning to put a disposable | ||
| Conda installation on `PATH`, with applicable channel terms handled for the job's | ||
| execution identity. The orchestrator's automatic Miniforge installation does not | ||
| establish that approval. If Conda enforces terms that have not been handled, the build | ||
| or verification solve stops with Conda's diagnostic; provision the prerequisite before | ||
| running again. Automatic acceptance, including an inherited | ||
| `CONDA_PLUGINS_AUTO_ACCEPT_TOS` opt-in, remains disabled. | ||
|
|
||
| Run this existing build workflow only in a disposable isolated installation: shared-environment | ||
| ownership hardening is outside this change. Publication/provenance tooling is proposed | ||
| in a separate release-additions PR, without a required merge order; see the | ||
| [release status and qualification caveats](../README.md#installation). | ||
| Neither this native-packaging change nor validate-only success authorizes production | ||
| publication. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Uh oh!
There was an error while loading. Please reload this page.