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

4.0.0 release is missing sdist tarball on pypi #9917

Closed
mgorny opened this issue Oct 14, 2021 · 19 comments · Fixed by #11379
Closed

4.0.0 release is missing sdist tarball on pypi #9917

mgorny opened this issue Oct 14, 2021 · 19 comments · Fixed by #11379
Labels
C-build Build related issues (bazel and CI) C-py

Comments

@mgorny
Copy link

mgorny commented Oct 14, 2021

🐛 Bug Report

It seems that the 4.0.0 release on pypi includes only wheels but missed the .tar.gz archive needed to build from source.

To Reproduce

Visit https://pypi.org/project/selenium/#files

Expected behavior

.tar.gz archive being present

Test script or set of commands reproducing this issue

n/a

Environment

OS: Gentoo Linux
Browser: n/a
Browser version: n/a
Browser Driver version: n/a
Language Bindings version: Python (any)
Selenium Grid version (if applicable): n/a

@ghost ghost added the needs-triaging label Oct 14, 2021
@AutomatedTester AutomatedTester added C-build Build related issues (bazel and CI) C-py and removed needs-triaging labels Oct 14, 2021
@AutomatedTester
Copy link
Member

I will need to look into this with Bazel.

I honestly thought everyone had moved to wheels for distribution of packages these days. What is the main use case for you for needing the sdist version?

@mgorny
Copy link
Author

mgorny commented Oct 14, 2021

Distributions still build their packages from sources.

@chenrui333
Copy link

chenrui333 commented Oct 17, 2021

Yes, Homebrew would need the pypi artifact to build the formula from sources.

@chenrui333
Copy link

Any update on this thread? Thanks!

@bollwyvl
Copy link

bollwyvl commented Jan 9, 2022

everyone had moved to wheels

Can confirm this is also blocking on conda-forge, and is indeed still documented in py/README.rst:

Alternately, you can download the source distribution from PyPI (e.g. selenium-4.1.0.tar.gz), unarchive it, and run:

In the meantime, I'm investigating a full bazel build... but humorously, invoking bazel build //py:selenium naively fails because pytest-trio... doesn't distribute a whl 🤣

If the contents of py really are enough to build a distribution, that would get us going, and will be investigating further, but a PyPI sdist would indeed be preferred!

@pombredanne
Copy link

gentle ping: everyone expects to have source distributions available. Wheels are great, and wanted but not enough.

@Apteryks
Copy link

Apteryks commented Mar 9, 2022

For the record, the only two files need to run the test suite which are not in a git checkout are these:

  • selenium/webdriver/remote/getAttribute.js
  • selenium/webdriver/remote/isDisplayed.js

I have no idea how they come into existence (I don't use or know about Bazel, and it's been too messy for anyone to successfully package yet on GNU Guix).

@symonk
Copy link
Member

symonk commented Mar 26, 2022

bump; we should release a source distribution on pypi; I'm not sure where those *.js files are being pulled in from; but editable installs etc are a no-go atm for me locally

@pombredanne
Copy link

For the record, the only two files need to run the test suite which are not in a git checkout are these:

selenium/webdriver/remote/getAttribute.js
selenium/webdriver/remote/isDisplayed.js

I have no idea how they come into existence (I don't use or know about Bazel, and it's been too messy for anyone to successfully package yet on GNU Guix).

Both seem to be minified and obfuscated JS files, e.g. generated from some other sources. This is the prefect reason why we need a source archive: these are essentially the same and as opaque as a compiled binary. For all I know these could be malicious files. It is unlikely... but I cannot tell.
I surmise these have been compiled with Google's closure compiler and the unobfuscated source are likely present in the repo... but this is a supposition.

@Apteryks
Copy link

Right, these files seem to be generated or minified and copied as part of the prep Rake task: https://github.com/SeleniumHQ/selenium/blob/trunk/Rakefile#L532. Unfortunately you can't simply involve rake prep; as this requires Bazel.

@AutomatedTester
Copy link
Member

Hey folks, I have linked a PR that gives us a build target that creates a sdist tarball.

Could someone please try it out for me to make sure it has everything you need?

The new build target to get an sdist is bazel build //py:selenium-sdist.

@AutomatedTester
Copy link
Member

fixed in e237ced

@bollwyvl
Copy link

Thank you!

@bollwyvl
Copy link

bollwyvl commented May 6, 2022

The 4.1.4 and 4.1.5 releases on PyPI do not include sdist tarballs.

@titusfortner
Copy link
Member

something stopped working for it. Will reopen this instead of creating new issue.

@titusfortner titusfortner reopened this May 19, 2022
@mgorny
Copy link
Author

mgorny commented Jun 24, 2022

Let's celebrate yet another unsuccessful release.

@titusfortner
Copy link
Member

@mgorny you are more than welcome to make a pull request for this.

@jameshilliard
Copy link
Contributor

Seems the publish procedure in the readme is wrong, #11375 should fix it.

@github-actions
Copy link

This issue has been automatically locked since there has not been any recent activity after it was closed. Please open a new issue for related bugs.

@github-actions github-actions bot locked and limited conversation to collaborators Jan 12, 2023
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
C-build Build related issues (bazel and CI) C-py
Projects
None yet
9 participants