44 Commits

Author SHA1 Message Date
boypt
e5ed62f421 ci: support [skip ci] for deps image builds 2026-09-15 18:28:35 +08:00
boypt
b7a01f8a74 ci: upgrade docker actions to Node24 and fix bullseye archive 404
- docker/setup-buildx-action v3->v4, docker/login-action v3->v4,
  docker/build-push-action v5->v7 to eliminate Node.js 20 deprecated
  warnings (Node 24 runtime, requires runner >=2.327.1)
  actions/checkout@v5, upload-artifact@v7, download-artifact@v7,
  ncipollo/release-action@v1 already node24 -> keep

- install_deps.sh: fix bullseye EOL handling that caused
  'archive.debian.org/debian-security bullseye-security 404' in
  Build and Push Dependency Images (continously failing since 82d0f3f):
  robust _probe_url (wget->curl->python3 fallback, both Release/InRelease),
  keep official source when reachable, and when falling back to archive
  verify archive security exists else revert security to deb.debian.org
  (keeps bullseye/main on archive, security on official until archive ready)
2026-09-01 16:18:03 +08:00
boypt
4ef6b27bec refactor: download sid debhelper .debs on host via pullsrc.sh instead of bundling in git
- pullsrc.sh fetches debhelper/libdebhelper-perl 14.3 (pinned DEBHELPER_SIDPKG
  in version.env, empty = auto-detect latest sid) into gitignored builddep/
- install_deps.sh installs builddep/*.deb and adds compat sed hacks for sid
  debhelper >= 13.27: rewrite Dh_Lib.pm bucket 'cp --update=none' to '-n' on
  coreutils < 9.3 (buster/bionic/bookworm), downgrade use v5.28 pragmas in
  Dh_Lib.pm/dh_assistant for perl < 5.28, handle ${tmpdir} brace form in the
  non-merged-usr hack; drop the dead sid-apt-source _DEBIAN_DEBHELPER
- Dockerfile.deps: BuildKit bind mounts instead of COPY (nothing in layers)
- CI deps-image build runs ./pullsrc.sh debhelper first to populate context
2026-09-01 15:41:24 +08:00
boypt
82d0f3f0ab refactor: consolidate apt source handling into install_deps.sh
- merge APT_MIRROR and EOL archive switching into install_deps.sh
  fix_apt_sources() (buster unconditional, bullseye probed via
  Release/InRelease with fallback to archive.debian.org)
- make DEBMIRROR follow APT_MIRROR in version.env (nounset-safe)
- remove switch_archive_sources.sh (no remaining callers)
- simplify docker/Dockerfile.deps to single RUN and update CI to use
  install_deps.sh --fix-apt-only
- update docs (AGENTS.md/README.md) to reflect new flow
2026-09-01 12:09:32 +08:00
boypt
93ba9e6727 feat: add Debian 10 buster to supported distros and CI matrix
The buster backport was verified via docker:
- install_deps.sh with archive.debian.org fallback (switch_archive_sources.sh)
- compile.sh: zero new patches needed, existing bionic-era guards sufficed
- install test: packages install, sshd runs, login/scp all functional
- libfido2-dev from backports fixed (priority-500 gate)

README: add buster(10) to both supported-distro sections.
2026-09-01 09:44:41 +08:00
boypt
179cb38059 ci: trigger deps image rebuild on switch_archive_sources.sh changes
The Dockerfile copies switch_archive_sources.sh into the image, so
changes to it should also trigger a rebuild of the dependency images.
2026-09-01 09:41:00 +08:00
boypt
beb09df438 feat: extract archive source switch script for EOL Debian builds
Create switch_archive_sources.sh that rewrites /etc/apt/sources.list
from deb.debian.org to archive.debian.org (with backports) for EOL
Debian releases (buster, bullseye).  Both docker/Dockerfile.deps and
the CI install-test step use this script instead of inline fallback
logic.

Also record the pullsrc-on-host strategy in AGENTS.md.
2026-09-01 09:16:19 +08:00
boypt
66f3834387 ci: fix deps-image push trigger branch main -> master 2026-08-31 22:28:28 +08:00
boypt
408fc63800 feat: add Ubuntu 18.04 (bionic) backport support
compile.sh:
- drop libcrypt-dev build-dep when absent (crypt.h in libc6-dev)
- strip runit integration when dh-runit constraint is unsatisfiable
  (avoids uninstallable runit-helper >= 2.17 dep)
- rewrite sysusers named-GID syntax for systemd < 244 (237 cannot
  parse 'u sshd -:nogroup', sshd privsep user was never created)
- install systemd units to /lib on non-merged-usr distros
  (deb-systemd-helper 1.51 only searches /lib/systemd/system)

install_deps.sh:
- install ca-certificates (fixes GitHub TLS verification in pullsrc)
- install libcrypt-dev when available in the archive
- pull dwz from <codename>-backports when too old for debhelper 13.14
- patch debhelper 13.14 for Perl 5.26 (list-context state, dh_missing)
- lower init-system-helpers dep versions and drop
  --skip-systemd-native from invoke-rc.d calls on old distros
- keep dh_installsystemd unit path at /lib on non-merged-usr

CI: add ubuntu:bionic to both workflow matrices
2026-08-31 18:20:04 +08:00
boypt
a8f7831f67 docker: build dep images 2026-07-07 15:12:44 +08:00
boypt
71d9a204b7 update actions 2026-07-07 15:01:45 +08:00
boypt
85c89abd99 fix: release file include version 2026-06-01 10:26:38 +08:00
boypt
0fc1979af4 fix: CI name 2026-06-01 10:13:25 +08:00
boypt
65b2b8e0f7 gh: release a tar pkg for each os 2026-06-01 09:57:25 +08:00
boypt
d781e14ac6 update release workflow: refine artifact paths to include only .deb files and enable merging of multiple artifacts 2025-04-24 18:01:50 +08:00
boypt
2a2daf0d13 enhance release workflow: set dynamic artifact name based on version and OS 2025-04-24 17:53:45 +08:00
boypt
c6edb678cf refactor workflow 2025-04-24 17:48:11 +08:00
boypt
530f2fc8d8 remove arch names 2025-04-24 17:34:58 +08:00
boypt
fd227e18d7 use matrix 2025-04-24 17:27:23 +08:00
boypt
e795f68ba7 only create release on master 2025-04-24 17:14:43 +08:00
boypt
8e610d896f dropping ub18 support 2025-04-24 14:50:57 +08:00
boypt
61de33accd continue on err workflow 2 2025-04-24 09:45:50 +08:00
boypt
088f456142 continue on err workflow 2025-04-24 09:36:01 +08:00
boypt
3cc15686ca test install: no recomm 2025-04-23 20:46:20 +08:00
boypt
0ddd323b58 workflow: add installation test 2025-04-23 19:58:41 +08:00
boypt
fc12ef0fe5 use github arm runner 2025-04-23 15:17:15 +08:00
boypt
cde320bd9e arm build on v* 2025-04-23 14:10:03 +08:00
boypt
c4efb16c83 workflow simplify 2025-04-23 14:10:03 +08:00
boypt
45b369d705 workflow arm64 dev 2025-04-23 14:09:57 +08:00
boypt
6f22608088 workflow arm64 2025-04-23 10:05:10 +08:00
boypt
96335abf4e workflow dev 2025-04-23 09:56:44 +08:00
boypt
ec82181929 skip arm build 2025-04-22 17:24:19 +08:00
boypt
88878ba286 remove dbgsym 2025-04-22 17:22:06 +08:00
boypt
2509430dfe remove unneeded docker image 2025-04-22 17:12:52 +08:00
boypt
4cd05d9d08 remove debug package 2025-04-22 17:10:15 +08:00
Git User
29e6321076 fix: pullsrc 2025-04-22 15:30:05 +08:00
Git User
f75962fdcf fix: workdir args pos 2025-04-22 15:25:40 +08:00
Git User
7f5fabde15 fix: workdir 2025-04-22 15:21:39 +08:00
Git User
dc408c882b action: fix arm 2025-04-22 15:19:11 +08:00
Git User
0c757c6af4 action: build args 2025-04-22 15:15:49 +08:00
Git User
6507012ca0 build w/o custom image 2025-04-22 15:08:05 +08:00
ChowRex
1c9f56f8f1 🐳 Add Ubuntu 18.04 into support list.
- Modify `Dockerfile`, when using above version OS to build package, here will raise an error:

    ````
    debhelper : Depends: dwz (>= 0.12.20190711) but 0.12-2 is to be installed
    ````

    ````
    dpkg-checkbuilddeps: error: Unmet build dependencies: dh-runit (>= 2.8.8)
    ````

    This error **CAN NOT** be solved by using `apt install -y dwz dh-runit` cause there is no such package version.

- Add collect actions in `build-images.yml`, `create-amd64-release.yml` and `create-arm64-release.yml`
2024-11-15 15:29:36 +08:00
ChowRex
adaf318e36 🛠️ Fix Docker in Ubuntu 22.04(jammy) & Debian 11 (bullseye) & Debian 12 (bookworm) environment build error.
- Modify `Dockerfile`, when using above version OS to build package, here will raise an error:

    ````
    dpkg-checkbuilddeps: error: Unmet build dependencies: dh-sequence-movetousr
    ````

    This error **CAN NOT** be solved by using `apt install -y dh-sequence-movetousr` cause there is no such package named `dh-sequence-movetousr`

- Uncomment collect actions in `create-amd64-release.yml` and `create-arm64-release.yml`
2024-11-14 16:58:02 +08:00
ChowRex
8d530a91a4 Intro Github Actions
- Add an auto action for arch `X86_64`
- Add an auto action for arch `aarch64`
- Add an auto action for docker images
2024-10-09 13:57:17 +08:00