[extensions-web/barthalion/ci-shared-runners] Run CI on shared runners with buildah and podman



commit a24fb766a4f497c3c89531444ccbfe586e5b796b
Author: Bartłomiej Piotrowski <bpiotrowski gnome org>
Date:   Mon Jul 20 16:57:50 2020 +0200

    Run CI on shared runners with buildah and podman

 .gitlab-ci.yml | 39 ++++++++++++++++++++++++++-------------
 1 file changed, 26 insertions(+), 13 deletions(-)
---
diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index 217e4f8..baa930c 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -1,19 +1,32 @@
-image: docker:stable
-
 variables:
-  DOCKER_TLS_CERTDIR: ""
+  STORAGE_DRIVER: 'vfs'
+  IMAGE_NAME: 'registry.gitlab.gnome.org/infrastructure/extensions-web'
+  CI_REGISTRY: 'registry.gitlab.gnome.org/infrastructure/extensions-web'
 
-services:
-  - docker:dind
+build:
+  image: 'registry.fedoraproject.org/fedora:30'
+  stage: build
+  only: 
+    - branches@Infrastructure/extensions-web
+  script:
+    - dnf install -y buildah podman
+    # Newer versions of podman/buildah try to set overlayfs mount options when
+    # using the vfs driver, and this causes errors.
+    - sed -i '/^mountopt =.*/d' /etc/containers/storage.conf
 
-before_script:
-  - docker info
+    - echo $CI_REGISTRY_PASSWORD | podman login -u $CI_REGISTRY_USER $CI_REGISTRY
+    - podman build --cgroup-manager=cgroupfs -f openshift/docker/Dockerfile -t 
registry.gitlab.gnome.org/infrastructure/extensions-web:${CI_COMMIT_SHORT_SHA} .
+    - podman push ${IMAGE_NAME}:${CI_COMMIT_SHORT_SHA}
 
 test:
+  image: $IMAGE_NAME:$CI_COMMIT_SHORT_SHA
   stage: test
-  tags:
-    - privileged
-  script:
-    - docker build -f openshift/docker/Dockerfile -t extensions-web .
-    - docker run -e EGO_SECRET_KEY=. -e EGO_DEBUG=1 extensions-web python manage.py test
-    - docker run extensions-web bash -c 'pip install safety && safety check -r requirements.txt && safety 
check -r requirements.ego.txt'
+  only:
+    - branches@Infrastructure/extensions-web
+  variables:
+    EGO_SECRET_KEY: '.'
+    EGO_DEBUG: '1'
+    - python manage.py test
+    - pip install safety
+    - safety check -r requirements.txt
+    - safety check -r requirements.ego.txt'


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]