kiesraad / abacus

Abacus, software voor verkiezingsuitslagen en zetelverdeling
https://kiesraad-abacus.pages.dev
European Union Public License 1.2
19 stars 6 forks source link

Docker image in CI #479

Open cikzh opened 4 weeks ago

cikzh commented 4 weeks ago

Earlier we decided to build a Docker image in CI, but I lost track of why we need it. What use-case are we trying to solve with this?

praseodym commented 1 week ago

The main reason for that would be to ensure that the Docker build works and doesn't break without us knowing.

To me this does raise the question of whether our current Dockerfile uses the right approach, because it requires Abacus to be built before building the Docker image. This is quick when Abacus is already built and allows caching, but it requires Rust and Node.js to be installed on the host system. If we want to offer the Docker build as a quick way to build Abacus without other setup, using Rust and Node.js build containers in the Dockerfile would make more sense. That way, the container image can be built without dependencies other than Docker itself.