Skip to content

gitlab-ci/base-container-build: install all requirements here

This moves the initial installation of all requirements I could locate from ansible/* into the base container build. The intention is to reduce the size of the valve-infra-container, which changes much more frequently than the valve-infra-base-container.

Ansible roles still list requirements, with the 'state: present' flag set, and the base role still updates the pacman cache. This should allow any changes to the ansible config that install new apps to be applied on a running system with the 'provision' make target.

As you can see, the size of valve-infra-container is significantly reduced by this change, which results in a much faster build and download time for the container image.

** Before:

$ podman history localhost:8088/valve-infra/valve-infra-container
ID            CREATED             CREATED BY                                SIZE        COMMENT
a9d0d7b8e692  About a minute ago  /bin/sh                                   1.49 GB     FROM registry.freedesktop.org/mupuf/valve-infra/valve-infra-base-container:latest
f79b1213f275  11 days ago         /bin/sh                                   681 MB      FROM docker.io/archlinux/archlinux:base-devel

** After:

$ podman history localhost:8088/valve-infra/valve-infra-container
ID            CREATED        CREATED BY                                     SIZE        COMMENT
8292de61b7f1  4 minutes ago  /bin/sh                                        59.2 MB     FROM localhost:8088/mupuf/valve-infra/valve-infra-base-container:latest
52332f1c3b29  9 minutes ago  /bin/sh                                        1.61 GB     FROM docker.io/library/archlinux:base-devel

Merge request reports