Skip to content

Research: Explore how and when we need to package bump #38

Description

@emansom

Description

Rust has no stable ABI yet, and is a moving target. Both the Ubuntu and Arch packages probably need a package bump whenever the Rust tooling packages get updated in their repos.

Might not apply if Canonical guarantees a version pinned Rust that only contains backports, unsure about that since Canonical has been moving fast and loose lately.

Additionally, Arch is rolling release and has no stable ABI guarantees at all, and thus needs to be bumped whenever any hard dependency (possibly soft too, if it relies on header files) gets updated.

For the best user experience, we should ensure our distro packages are always functional and do not crash due to ABI incompatibilities.

Proposed solution

  • Explore what dependencies could break our application. Probably just Rust + glibc.

  • Introduce staging packages that apply against testing repos for distros (testing repo for Arch, proposed repo for Ubuntu).

  • Setup a workflow that utilizes rebuild-detector (and/or arch-rebuild-order?) to run every night in a GitHub Action, against the testing distro repos and our staging packages. To automatically bump the package, and trigger a rebuilt and package update if need be.

  • Setup another workflow that syncs staging packages to production packages, to be triggered whenever the distro specific testing repo packages that we depend upon are synced to the production distro repos. (needs some tooling? periodic cron -like checker against git/bzr distro repo sources?)

Metadata

Metadata

Assignees

No one assigned

    Labels

    area: packagingDistro packages, AUR, PPA, release pipelineenhancementNew feature or requestresearchNeeds investigation before implementation

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions