Skip to content

ci: build .deb packages for Debian/Ubuntu and publish them as an apt repository - #560

Open
denyspozniak wants to merge 1 commit into
sems-server:masterfrom
denyspozniak:deb_apt_repo
Open

ci: build .deb packages for Debian/Ubuntu and publish them as an apt repository#560
denyspozniak wants to merge 1 commit into
sems-server:masterfrom
denyspozniak:deb_apt_repo

Conversation

@denyspozniak

Copy link
Copy Markdown
Contributor

Two things: build .deb for Ubuntu as well as Debian, and serve them from a repository
hosted by this repo — an interim solution until there's a properly signed archive.

Closes #559

  • /debs in each image, one artifact per suite, flat apt repo per suite, deployed to Pages
  • separate directory per suite — builds aren't interchangeable across glibc versions
  • adds Ubuntu 22.04 and 24.04, which had no image; both reuse existing packaging
    (jammy → bullseye, noble → bookworm), no new pkg/deb/
  • versions from run_number (2.1.0+ci42~debian12) — apt compares version strings only,
    so a rebuilt 2.1.0 never reaches clients; ordering checked with
    dpkg --compare-versions
  • the five deb images had drifted apart in style; unified, dependency sets unchanged
  • needs Settings → Pages → Source: GitHub Actions; publishing gated on the default
    branch plus workflow_dispatch
  • unsigned for now, so clients need [trusted=yes]; signing and keeping older builds are
    separate decisions
echo "deb [trusted=yes] https://<org>.github.io/sems/debian12 ./" \
  | sudo tee /etc/apt/sources.list.d/sems.list
sudo apt update && sudo apt install sems

Tested: five suites green in one ~9 min run, tree deploys, Ubuntu 22.04 host installs
with plain apt.

@denyspozniak

Copy link
Copy Markdown
Contributor Author

Running from my fork if it helps to see it: https://denyspozniak.github.io/sems/ - five
suites, newest three builds each, every directory browsable.

echo "deb [trusted=yes] https://denyspozniak.github.io/sems/debian12 ./" \
  | sudo tee /etc/apt/sources.list.d/sems.list
sudo apt update && sudo apt install sems

rpm_test_build is red on master too (run 28855397667, same step); the publishing jobs
skip on pull_request by design, so a PR never deploys.

Adds Ubuntu 22.04/24.04 images, keeps the packages the images already build
and smoke-test, and publishes a flat apt repo per suite on GitHub Pages with a
browsable listing. Debug packages stay out of the index, the newest three
builds of each package are kept, and a verify job installs from the published
tree in every suite.

Versions come from the release tag, or <VERSION>+ci<run_number> otherwise;
apt compares version strings only, so a rebuilt version would never reach
clients.

Publishing runs on a release or workflow_dispatch, so a pull request never
deploys. Needs Settings -> Pages -> Source: GitHub Actions.
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.

[Feature request] Publish the .deb packages CI already builds as an apt repository

1 participant