-
Notifications
You must be signed in to change notification settings - Fork 150
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
Standalone linux packages #878
Conversation
cc489f8
to
12d3df6
Compare
Deprecate build-packages: - the .deb and .rpm part is going to move to build-standalone-exe - the .whl and .sdist part is now done by the CI itself (no need for a wrapper script: the command is simple enough)
Rename build-standalone-exe to build-os-packages because the script is going to take care of building the .deb and .rpm, replacing build-packages. Other changes in the script: - Its output directory is now `packages` - It has its own directory inside `scripts`, to hold the files it is going to need (only the README template for now)
Move code to build .deb and .rpm to build-os-packages. Remove build-packages script.
12d3df6
to
ee87ab0
Compare
ee87ab0
to
14f790e
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks good, I'm just curious about one thing: our package is named "os-ubuntu-22.04" but it can most likely be installed on all versions of ubuntu ? could the naming discourage users ?
This name is internal: it's generated by GitHub when it combines the job name and the matrix values. If you download it from the run summary page you can see it contains the following files:
The deb file does not mention any Ubuntu version. I can confirm it works on Ubuntu 22.04 and Debian 12 (It does not work on older versions though, because it needs a glibc >= the-one-in-ubuntu-22.04. We would need to build it on an older distribution to fix this) |
14f790e
to
5e91511
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks good 👍
Hi @agateau-gg: I see the last commit introduces a faketag CI workflow. Is this intentional, how is it supposed to be used ? |
- define section - provide a short first line for description, and 80-column-wrapped content for the extended-description field - make sure files are not group-writable - fix absolute symbolic link - add dependency on libc6
Make ci.yml use build_release_assets.yml too. ci.yml was basically embedding a copy of build_release_assets.yml. This commit removes the copy and makes ci.yml call build_release_assets.yml. The only change in build_release_assets.yml is the addition of a "release_mode" input option, so that ci.yml produces unsigned packages with commit-sha in their version numbers, whereas tag.yml produces signed packages without commit-sha in version numbers.
5e91511
to
f5e4d88
Compare
@pierrelalanne this workflow is there for testing. I am going to remove it before merging. You can see a run of it here See the "Testing" section in the PR description for more details. |
f5e4d88
to
5e785a5
Compare
Context
This PR does the following:
What has been done
Quite a lot of refactoring happened:
scripts/build-packages
has been removed (it was responsible for building the .whl, the source .tar.gz, the zipapp, the .deb and the .rpm).pip install build ; python -m build
).scripts/build-standalone-exe
has been renamed/moved toscripts/build-os-packages/build-os-packages
and now builds the .deb and .rpm.build_release_assets.yml
CI workflow was previously only used by thetag.yml
workflow. It is now also used by theci.yml
workflow. This reduces code duplication.I also extended the doc on this topic a bit.
doc/dev/os-packages.md
now contains a flowchart ofbuild-os-packages
steps.Testing
Since
build_release_assets.yml
is now used byci.yml
, it is executed by this PR. Neverthless, I temporarily added afaketag.yml
workflow to test the changes fromtag.yml
. It's a copy oftag.yml
with all the publishing steps replacing by code listing the expected assets to publish. I will remove the commit adding that file before merging (This is similar to what I did in #871).Review
Best reviewed commit by commit.