Build Debian packages and upload them to Forgejo's repository #996

Merged
nex merged 36 commits from ci-deb into main 2025-09-23 19:53:37 +00:00
Member

This uses the existing cargo-deb metadata.

This uses the existing `cargo-deb` metadata.
feat(ci): Initial debian build workflow
Some checks failed
Documentation / Build and Deploy Documentation (pull_request) Has been skipped
Release Docker Image / define-variables (pull_request) Successful in 8s
Release Docker Image / build-image (linux/arm64, release, linux-arm64, base) (pull_request) Failing after 17s
Checks / Prek / Pre-commit & Formatting (pull_request) Successful in 1m2s
Release Docker Image / build-image (linux/amd64, release, linux-amd64, base) (pull_request) Successful in 5m58s
Release Docker Image / merge (pull_request) Has been skipped
Checks / Prek / Clippy and Cargo Tests (pull_request) Successful in 11m0s
3fc03c9cd7
fix: Remove copied Fedora-specific workflow step
Some checks are pending
Documentation / Build and Deploy Documentation (pull_request) Has been skipped
Checks / Prek / Pre-commit & Formatting (pull_request) Successful in 1m15s
Release Docker Image / define-variables (pull_request) Successful in 5s
Build / Debian DEB / build (push) Waiting to run
Release Docker Image / build-image (linux/amd64, release, linux-amd64, base) (pull_request) Successful in 7m19s
Release Docker Image / build-image (linux/arm64, release, linux-arm64, base) (pull_request) Successful in 5m20s
Release Docker Image / merge (pull_request) Successful in 3s
Checks / Prek / Clippy and Cargo Tests (pull_request) Successful in 10m37s
5a2288fe06
ginger changed title from WIP: Build Debian packages and upload them to Forgejo's repository to Build Debian packages and upload them to Forgejo's repository 2025-09-08 17:02:17 +00:00
Author
Member

This should be squash-merged.

This should be squash-merged.
ginger force-pushed ci-deb from aab4c5eaee
All checks were successful
Build / Debian DEB / build (debian-latest) (push) Successful in 13m16s
Build / Debian DEB / build (debian-oldstable) (push) Successful in 13m24s
Build / Debian DEB / build (ubuntu-latest) (push) Successful in 13m31s
Build / Debian DEB / build (ubuntu-previous) (push) Successful in 13m33s
Documentation / Build and Deploy Documentation (pull_request) Successful in 34s
Release Docker Image / define-variables (pull_request) Successful in 2s
Checks / Prek / Pre-commit & Formatting (pull_request) Successful in 1m48s
Checks / Prek / Clippy and Cargo Tests (pull_request) Successful in 5m45s
Release Docker Image / build-image (linux/arm64, release, linux-arm64, base) (pull_request) Successful in 7m28s
Release Docker Image / build-image (linux/amd64, release, linux-amd64, base) (pull_request) Successful in 6m52s
Release Docker Image / merge (pull_request) Successful in 7s
to dd932e9824
All checks were successful
Build / Debian DEB / build (debian-latest) (push) Successful in 9m2s
Documentation / Build and Deploy Documentation (pull_request) Successful in 55s
Checks / Prek / Pre-commit & Formatting (pull_request) Successful in 36s
Build / Debian DEB / build (ubuntu-latest) (push) Successful in 10m37s
Build / Debian DEB / build (debian-oldstable) (push) Successful in 10m59s
Build / Debian DEB / build (ubuntu-previous) (push) Successful in 11m0s
Release Docker Image / Build linux-arm64 (release) (pull_request) Successful in 9m37s
Release Docker Image / Build linux-amd64 (release) (pull_request) Successful in 9m47s
Checks / Prek / Clippy and Cargo Tests (pull_request) Successful in 11m34s
Release Docker Image / Create Multi-arch Release Manifest (pull_request) Successful in 10s
Release Docker Image / Build linux-amd64 (max-perf) (pull_request) Successful in 22m59s
Release Docker Image / Build linux-arm64 (max-perf) (pull_request) Successful in 23m8s
Release Docker Image / Create Max-Perf Manifest (pull_request) Successful in 16s
2025-09-16 12:56:21 +00:00
Compare
ginger added this to the v0.5.0-rc.8 milestone 2025-09-16 13:41:57 +00:00
nex force-pushed ci-deb from dd932e9824
All checks were successful
Build / Debian DEB / build (debian-latest) (push) Successful in 9m2s
Documentation / Build and Deploy Documentation (pull_request) Successful in 55s
Checks / Prek / Pre-commit & Formatting (pull_request) Successful in 36s
Build / Debian DEB / build (ubuntu-latest) (push) Successful in 10m37s
Build / Debian DEB / build (debian-oldstable) (push) Successful in 10m59s
Build / Debian DEB / build (ubuntu-previous) (push) Successful in 11m0s
Release Docker Image / Build linux-arm64 (release) (pull_request) Successful in 9m37s
Release Docker Image / Build linux-amd64 (release) (pull_request) Successful in 9m47s
Checks / Prek / Clippy and Cargo Tests (pull_request) Successful in 11m34s
Release Docker Image / Create Multi-arch Release Manifest (pull_request) Successful in 10s
Release Docker Image / Build linux-amd64 (max-perf) (pull_request) Successful in 22m59s
Release Docker Image / Build linux-arm64 (max-perf) (pull_request) Successful in 23m8s
Release Docker Image / Create Max-Perf Manifest (pull_request) Successful in 16s
to a7cd4e9554
Some checks failed
Build / Debian DEB / build (debian-latest) (push) Successful in 11m16s
Build / Debian DEB / build (ubuntu-latest) (push) Has been cancelled
Build / Debian DEB / build (ubuntu-previous) (push) Has been cancelled
Build / Debian DEB / build (debian-oldstable) (push) Has been cancelled
Documentation / Build and Deploy Documentation (pull_request) Has been cancelled
Checks / Prek / Pre-commit & Formatting (pull_request) Has been cancelled
Checks / Prek / Clippy and Cargo Tests (pull_request) Has been cancelled
Release Docker Image / Build linux-amd64 (release) (pull_request) Has been cancelled
Release Docker Image / Build linux-arm64 (release) (pull_request) Has been cancelled
Release Docker Image / Create Multi-arch Release Manifest (pull_request) Has been cancelled
Release Docker Image / Build linux-amd64 (max-perf) (pull_request) Has been cancelled
Release Docker Image / Build linux-arm64 (max-perf) (pull_request) Has been cancelled
Release Docker Image / Create Max-Perf Manifest (pull_request) Has been cancelled
2025-09-17 21:09:08 +00:00
Compare
nex requested review from nex 2025-09-17 21:09:18 +00:00
nex self-assigned this 2025-09-17 21:09:45 +00:00
nex requested changes 2025-09-17 21:16:45 +00:00
Dismissed
nex left a comment
Owner

PR is likely to be superseded by a monolithic release workflow, keep open for now

PR is likely to be superseded by a monolithic release workflow, keep open for now
nex removed this from the v0.5.0-rc.8 milestone 2025-09-21 17:14:12 +00:00
tcpipuk force-pushed ci-deb from a7cd4e9554
Some checks failed
Build / Debian DEB / build (debian-latest) (push) Successful in 11m16s
Build / Debian DEB / build (ubuntu-latest) (push) Has been cancelled
Build / Debian DEB / build (ubuntu-previous) (push) Has been cancelled
Build / Debian DEB / build (debian-oldstable) (push) Has been cancelled
Documentation / Build and Deploy Documentation (pull_request) Has been cancelled
Checks / Prek / Pre-commit & Formatting (pull_request) Has been cancelled
Checks / Prek / Clippy and Cargo Tests (pull_request) Has been cancelled
Release Docker Image / Build linux-amd64 (release) (pull_request) Has been cancelled
Release Docker Image / Build linux-arm64 (release) (pull_request) Has been cancelled
Release Docker Image / Create Multi-arch Release Manifest (pull_request) Has been cancelled
Release Docker Image / Build linux-amd64 (max-perf) (pull_request) Has been cancelled
Release Docker Image / Build linux-arm64 (max-perf) (pull_request) Has been cancelled
Release Docker Image / Create Max-Perf Manifest (pull_request) Has been cancelled
to b8dfab0236
All checks were successful
Build / Debian DEB / build (debian-latest) (push) Successful in 16m18s
Build / Debian DEB / build (debian-oldstable) (push) Successful in 15m24s
Checks / Prek / Pre-commit & Formatting (pull_request) Successful in 1m43s
Documentation / Build and Deploy Documentation (pull_request) Successful in 4m31s
Checks / Prek / Clippy and Cargo Tests (pull_request) Successful in 9m21s
Build / Debian DEB / build (ubuntu-previous) (push) Successful in 20m23s
Build / Debian DEB / build (ubuntu-latest) (push) Successful in 22m4s
Release Docker Image / Build linux-amd64 (release) (pull_request) Successful in 6m32s
Release Docker Image / Build linux-arm64 (release) (pull_request) Successful in 6m31s
Release Docker Image / Create Multi-arch Release Manifest (pull_request) Successful in 19s
Release Docker Image / Build linux-arm64 (max-perf) (pull_request) Successful in 17m31s
Release Docker Image / Build linux-amd64 (max-perf) (pull_request) Successful in 18m5s
Release Docker Image / Create Max-Perf Manifest (pull_request) Successful in 16s
2025-09-23 06:52:36 +00:00
Compare
Owner

This wants to be merged, just with a limit like this to avoid it running on every main/branch push:

on:
  push:
    tags:
      - "v*.*.*"
  workflow_dispatch:
  schedule:
    - cron: '30 0 * * *'
This wants to be merged, just with a limit like this to avoid it running on every main/branch push: ```yaml on: push: tags: - "v*.*.*" workflow_dispatch: schedule: - cron: '30 0 * * *' ```
tcpipuk force-pushed ci-deb from 93339a8e75
All checks were successful
Documentation / Build and Deploy Documentation (pull_request) Successful in 53s
Checks / Prek / Pre-commit & Formatting (pull_request) Successful in 1m12s
Release Docker Image / Build linux-amd64 (release) (pull_request) Successful in 5m36s
Release Docker Image / Build linux-arm64 (release) (pull_request) Successful in 5m47s
Checks / Prek / Clippy and Cargo Tests (pull_request) Successful in 6m51s
Release Docker Image / Create Multi-arch Release Manifest (pull_request) Successful in 10s
Release Docker Image / Build linux-arm64 (max-perf) (pull_request) Successful in 13m43s
Release Docker Image / Build linux-amd64 (max-perf) (pull_request) Successful in 13m48s
Release Docker Image / Create Max-Perf Manifest (pull_request) Successful in 13s
to d7bbac9452
All checks were successful
Documentation / Build and Deploy Documentation (pull_request) Successful in 50s
Checks / Prek / Pre-commit & Formatting (pull_request) Successful in 58s
Release Docker Image / Build linux-amd64 (release) (pull_request) Successful in 4m29s
Checks / Prek / Clippy and Cargo Tests (pull_request) Successful in 5m48s
Release Docker Image / Build linux-arm64 (release) (pull_request) Successful in 3m38s
Release Docker Image / Create Multi-arch Release Manifest (pull_request) Successful in 8s
Release Docker Image / Build linux-amd64 (max-perf) (pull_request) Successful in 11m46s
Release Docker Image / Build linux-arm64 (max-perf) (pull_request) Successful in 11m53s
Release Docker Image / Create Max-Perf Manifest (pull_request) Successful in 9s
2025-09-23 19:12:24 +00:00
Compare
tcpipuk requested review from nex 2025-09-23 19:14:13 +00:00
tcpipuk approved these changes 2025-09-23 19:15:48 +00:00
tcpipuk left a comment
Owner

LGTM, thank you! Please squash though 🙏😅

LGTM, thank you! Please squash though 🙏😅
@ -0,0 +17,4 @@
runs-on: ubuntu-latest
strategy:
matrix:
container: ["ubuntu-latest", "ubuntu-previous", "debian-latest", "debian-oldstable"]
Owner

is it not better to pin to specific releases rather than just "latest" and "prev" when it comes to builds like this?

is it not better to pin to specific releases rather than just "latest" and "prev" when it comes to builds like this?
Owner

these are profiles on the runner, so technically the one holding the runner is pinning the version - i could set up specific pinned runner profiles for these builds though.

these are profiles on the runner, so technically the one holding the runner is pinning the version - i could set up specific pinned runner profiles for these builds though.
Owner

ah nvm yeah that makes sense

ah nvm yeah that makes sense
Owner

Technically if we want to pin the base image we should be using the container: key

Technically if we want to pin the base image we should be using the `container:` key
nex marked this conversation as resolved
@ -0,0 +95,4 @@
- name: Install cargo-deb
run: |
if command -v cargo-deb &> /dev/null; then
echo "cargo-deb already available"
Owner

Is this step necessary? is it not a case of "It's in the base image or it's not"?

Is this step necessary? is it not a case of "It's in the base image or it's not"?
Owner

some images may have it and some may not, i'm a fan of optional installs that skip when not required 🙂

some images may have it and some may not, i'm a fan of optional installs that skip when not required 🙂
nex marked this conversation as resolved
nex approved these changes 2025-09-23 19:25:03 +00:00
nex left a comment
Owner

nothing to hold up a merge on from my pov

nothing to hold up a merge on from my pov
nex merged commit f1e3b4907e into main 2025-09-23 19:53:37 +00:00
nex deleted branch ci-deb 2025-09-23 19:53:37 +00:00
Sign in to join this conversation.
No reviewers
No milestone
No project
No assignees
4 participants
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
continuwuation/continuwuity!996
No description provided.