Feat 532: APT installation support with validation and documentation#561
Feat 532: APT installation support with validation and documentation#561Leay15 wants to merge 25 commits intosuperradcompany:mainfrom
Conversation
|
hey @Leay15. happy to see you contributing :) ok, gonna take a look at this over the weekend. |
|
Thank you @toksdotdev! I put this points here for discussing it:
Happy to hear all the comments about 😄 |
|
@toksdotdev Sure, no problem. I was planning to rework it to better reflect how things are now. If you prefer, I can do it on this same branch and rebase the changes with force push. :) |
|
cool cool. yeah, that'd be great. force pushing to this same branch works 💯 |
…grade, and removal
df3b4e3 to
b28d14e
Compare
|
@toksdotdev there’s a topic we need to discuss. We should define how the APT keyring is handled going forward, since there are two valid approaches with different trade-offs: Option 1: Script/manual-managed keyring in /etc/apt/keyrings The downside is that if we later introduce a dedicated keyring package, we’ll need to define how to migrate or reconcile this setup. Option 2: Package-managed keyring in /usr/share/keyrings The downside is that, until such a package exists, installing it via manual scripts in /usr/share/keyrings is conceptually less clean and slightly blurs the line between bootstrap configuration and package-managed files. Question: |
This pull request closes #532
It introduces comprehensive support for APT (Debian/Ubuntu) packaging and repository management for the project, including CI/CD workflow changes, documentation updates, and improvements to the CLI's self-management commands. The changes automate building, validating, and publishing Debian packages and repositories, and ensure that users installing via APT receive appropriate update and uninstall guidance.
APT packaging and repository automation:
Added new jobs to
.github/workflows/check.ymlto build, validate, and test Debian packages and signed APT repositories for both x86_64 and aarch64 architectures, including smoke tests in KVM environments.Extended
.github/workflows/release.ymlto package, sign, and publish APT repositories to GitHub Pages as part of the release process, with a preparatory job to coordinate release context and ensure correct source SHA and tag usage.Documentation improvements:
README.mdto provide clear instructions for installing the CLI via the new APT repository, including keyring setup and repository configuration for Debian/Ubuntu users.CLI enhancements for APT awareness:
crates/cli/lib/commands/self_cmd.rsso that if the CLI is installed via APT,microsandbox self updateandmicrosandbox self uninstallwill print appropriate notices instead of performing direct actions, to prevent conflicts with package-managed installations.These changes ensure robust, automated packaging and updates for Debian-based systems. Also let open the possibility for support another Linux Arch.
Tested on:
Pop!_OS 24.04 LTS
Podman instead Docker