From ac936d429f7a56f304a325324d8f95b02bc97ea5 Mon Sep 17 00:00:00 2001 From: Parthasarathy Tirumalai Date: Wed, 18 Sep 2024 16:20:06 +0200 Subject: Refactor Alma Linux/RHEL 9 build job into build and test job. --- .gitlab-ci.yml | 74 +++++++++++++++++++++---------------------------------- Dockerfile_ubuntu | 2 +- 2 files changed, 29 insertions(+), 47 deletions(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 0387113f..1be308cf 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -40,43 +40,7 @@ build_dev_images: when: manual build-and-test: - image: $CI_REGISTRY_IMAGE/$IMAGE - - 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 - - parallel: - matrix: - - IMAGE: ["centos7","alma9","fedora","ubuntu"] - -build-and-test-minimal: - image: $IMAGE:latest - script: - - dnf update -y && dnf group install -y 'Development Tools' && - dnf install -y gsl-devel flex bison cmake meson - - meson setup build -Dhdf5=disabled --wrap-mode=nofallback && 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 - - parallel: - matrix: - - IMAGE: ["fedora"] - -build-almalinux9: - image: $CI_REGISTRY_IMAGE/alma9 - + image: $CI_REGISTRY_IMAGE/$PLATFORM variables: GIT_STRATEGY: clone SECURE_FILES_DOWNLOAD_PATH: './downloads' @@ -88,7 +52,7 @@ build-almalinux9: # Seedee - tar -xzf downloads/seedee-main.tar.gz - - pushd seedee + - pushd seedee-main - mkdir build - cd build - cmake .. -GNinja -DCMAKE_INSTALL_PREFIX=$CFPREFIX -DCMAKE_BUILD_TYPE=RelWithDebInfo @@ -129,20 +93,38 @@ build-almalinux9: - echo "$CFPREFIX/bin/mosflm.real -n \$@" >> $CFPREFIX/bin/mosflm - chmod +x $CFPREFIX/bin/mosflm - - cp -Rp /software $CI_PROJECT_DIR/almalinux9/ + - cp -Rp /software $CI_PROJECT_DIR/$PLATFORM artifacts: paths: - - almalinux9/ + - $PLATFORM - build/meson-logs/testlog.junit.xml + reports: + junit: build/meson-logs/testlog.junit.xml when: on_success expire_in: 1 day + + parallel: + matrix: + - PLATFORM: ["centos7","alma9","fedora","ubuntu"] + +build-and-test-minimal: + image: $IMAGE:latest + script: + - dnf update -y && dnf group install -y 'Development Tools' && + dnf install -y gsl-devel flex bison cmake meson + - meson setup build -Dhdf5=disabled --wrap-mode=nofallback && 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 - rules: - - if: $CI_COMMIT_BRANCH == "master" - + parallel: + matrix: + - IMAGE: ["fedora"] build-brew-macos: dependencies: [] @@ -164,7 +146,7 @@ deploy-remote-maxwell: stage: deploy image: $CI_REGISTRY_IMAGE/alma9 dependencies: - - build-almalinux9 + - build-and-test variables: GIT_STRATEGY: none tags: @@ -178,7 +160,7 @@ deploy-remote-maxwell: ## If MAXWELL_SSH_PRIVATE_KEY is not set then use $MAXWELL_USER_NAME and $MAXWELL_ACCOUNT_PASSWORD ## to connect using Kerberos. - HOST="max-wgs"; - - PREFIX="almalinux9"; + - PREFIX="alma9"; - if [ $MAXWELL_SSH_PRIVATE_KEY ]; then eval $(ssh-agent -s); chmod 400 "$MAXWELL_SSH_PRIVATE_KEY"; @@ -198,7 +180,7 @@ deploy-remote-maxwell: - scp -r $PREFIX/crystfel/devel $MAXWELL_USER_NAME@$HOST:/software/crystfel/ rules: - - if: $MAXWELL_DEPLOYMENT == "remote" && $CI_COMMIT_BRANCH == "master" + - if: $CI_COMMIT_BRANCH == "master" build_container_image: stage: build_container diff --git a/Dockerfile_ubuntu b/Dockerfile_ubuntu index 92e84999..4940e83f 100644 --- a/Dockerfile_ubuntu +++ b/Dockerfile_ubuntu @@ -13,7 +13,7 @@ RUN export DEBIAN_FRONTEND=noninteractive; \ libcairo2-dev libpango1.0-dev libgdk-pixbuf2.0-dev libfftw3-dev libpng-dev libmsgpack-dev \ libeigen3-dev libccp4-dev libhdf5-dev libzmq3-dev libpython3-dev python3-full python3-venv \ liblz4-dev libbz2-dev libcurl4-openssl-dev debianutils wget lz4 diffutils openssh-client \ - krb5-user sssd-krb5 git + krb5-user sssd-krb5 git curl unzip RUN sed -i -E '/default_ccache_name/s//# default_ccache_name/g' /etc/krb5.conf ; \ sed -i -E '/#\s+default_realm\s* =\s*EXAMPLE.COM\s*/s//default_realm = DESY.DE/g' /etc/krb5.conf ; \ -- cgit v1.2.3