Skip to content
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

Store wheel #15

Open
wants to merge 40 commits into
base: main
Choose a base branch
from
Open

Store wheel #15

wants to merge 40 commits into from

Conversation

mschwoer
Copy link
Contributor

@mschwoer mschwoer commented Jan 16, 2025

Allowing to build the wheel only once: prevent potentially different dependencies between installers & pip.

Here it is in action:
https://github.com/MannLabs/directlfq/actions/runs/12813629376

Here's resulting artifacts:
https://github.com/MannLabs/directlfq/releases/tag/untagged-98e7a0c8afbb7b580426

Version on test-pypi:
https://github.com/MannLabs/directlfq/actions/runs/12814576748/job/35731356979
https://test.pypi.org/project/directlfq/0.3.1.dev1/

These are the recommended changes to a repo (but it's backwards compatible):
https://github.com/MannLabs/directlfq/compare/improve_requirements...improve_release_workflow?expand=1

Copy link

@GeorgWa GeorgWa left a comment

Choose a reason for hiding this comment

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

So many wheels...
image

If a pre-release of `X.Y.Z-dev0` is done, the next version number should be `X.Y.Z-dev1`.

(Note: if you want to build wheel from such a version, you need to substitute `-dev` with `.dev`,
to have e.g. `packaname-1.2.3.dev0-py3-none-any.whl`)
to have e.g. `packagename-1.2.3.dev0-py3-none-any.whl`)


### Step-by-step instructions
Copy link

Choose a reason for hiding this comment

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

Maybe add what we will do on a high level:

bump the version away from a dev version,
perform release,
Switch to dev

if git show-ref --tags --verify --quiet "refs/tags/${TAG}"; then
echo "Tag ${TAG} exists, continuing .."
else
echo "Tag ${TAG} does not exist. Did you forget to publish the release?"
Copy link

Choose a reason for hiding this comment

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

Is this related to the wheel store?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

nope, this is related to me wondering why the checkout failed with a weird error message ;-)

- name: Check package
run: |
pip install twine
twine check --strict ${{steps.prepare_wheel.outputs.WHEEL_FILE}}
Copy link

Choose a reason for hiding this comment

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

nice! Extra safety

run: |
# os-specific wheel creating takes precedence
if [ -f release/${{ inputs.os }}/build_wheel_${{ inputs.os }}.sh ]; then
echo "Building os-specific wheel"
Copy link

Choose a reason for hiding this comment

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

Maybe add something like "Downloaded wheel will not be used"

Copy link
Member

@ammarcsj ammarcsj left a 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
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants