-
-
Notifications
You must be signed in to change notification settings - Fork 3k
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
Added automated build of Debian package #10479
Conversation
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.
I am afraid we are not able to accept this PR for multiple reasons:
- Adding a third-party submodule to official repository is not an option.
- Kubo build and signing (because of macOS) process lives in https://github.com/ipfs/distributions which builds artifacts published at URLs like https://dist.ipfs.tech/kubo/v0.29.0/ and when release happens, sync-release-assets.yml fetches artifacts from dist.ipfs.tech and attaches them to GitHub release in this repository.
- That is to say, if there is a place to add .deb build, that would be there.
@twdragon what is the intention behind this? Have official .deb attached to Releases in this repository and in https://dist.ipfs.tech/kubo/?
Maintenance-wise, we've made conscious decision to not provide distribution-specific packages, and only have generic .tar.gz
for linux (https://dist.ipfs.tech/kubo/v0.29.0/), and then let every distribution to build their own package from it (or sources).
Kubo maintainers made sure README is clear which builds are official, and which ones are third-party/distribution-specific, and we don't want to muddy the waters here.
Perhaps a way forward here is to change this PR to run this pipeline in your own repository, and then add your .deb to https://github.com/ipfs/kubo#unofficial-linux-packages, like you did in #10467 with Ubuntu?
Yes, as the built binary packages are compatible with almost all Debian-based distributions carrying onboard the @lidel thanks for the reasoning, now give me some time to think, please. I want to provide convenience packages for mostly the Ubuntu ecosystem, so I need also to think about how to organize the processes. From the next release I also plan to make PPA builds cross-platform, so the packages should be automatically built for all architectures officially supported in Ubuntu. If you have any advice here, please tell me! |
@twdragon thank you for creating community resources like this. I think running automation in your own org/repos is the way to go. IPFS project is only producing In case it helps / saves you CI time: https://dist.ipfs.tech/kubo/ provides
We also provide docker images at https://hub.docker.com/r/ipfs/kubo/tags for
You could reuse these prebuild binaries, and package them up for your distribution, and only build for missing platforms. |
This PR requests the re-introduction of the universal Github Actions-compatible CI pipeline that automates the building of the following entities:
devscripts
anddpkg
toolchains..deb
archive) built for the GitHub Action Runner's architecture.kubo-debian
.The handler scripts and maintainer scripts are taken from the repository, which is now included in the Kubo repository as a submodule. Please feel free to ask for total copying of this repository's code and removing the submodule. In addition, please note that this repository also maintains the PPA-specific build pipeline for uploading the packages on Ubuntu Launchpad.
The package installs Kubo as a
systemd
service with the selected CPU/RAM accounting mode, bash completion script and networking profile, as described in the dedicated discussion thread. It is also possible to install Kubo for a non-system user, but the node is still managed bysystemd
.The main intention under this PR is to provide the automated pipeline for building a Debian-compatible source package for downloading and building on the end user's side, but also it could be easily adapted for building binary packages for different architectures. If this PR will be considered a good addition to the Kubo pipelines, the cross-compilation toolchain will be introduced in the mainline, not PPA toolchain.