summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorOndrej Holy <oholy@redhat.com>2020-03-26 10:26:58 +0100
committerAntónio Fernandes <antoniojpfernandes@gmail.com>2020-04-05 16:22:26 +0000
commita6eca5c513705a50a86422e7a058c76b41eb3788 (patch)
tree8fb6cfa3b824f323aa79c5719aa8c525f582c565
parentb945567a645dde505518f22888f03393bafd9481 (diff)
downloadnautilus-a6eca5c513705a50a86422e7a058c76b41eb3788.tar.gz
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.
-rw-r--r--.gitlab-ci.yml26
-rw-r--r--.gitlab/Dockerfile5
2 files changed, 26 insertions, 5 deletions
diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index aeb699f86..695856dc9 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -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"
diff --git a/.gitlab/Dockerfile b/.gitlab/Dockerfile
new file mode 100644
index 000000000..3861b3f84
--- /dev/null
+++ b/.gitlab/Dockerfile
@@ -0,0 +1,5 @@
+FROM fedora:rawhide
+
+RUN dnf install -y dnf-plugins-core uncrustify findutils \
+ && dnf builddep -y nautilus \
+ && dnf clean all