Skip to content

Conversation

@raulcd
Copy link
Member

@raulcd raulcd commented Jan 26, 2026

Rationale for this change

Currently the files are missing from the published wheels.

What changes are included in this PR?

  • Ensure the license and notice files are part of the wheels
  • Manually copy the LICENSE.txt and NOTICE.txt when building wheels.

Are these changes tested?

Yes, via archery.
I've validated all wheels will fail with the new check if LICENSE.txt or NOTICE.txt are missing:

 AssertionError: LICENSE.txt is missing from the wheel.

Are there any user-facing changes?

No

@github-actions
Copy link

⚠️ GitHub issue #48983 has been automatically assigned in GitHub to PR creator.

@github-actions github-actions bot added the awaiting committer review Awaiting committer review label Jan 26, 2026
@raulcd
Copy link
Member Author

raulcd commented Jan 26, 2026

@github-actions crossbow submit wheel-313--amd64

@github-actions
Copy link

Revision: 070ac9d

Submitted crossbow builds: ursacomputing/crossbow @ actions-b8c9cec4c2

Task Status
wheel-macos-monterey-cp313-cp313-amd64 GitHub Actions
wheel-macos-monterey-cp313-cp313t-amd64 GitHub Actions
wheel-manylinux-2-28-cp313-cp313-amd64 GitHub Actions
wheel-manylinux-2-28-cp313-cp313t-amd64 GitHub Actions
wheel-musllinux-1-2-cp313-cp313-amd64 GitHub Actions
wheel-musllinux-1-2-cp313-cp313t-amd64 GitHub Actions
wheel-windows-cp313-cp313-amd64 GitHub Actions
wheel-windows-cp313-cp313t-amd64 GitHub Actions

@raulcd
Copy link
Member Author

raulcd commented Jan 26, 2026

@github-actions crossbow submit wheel-manylinux-2-28-cp313-cp313-amd64

@github-actions
Copy link

Revision: 9566c3b

Submitted crossbow builds: ursacomputing/crossbow @ actions-9fe4dfb4ec

Task Status
wheel-manylinux-2-28-cp313-cp313-amd64 GitHub Actions

@raulcd
Copy link
Member Author

raulcd commented Jan 26, 2026

@github-actions crossbow submit wheel-manylinux-2-28-cp313-cp313-amd64

@github-actions
Copy link

Revision: 8ae2c1c

Submitted crossbow builds: ursacomputing/crossbow @ actions-722266c345

Task Status
wheel-manylinux-2-28-cp313-cp313-amd64 GitHub Actions

@raulcd
Copy link
Member Author

raulcd commented Jan 26, 2026

@github-actions crossbow submit wheel-313

@github-actions
Copy link

Revision: 8ae2c1c

Submitted crossbow builds: ursacomputing/crossbow @ actions-a71739e7f4

Task Status
wheel-macos-monterey-cp313-cp313-amd64 GitHub Actions
wheel-macos-monterey-cp313-cp313-arm64 GitHub Actions
wheel-macos-monterey-cp313-cp313t-amd64 GitHub Actions
wheel-macos-monterey-cp313-cp313t-arm64 GitHub Actions
wheel-manylinux-2-28-cp313-cp313-amd64 GitHub Actions
wheel-manylinux-2-28-cp313-cp313-arm64 GitHub Actions
wheel-manylinux-2-28-cp313-cp313t-amd64 GitHub Actions
wheel-manylinux-2-28-cp313-cp313t-arm64 GitHub Actions
wheel-musllinux-1-2-cp313-cp313-amd64 GitHub Actions
wheel-musllinux-1-2-cp313-cp313-arm64 GitHub Actions
wheel-musllinux-1-2-cp313-cp313t-amd64 GitHub Actions
wheel-musllinux-1-2-cp313-cp313t-arm64 GitHub Actions
wheel-windows-cp313-cp313-amd64 GitHub Actions
wheel-windows-cp313-cp313t-amd64 GitHub Actions

@raulcd
Copy link
Member Author

raulcd commented Jan 26, 2026

I have tried to copy using some custom copying on setup.py trying to override bdist_wheel command on this commit:
9566c3b

Similar to how we currently do CopyLicenseSdist but setuptools is pretty opinionated and I find that instead of fighting against it we should just copy the files over before building the wheels and forget about it.

The jobs validate now that the wheels contain both LICENSE.txt and NOTICE.txt so it won't happen again.

@raulcd raulcd marked this pull request as ready for review January 26, 2026 14:04
@raulcd raulcd requested review from AlenkaF and pitrou January 27, 2026 08:18
@pitrou
Copy link
Member

pitrou commented Jan 27, 2026

AFAIU, modern build frontends (such as build) build the wheel from the sdist, should we do just that? Either by switching to a modern build frontend, or at worse by unpacking the sdist ourselves :-)

It also ensures that we're shipping consistent contents in both formats, and that we're not missing anything in the sdist.

@raulcd
Copy link
Member Author

raulcd commented Jan 27, 2026

@github-actions crossbow submit wheel-manylinux-2-28-cp313-cp313-amd64

@github-actions
Copy link

Revision: be696f2

Submitted crossbow builds: ursacomputing/crossbow @ actions-0fbd22f993

Task Status
wheel-manylinux-2-28-cp313-cp313-amd64 GitHub Actions

Comment on lines +36 to +47
license = [
info.filename for info in f.filelist if re.search(
r'LICENSE.txt$', info.filename
)
]
assert license, "LICENSE.txt is missing from the wheel."
notice = [
info.filename for info in f.filelist if re.search(
r'NOTICE.txt$', info.filename
)
]
assert notice, "NOTICE.txt is missing from the wheel."
Copy link
Member

Choose a reason for hiding this comment

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

Nit:

Suggested change
license = [
info.filename for info in f.filelist if re.search(
r'LICENSE.txt$', info.filename
)
]
assert license, "LICENSE.txt is missing from the wheel."
notice = [
info.filename for info in f.filelist if re.search(
r'NOTICE.txt$', info.filename
)
]
assert notice, "NOTICE.txt is missing from the wheel."
for filename in ('LICENSE.txt', 'NOTICE.txt'):
assert any(info.filename.endswith(filename) for info in f.filelist), \
f"{filename} is missing from the wheel."

@github-actions github-actions bot added awaiting changes Awaiting changes and removed awaiting committer review Awaiting committer review labels Jan 27, 2026
Copy link
Member

@rok rok left a comment

Choose a reason for hiding this comment

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

Just a minor yak shave

@github-actions github-actions bot added awaiting merge Awaiting merge and removed awaiting changes Awaiting changes labels Jan 27, 2026
@raulcd
Copy link
Member Author

raulcd commented Jan 27, 2026

AFAIU, modern build frontends (such as build) build the wheel from the sdist, should we do just that? Either by switching to a modern build frontend, or at worse by unpacking the sdist ourselves :-)

I switched to build on the last commit and we don't seem to be adding the LICENSE.txt and NOTICE.txt files either, that's why it fails: https://github.com/ursacomputing/crossbow/actions/runs/21394020272/job/61587723641

@pitrou
Copy link
Member

pitrou commented Jan 27, 2026

I switched to build on the last commit and we don't seem to be adding the LICENSE.txt and NOTICE.txt files either, that's why it fails: https://github.com/ursacomputing/crossbow/actions/runs/21394020272/job/61587723641

Yet this seems to be building a sdist, so perhaps something is wrong in our sdist building configuration?

Apparently you can debug this using python -m build --sdist.

Also we'll certainly want to pass --no-isolation to choose our own NumPy version.

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