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

fix: #510: third-party licenses #511

Merged
merged 14 commits into from
Nov 20, 2024
Merged

fix: #510: third-party licenses #511

merged 14 commits into from
Nov 20, 2024

Conversation

BatmanAoD
Copy link
Contributor

@BatmanAoD BatmanAoD commented Nov 13, 2024

In this PR:

  • Generated and reviewed licensing data for third-party packages
  • Added license data for Rust itself
  • Added NOTICE files for Apache-2.0 projects, where present
  • Resolved open questions with Luke
  • Bundled the license texts with our binary artifacts that we distribute via PyPI
  • Resolved CI issues for cargo deny and Python-publishing

TBD, not necessarily in this PR:

  • rendering this as Markdown or similar
  • automatically updating the THIRDPARTY.yml file in each MR

Copy link

github-actions bot commented Nov 13, 2024

PR Preview Action v1.4.8
🚀 Deployed preview to https://rigetti.github.io/qcs-sdk-rust/pr-preview/pr-511/
on branch qcs-sdk-python-docs at 2024-11-14 19:26 UTC

@BatmanAoD BatmanAoD marked this pull request as ready for review November 14, 2024 01:09
.gitignore Show resolved Hide resolved
@kalzoo
Copy link
Contributor

kalzoo commented Nov 14, 2024

rendering this as Markdown or similar

what's the interest in doing this? Do we expect anyone to care about the readability?

bundling the license texts with our binary artifacts that we distribute via PyPI

This should be as simple as listing the files in the pyproject.toml

automatically updating the THIRDPARTY.yml file in each MR

Seems like this might be a release CI step rather than in the MR, right? Things always get a little messy when the MR pipeline commits files back to its branch.

Seems like the way to go would be:

  • Have a manually-written file for any exceptions that the bundling tool can't handle
  • Auto-generate the primary thirdparty file in CI (and don't commit to source control, since that'll never get updated)
  • (TBD) some way to detect new gaps between the two

Then those artifacts are always up to date for publication and no one has to edit them or wonder if they are supposed to edit them.

@BatmanAoD
Copy link
Contributor Author

Do we expect anyone to care about the readability?

Well, Luke hasn't actually commented on the draft version I sent him back when I first discovered bundle-licenses, and the example third-party files I've seen do seem more readable. But the YAML is readable enough except for cases where it renders the Apache license as one long in-line string with \n escapes. (For some reason it does this for some packages but not others.)

Seems like this might be a release CI step rather than in the MR, right?

I think we always want to be able to review changes made by our tooling, and do so before merging to main, or at least before doing a release.

(TBD) some way to detect new gaps between the two

I mentioned this in slack as well, but bundle-licenses is designed to do that; the bug I linked causes a false-positive, though.

@BatmanAoD BatmanAoD force-pushed the 510-thirdparty-licenses branch 2 times, most recently from 21b805f to f875d47 Compare November 14, 2024 18:09
@BatmanAoD
Copy link
Contributor Author

This should be as simple as listing the files in the pyproject.toml

I've added it for sdist and whl files. I'm struggling to test that CI produces the right thing (and I needed to fix an unrelated issue with the grpc-web bundling), but locally I can see that it does.

deny.toml Show resolved Hide resolved
@BatmanAoD BatmanAoD merged commit dfc0ac9 into main Nov 20, 2024
2 checks passed
@BatmanAoD BatmanAoD deleted the 510-thirdparty-licenses branch November 20, 2024 22:30
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.

2 participants