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

Do not publish wheels for all SHAs, and publish to PyPI from Github Actions. #19028

Merged
merged 1 commit into from
May 18, 2023

Conversation

stuhood
Copy link
Member

@stuhood stuhood commented May 17, 2023

This change:

  1. Adjusts wheel building to only upload to S3 when requested via a workflow or tag push
  2. Adjusts the release job to build and upload wheels to S3, and then also to push them to PyPI.
    • Note that this does not yet publish our "universal" PEX from the CI job, so that step still happens locally.

See the docs changes for a high level overview.

@stuhood stuhood marked this pull request as ready for review May 17, 2023 23:47
Copy link
Contributor

@benjyw benjyw left a comment

Choose a reason for hiding this comment

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

YAY!

I wonder if we can (with appropriate warning) stop building the pex.

@thejcannon
Copy link
Member

Why do we build a PEX? 😄

@benjyw
Copy link
Contributor

benjyw commented May 18, 2023

I don't know if anyone uses it. It's gigantic, and yet still doesn't run on ARM64 macos or linux.

@stuhood
Copy link
Member Author

stuhood commented May 18, 2023

I wonder if we can (with appropriate warning) stop building the pex.

Possibly.

A PEX lockfile is effectively equivalent to a PEX. And so I think that if scie-pants were to begin consuming a released PEX lockfile to build venvs?

@stuhood stuhood merged commit 41551ad into pantsbuild:main May 18, 2023
@stuhood stuhood deleted the stuhood/actions-pypi-publish branch May 18, 2023 01:26
@thejcannon
Copy link
Member

So do we build the PEX so that we have Pants and all its deps consistent, and in one file?

@benjyw
Copy link
Contributor

benjyw commented May 18, 2023

I'm not sure why, and I don't think anyone consumes it these days.

@stuhood
Copy link
Member Author

stuhood commented May 18, 2023

@benjyw , @thejcannon : I've retitled and reopened #12397: we initially thought that #7369 would resolve both that issue and #11614, but I do think that we still need to adjust the distribution model to either PEX or PyOxidizer.

@thejcannon
Copy link
Member

I think I'm missing one step on that journey. Where does PEX come in play? Is the idea that we upload built PEXs of Pants to Releases, and then scie-pants can use that to create a venv-with-Pants?

And what do we do today? Just manually make a venv and pip install pantsbuild... into it?

@stuhood
Copy link
Member Author

stuhood commented May 18, 2023

I think I'm missing one step on that journey. Where does PEX come in play? Is the idea that we upload built PEXs of Pants to Releases, and then scie-pants can use that to create a venv-with-Pants?

And what do we do today? Just manually make a venv and pip install pantsbuild... into it?

Correct.

@benjyw
Copy link
Contributor

benjyw commented May 18, 2023

Or, we build pants itself as a scie?

@stuhood
Copy link
Member Author

stuhood commented May 18, 2023

@benjyw : Yea, possibly. That still involves a PEX though: it just moves the interpreter bootstrapping out of scie-pants and into the Pants binary. I'll update the ticket to mention that possibility.

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