ci: Use docker image to speed up jobs

Fedora and style check jobs install dependencies on each run. This
causes that the pipelines take a long time. Let's use a custom docker
image to not block runners for such a long time and to get the pipeline
results faster. This commit also adds a new job to generate the docker
image for us.
This commit is contained in:
Ondrej Holy 2020-03-26 10:26:58 +01:00 committed by António Fernandes
parent b945567a64
commit a6eca5c513
2 changed files with 26 additions and 5 deletions

View file

@ -6,6 +6,7 @@ variables:
stages:
- triage
- image
- test
- cross environment
- deploy
@ -27,12 +28,8 @@ nightly:
- 'flatpak devel'
fedora rawhide:
image: fedora:rawhide
image: registry.gitlab.gnome.org/gnome/nautilus:latest
stage: cross environment
before_script:
- dnf update -y --nogpgcheck
- dnf install -y 'dnf-command(builddep)' redhat-rpm-config libseccomp-devel gcovr --nogpgcheck
- dnf builddep -y nautilus --nogpgcheck
script:
- meson _build .
- cd _build
@ -90,3 +87,22 @@ style check:
- gcc data/lineup-parameters.c `pkg-config --cflags --libs gio-2.0 gio-unix-2.0` -o data/lineup-parameters
- LANG=C.utf8 data/run-uncrustify.sh
- git diff --exit-code | tee uncrustify.diff
update image:
variables:
DOCKER_TLS_CERTDIR: ""
image: docker:latest
stage: image
tags:
- privileged
services:
- docker:dind
script:
- docker build --tag $CI_REGISTRY_IMAGE .gitlab/
- docker tag $CI_REGISTRY_IMAGE "$CI_REGISTRY_IMAGE:v$CI_JOB_ID"
- docker login $CI_REGISTRY -u $CI_REGISTRY_USER -p $CI_REGISTRY_PASSWORD
- docker push $CI_REGISTRY_IMAGE
when: manual
only:
variables:
- $CI_PROJECT_NAMESPACE == "GNOME"

5
.gitlab/Dockerfile Normal file
View file

@ -0,0 +1,5 @@
FROM fedora:rawhide
RUN dnf install -y dnf-plugins-core uncrustify findutils \
&& dnf builddep -y nautilus \
&& dnf clean all