-
Notifications
You must be signed in to change notification settings - Fork 3
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
python(feat): Add offline installation archives for various platforms #150
Merged
Conversation
This file contains 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
also add .venv to gitignore
- Updated the build dependencies to include optional extras for building. - Modified the test command to validate both standard and optional dependencies. - Expanded the wheel checking step to include installation tests for various combinations of extras. This improves the robustness of the build process and ensures all features are tested.
- Renamed workflow from "Build Wheels" to "Offline Installation Archive" to better reflect its purpose. - Updated job names and structure to enhance clarity and organization. - Added support for multiple architectures and operating systems in the build matrix. - Introduced steps for generating requirements, downloading dependencies, and creating a distribution archive. - Enhanced verification process by extracting and checking distributions before testing installations. - Improved installation testing to cover various combinations of optional dependencies. These changes streamline the CI process and ensure comprehensive testing of the package across different environments.
…patible versioning syntax
…thon packages. Renamed job to "Build and verify", added verification step for wheel files using twine, and implemented comprehensive installation tests for various dependency combinations. Updated installation steps and removed obsolete verification job to streamline the workflow.
kevin-sift
changed the title
Kevin/feature/add python build gha
python(feat): Add offline installation archives for various platforms
Dec 11, 2024
A separate pr should put it in its own extras group
solidiquis
requested changes
Dec 11, 2024
kevin-sift
commented
Dec 11, 2024
kevin-sift
commented
Dec 11, 2024
solidiquis
approved these changes
Dec 11, 2024
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
Context
Some users wish to install
sift-stack-py
without access to pypi.Description
This PR adds a new workflow
python_build.yaml
that builds offline installation archives (wheels for each dependency) that target all supported python versions and various platforms (linux, mac, windows) and architectures (e.g. x86_64/arm64).Users will be able to install
sift-py-stack
by runningpip install sift-py-stack --no-index --find-links {path/to/offline-installation-archive}
.Verification
Ran
python_release.yaml
workflow which calls the newpython_build.yaml
on a dev tag and successfully created a releasehttps://github.com/sift-stack/sift/actions/runs/12273019715
Manually downloaded and inspected archives as well as installing locally on my mac.