Improved Debian package CI
# Description The Debian package CI building process can be improved. Originally discussed [here][]. [here]: https://gitlab.torproject.org/tpo/onion-services/onionprobe/-/issues/85#note_3024969 # Tasks * [~] Fix the CI for `bookworm`. Currently it's failing to find the `lintian` executable, despite the package being installed ([example job run](https://gitlab.torproject.org/rhatto/onionprobe/-/jobs/591785)). Task moved to tpo/onion-services/onionprobe#105. * [x] Create a CI job for Debian `unstable`. * [x] Fix issue with the `piuparts` job, were sometimes (depending on the runner?) it fails to mount something ([example success][piuparts-job-success], [example failure][piuparts-job-fail]): * [x] Create a Minimum Reproducible Example (MRE). Done at https://gitlab.torproject.org/rhatto/piupartisan. * [x] Apply a workaround. Done on !97. * [x] Report the bug upstream. Done at tpo/tpa/team#42087. * [x] Add a sample [autopkgtest](https://tracker.debian.org/pkg/autopkgtest) job. Initial work done at !98, but since there are no tests, the job was disabled. * [~] Consider using [sbuild][] ([docs][]) for building the debian package, as it outputs potentially useful information ([example][sbuild-example]) that could prevent issues like [1070077][]. Note that this might be a bit overkill since we're already in a sort of a chroot (a container), so we might also consider a lightweight alternative. Initial work done at !98, but the job is disabled due to many chroot errors. Maybe [sbuild][] is too much for (rootless) containers. * [x] Cleanup/merge Debian provision procedures: there might be duplicate/unneeded code/packages in both `scripts/provision-debian-packaging` and in the CI configuration. Done on 9061b6a192593009d546cc182bad14583043ab33 and 64f69e408322e5ee9168068a49fe10db3278cd62. [sbuild]: https://tracker.debian.org/pkg/sbuild [docs]: https://wiki.debian.org/sbuild [sbuild-example]: https://buildd.debian.org/status/fetch.php?pkg=onionprobe&arch=all&ver=1.1.2%2Bds-1&stamp=1698097431&raw=0 [1070077]: https://bugs.debian.org/1070077 [piuparts-job-success]: https://gitlab.torproject.org/tpo/onion-services/onionprobe/-/jobs/893626 [piuparts-job-fail]: https://gitlab.torproject.org/tpo/onion-services/onionprobe/-/jobs/893666 # Time estimation * Complexity: very small (0.5 day) * Uncertainty: low (x1.1) * [Reference](https://jacobian.org/2021/may/25/my-estimation-technique/) (adapted)
issue