Commit fd825bf6 authored by Pape, David (FWCC) - 139658's avatar Pape, David (FWCC) - 139658
Browse files

Update packages and CI

- Running develop build on schedule.
- gcovr instead of lcov for code coverage reports.
- Installing GTest and GMock since version 1.10 is now available.
- Install SOCI SQLite3 library
- Fix broken dependency by manually installing boost
parent 40a0ab59
Pipeline #48435 passed with stage
in 12 minutes and 4 seconds
......@@ -3,40 +3,26 @@ image: docker:latest
services:
- docker:dind
variables:
CONTAINER_NAME: registry.hzdr.de/fwcc/slurm-in-docker
before_script:
- apk add make
- docker login -u gitlab-ci-token -p $CI_JOB_TOKEN registry.hzdr.de
build_only:
stage: build
except:
- master
- develop
tags:
- dind
script:
- make build CONTAINER_NAME=slurm-in-docker
push_develop:
stage: deploy
only:
- develop
tags:
- dind
except: ['develop', 'master']
tags: ['dind']
script:
- make build CONTAINER_TAG=develop
- make push CONTAINER_TAG=develop
- make build
push_master:
push:
stage: deploy
only:
- master
- schedules
tags:
- dind
only: ['schedules', 'develop', 'master']
tags: ['dind']
script:
- make build
- make push
- CONTAINER_TAG="$CI_COMMIT_REF_NAME"
- if [[ "$CI_COMMIT_REF_NAME" == "master" ]]; then CONTAINER_TAG="latest"; fi
- make NAME="$CONTAINER_NAME" TAG="$CONTAINER_TAG" build
- make NAME="$CONTAINER_NAME" TAG="$CONTAINER_TAG" push
FROM fedora:latest
RUN dnf upgrade -y
RUN dnf install -y \
# TODO: remove boost-devel when the dependency in soci-sqlite3-devel is fixed
RUN dnf upgrade -y && dnf install -y \
nano hostname hwloc procps-ng wget which tree dnf-plugins-core rpm-build \
cmake make gcc gcc-c++ gcc-gfortran openmpi pkgconf lcov \
cmake make gcc gcc-c++ gcc-gfortran openmpi pkgconf gcovr \
munge munge-devel \
mariadb-server mariadb-devel \
libconfig-devel spdlog-devel doxygen graphviz python python-pip
libconfig-devel spdlog-devel soci-sqlite3-devel boost-devel \
gtest-devel gmock-devel \
doxygen graphviz python python-pip
# recompile Slurm rpms enabling multiple-slurmd option
RUN dnf download --source slurm
......
CONTAINER_NAME = registry.hzdr.de/fwcc/slurm-in-docker
CONTAINER_TAG = latest
CONTAINER = $(CONTAINER_NAME):$(CONTAINER_TAG)
NAME = slurm-in-docker
TAG = latest
CONTAINER = $(NAME):$(TAG)
.PHONY: build push run
......
# Slurm in Docker
A Docker container (based on Fedora) running Slurm and Slurmctl daemons, providing Slurm commands
like `srun`, `sbatch`, etc. This container can be used for testing your HPC applications.
A Docker container (based on Fedora) running Slurm batch system.
This container can be used for testing your HPC applications.
It also contains various other tools used to test [GitLab HPC Driver](
https://gitlab.hzdr.de/fwcc/gitlab-hpc-driver).
## Setup
......@@ -11,8 +13,10 @@ cores, hyperthreading, ...). The _cluster_ is called `sid` (Slurm in Docker) and
partition, `sidp`, containing the compute nodes `sidc[1-4]`. Slurm database daemon which writes
accounting information to a MySQL database is enabled as well.
When you start the container, the services are already up and running. The command run as default is
`su --login janedoe`. _janedoe_ is in the _janedoe_ and _users_ groups.
When you start the container, the services are already up and running.
The command run as default is `su --login janedoe`.
_janedoe_ is in the _janedoe_ and _users_ groups.
When used in a CI job, everything is run as _root_.
## Running the container
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment