diff --git a/.ci/Dockerfile.gitlabci b/.ci/Dockerfile.gitlabci index 867b53c28..0e22916a6 100644 --- a/.ci/Dockerfile.gitlabci +++ b/.ci/Dockerfile.gitlabci @@ -1,22 +1,28 @@ # SPDX-License-Identifier: AGPL-3.0-or-later -# This is an IaC pattern called "reheating a server template". -# This is very fast but can accumulate cruft over time. -# Use debian:testing if you want to build a fresh image. -FROM registry.salsa.debian.org/freedombox-team/freedombox:gitlabci +FROM debian:testing USER root COPY . /plinth WORKDIR /plinth RUN echo "deb http://deb.debian.org/debian testing main" > /etc/apt/sources.list -RUN echo "deb-src http://deb.debian.org/debian testing main" >> /etc/apt/sources.list ENV DEBIAN_FRONTEND=noninteractive RUN apt-get update -RUN apt-get build-dep -y . # Dependencies of the freedombox Debian package -RUN apt-get install -y build-essential # Build dependencies -RUN apt-get install -y sshpass parted # Test dependencies -RUN apt-get install -y sudo -RUN apt-get install -y $(./run --list-dependencies) # Module dependencies + +# Dependencies of the freedombox Debian package +RUN apt-get build-dep -y . + +# Build dependencies +RUN apt-get install -y build-essential \ + # Test dependencies + sshpass parted \ + sudo python3-pip + +# Module dependencies +RUN apt-get install -y $(./run --list-dependencies) + +# Coverage should know that test_functional.py files are tests +RUN pip3 install splinter pytest-bdd diff --git a/.ci/Dockerfile.gitlabci.dockerignore b/.ci/Dockerfile.gitlabci.dockerignore new file mode 100644 index 000000000..89ddad767 --- /dev/null +++ b/.ci/Dockerfile.gitlabci.dockerignore @@ -0,0 +1,10 @@ +# SPDX-License-Identifier: AGPL-3.0-or-later + +**/.git +**/.container +**/.vagrant +**/.ci +**/functional_tests +**/doc +**/build +**/static diff --git a/.ci/update-gitlabci-docker-image.sh b/.ci/update-gitlabci-docker-image.sh index 4143610b9..9ada7724d 100755 --- a/.ci/update-gitlabci-docker-image.sh +++ b/.ci/update-gitlabci-docker-image.sh @@ -1,9 +1,8 @@ #! /bin/bash # SPDX-License-Identifier: AGPL-3.0-or-later -# Provide your Salsa credentials here docker login registry.salsa.debian.org -# This might need 20 minutes to run -docker build -t registry.salsa.debian.org/freedombox-team/freedombox:gitlabci -f .ci/Dockerfile.gitlabci . +# Build and upload a new image to the container registry +DOCKER_BUILDKIT=1 docker build -t registry.salsa.debian.org/freedombox-team/freedombox:gitlabci -f .ci/Dockerfile.gitlabci . docker push registry.salsa.debian.org/freedombox-team/freedombox:gitlabci