aboutsummaryrefslogtreecommitdiff
path: root/.gitlab-ci.yml
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 /.gitlab-ci.yml
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.
Diffstat (limited to '.gitlab-ci.yml')
-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