aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorParthasarathy Tirumalai <parthasarathy.tirumalai@desy.de>2024-01-04 09:37:47 +0100
committerThomas White <thomas.white@desy.de>2024-01-04 09:37:47 +0100
commit04fe88a39422e3c3385c024da715f21c529d724b (patch)
treeedc72c5821828aeedf57741d8b1e5d6ca71a322a
parent9d7e1b0090b8995f377545b2ce1631534acf126f (diff)
Use prebuilt containers for CI pipeline
The containers have all the development package dependencies and tools preinstalled to save time and network bandwidth in the Fedora 32 & 37 and Centos7 jobs.
-rw-r--r--.gitlab-ci.yml52
1 files changed, 49 insertions, 3 deletions
diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index 9be7fdd4..872e668f 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -4,7 +4,7 @@ stages:
- build_container
- deploy
-build-and-test:
+.build-and-test:
image: fedora:32
script:
- dnf group install -y 'Development Tools'
@@ -20,7 +20,19 @@ build-and-test:
reports:
junit: build/meson-logs/testlog.junit.xml
-build-and-test-minimal:
+build-and-test:
+ image: gitlab.desy.de:5555/thomas.white/crystfel/fedora32/dev_env
+ script:
+ - meson setup build && ninja -C build
+ - ninja -C build test
+ artifacts:
+ when: always
+ paths:
+ - build/meson-logs/testlog.junit.xml
+ reports:
+ junit: build/meson-logs/testlog.junit.xml
+
+.build-and-test-minimal:
image: fedora:37
script:
- dnf group install -y 'Development Tools'
@@ -36,6 +48,18 @@ build-and-test-minimal:
reports:
junit: build/meson-logs/testlog.junit.xml
+build-and-test-minimal:
+ image: gitlab.desy.de:5555/thomas.white/crystfel/fedora37/dev_env
+ script:
+ - meson setup build -Dhdf5=disabled && ninja -C build
+ - ninja -C build test
+ artifacts:
+ when: always
+ paths:
+ - build/meson-logs/testlog.junit.xml
+ reports:
+ junit: build/meson-logs/testlog.junit.xml
+
build_container_image:
stage: build_container
dependencies: []
@@ -131,7 +155,7 @@ build-brew-macos:
- brew install -v -s ./crystfel.rb --HEAD
- brew uninstall -v -f crystfel
-build-centos7:
+.build-centos7:
image: centos:centos7
#image:centos:latest
#image: centos:centos7.9.2009
@@ -156,6 +180,28 @@ build-centos7:
reports:
junit: temp/crystfel/build/meson-logs/testlog.junit.xml
+build-centos7:
+ image: gitlab.desy.de:5555/thomas.white/crystfel/centos7/dev_env
+ #image:centos:latest
+ #image: centos:centos7.9.2009
+ variables:
+ SECURE_FILES_DOWNLOAD_PATH: './downloads'
+ script:
+ - curl --silent "https://gitlab.com/gitlab-org/incubation-engineering/mobile-devops/download-secure-files/-/raw/main/installer" | bash
+ - python3 -m pip install meson ninja
+ - wget https://gitlab.desy.de/thomas.white/install-crystfel/-/raw/main/run-me-desy-maxwell-centos7
+ - chmod 755 ./run-me-desy-maxwell-centos7
+ - ./run-me-desy-maxwell-centos7 --yes-really
+ - cp -Rp /software $CI_PROJECT_DIR
+ artifacts:
+ paths:
+ - software/
+ - temp/crystfel/build/meson-logs/testlog.junit.xml
+ when: on_success
+ expire_in: 1 day
+ reports:
+ junit: temp/crystfel/build/meson-logs/testlog.junit.xml
+
build-deploy-local-maxwell:
tags:
- maxwell