Skip to content

Draft: Introduce a debian docker image

FiFi requested to merge fifi/bitmask-vpn:docker-debian into main

Fixes #601.

I was looking for a reproducible way to get a debian package for the current stable (bullseye) and I didn't find one, so I went ahead and tried to "fix" the current CI by providing a docker image. I basically created it based on an empty image with mk-build-deps ran on top of it (which actually makes sure the build dependencies are correct), the only "annoying" thing is that the project requires go >= 1.16, which means we need the backports for recent go versions. I also fix a missing dependency when installing the package. The debian job now also doesn't need the previous stage to success in order to start.

Unfortunately I saw a bit too late all the discussions in #466 - after I did implement this - but I don't think both are incompatible: I'm not sure how the project wants or is supposed to move forward with the work done over at https://salsa.debian.org/go-team/packages/riseup-vpn (there has been a major change here compared to there: the go version bump). I've never maintained a debian package so I don't actually now how the interaction between the upstream project and the forked "packaged" version is supposed to go, but I would assume it's a good thing to make sure the project is able to build a correct .deb in any case.

If that MR does interest you I believe the only thing missing is for someone to actually build/push the docker image in leap's registry: so far the MR uses the one I pushed in my fork.

It's worth noting that I did an attempt to create a job creating the docker image automatically, but unfortunately I didn't manage to properly have the job login to the registry (this is one of my numerous failures, and even if that specific error seems to be mentioned in gitlab-ci's documentation, their fix doesn't quite seem to work). I managed to do something similar in other projects, so I wonder if it's not just a matter of changing the runner configuration.

I've attached the patch introducing the extra job and the build-push-image script for reference; if you have any suggestion about how to make it work I'd be more than happy to try it. 0001-Attempt-for-a-build-image-job.patch

Merge request reports