Commit 915b4419 authored by Marc Vef's avatar Marc Vef
Browse files

Merge branch 'gitlab_ci_backport' into 'master'

introduce gitlab CI

See merge request zdvresearch_bsc/adafs!77
parents 34bb6e8f 8628cc10
Loading
Loading
Loading
Loading

.gitlab-ci.yml

0 → 100644
+90 −0
Original line number Diff line number Diff line
stages:
  - download deps
  - build deps
  - build
  - test

variables:
  DEPS_SRC_PATH:     "${CI_PROJECT_DIR}/deps/src"
  DEPS_INSTALL_PATH: "${CI_PROJECT_DIR}/deps/build"
  DEPS_COMMIT:       "${CI_PROJECT_DIR}/deps/build/gks_deps_commit"
  BUILD_PATH:        "${CI_PROJECT_DIR}/ifs/build"
  TESTS_BUILD_PATH:  "${CI_PROJECT_DIR}/ifs_test/build"
  LOG_PATH:          "${CI_PROJECT_DIR}/logs"
  # Configuration variables
  ADAFS_LOG_LEVEL:   "100"
  ADAFS_DAEMON_LOG_PATH:  "${CI_PROJECT_DIR}/logs/daemon.log"
  ADAFS_PRELOAD_LOG_PATH: "${CI_PROJECT_DIR}/logs/preload.log"

image: gekkofs/gekkofs:build_env

compile dependencies:
  stage: build deps
  cache:
    key: deps-cache
    paths:
     - ${DEPS_INSTALL_PATH}/
  script:
   # Folder of built dependencies is cached and marked with the ID of the commit from which have been built.
   # If the download and compile script have been modified the cache gets invalidated and dependencies will be built again.
   - ( [ -f "${DEPS_COMMIT}" ] && git diff --quiet "`cat ${DEPS_COMMIT}`" -- ifs/scripts/dl_dep.sh ifs/scripts/compile_dep.sh ) || (
           rm -f ${DEPS_COMMIT} &&
           ifs/scripts/dl_dep.sh ${DEPS_SRC_PATH} -n bmi &&
           ifs/scripts/compile_dep.sh -n bmi ${DEPS_SRC_PATH} ${DEPS_INSTALL_PATH} &&
           echo "${CI_COMMIT_SHA}" > "${DEPS_COMMIT}"
     )
  artifacts:
    paths:
     - ${DEPS_INSTALL_PATH}

compile GekkoFS:
  stage: build
  dependencies:
    - "compile dependencies"
  script:
    - mkdir -p ${BUILD_PATH} && cd ${BUILD_PATH}
    - cmake
      -Wdev
      -Wdeprecate
      -DCMAKE_BUILD_TYPE=Debug
      -DCMAKE_PREFIX_PATH=${DEPS_INSTALL_PATH}
      -DUSE_BMI:BOOL=ON
      ..
    - make -j$(nproc)
  artifacts:
    paths:
     - ${BUILD_PATH}

compile tests:
  stage: build
  dependencies:
    - "compile dependencies"
  script:
    - mkdir -p ${TESTS_BUILD_PATH} && cd ${TESTS_BUILD_PATH}
    - cmake -DCMAKE_BUILD_TYPE=Debug ..
    - make -j$(nproc)
  artifacts:
    paths:
     - ${TESTS_BUILD_PATH}

test wr:
  stage: test
  script:
    - mkdir -p "${LOG_PATH}"
    - ${BUILD_PATH}/bin/adafs_daemon --mount /tmp/mountdir --root /tmp/adafs_root &
    - sleep 4
    - LD_PRELOAD=${BUILD_PATH}/lib/libadafs_preload_client.so ${TESTS_BUILD_PATH}/ifs_test_wr
  artifacts:
    paths:
     - "${LOG_PATH}"

test directories:
  stage: test
  script:
    - mkdir -p "${LOG_PATH}"
    - ${BUILD_PATH}/bin/adafs_daemon --mount /tmp/mountdir --root /tmp/adafs_root &
    - sleep 4
    - LD_PRELOAD=${BUILD_PATH}/lib/libadafs_preload_client.so ${TESTS_BUILD_PATH}/ifs_test_dir
  artifacts:
    paths:
     - "${LOG_PATH}"
+0 −4
Original line number Diff line number Diff line
@@ -28,11 +28,9 @@ RUN yum -y -q update && yum -y -q install \
	# Mercury dependencies
	libtool \
	libtool-ltdl-devel \
	libev-devel \
	boost-devel \
	# RocksDB
	which \
	libev-devel \
	snappy-devel \
	gflags-devel \
	libzstd-devel \
@@ -83,11 +81,9 @@ RUN yum -y -q update && yum -y -q install \
	# Mercury dependencies
	libtool \
	libtool-ltdl-devel \
	libev-devel \
	boost-devel \
	# RocksDB
	which \
	libev-devel \
	snappy-devel \
	gflags-devel \
	libzstd-devel \

ifs/CMake/FindAbt-IO.cmake

deleted100644 → 0
+0 −44
Original line number Diff line number Diff line
find_path(ABT_IO_DIR
    HINTS
    /usr
    /usr/local
    /usr/local/adafs/
    ${ADAFS_DEPS_INSTALL}
    )

find_path(ABT_IO_INCLUDE_DIR abt-io.h
    HINTS
    ${ABT_IO_DIR}
    ${ADAFS_DEPS_INSTALL}
    /usr
    /usr/local
    /usr/local/adafs
    /opt
    PATH_SUFFIXES include
    PATH_SUFFIXES include/abt-io
    )

find_library(ABT_IO_LIBRARY abt-io
    HINTS
    ${ABT_IO_DIR}
    ${ADAFS_DEPS_INSTALL}
    /usr
    /usr/local
    /usr/local/adafs
    /opt/
    PATH_SUFFIXES lib
    PATH_SUFFIXES lib/abt-io
    )

set(ABT_IO_INCLUDE_DIRS ${ABT_IO_INCLUDE_DIR})
set(ABT_IO_LIBRARIES ${ABT_IO_LIBRARY})


include(FindPackageHandleStandardArgs)
find_package_handle_standard_args(Abt-IO DEFAULT_MSG ABT_IO_LIBRARY ABT_IO_INCLUDE_DIR)

mark_as_advanced(
    ABT_IO_DIR
    ABT_IO_LIBRARY
    ABT_IO_INCLUDE_DIR
)
 No newline at end of file

ifs/CMake/FindAbt-Snoozer.cmake

deleted100644 → 0
+0 −44
Original line number Diff line number Diff line
find_path(ABT_SNOOZER_DIR
        HINTS
        /usr
        /usr/local
        /usr/local/adafs/
        ${ADAFS_DEPS_INSTALL}
        )

find_path(ABT_SNOOZER_INCLUDE_DIR abt-snoozer.h
        HINTS
        ${ADAFS_DEPS_INSTALL}
        ${ABT_SNOOZER_DIR}
        /usr
        /usr/local
        /usr/local/adafs
        /opt
        PATH_SUFFIXES include
        PATH_SUFFIXES include/abt-snoozer
        )

find_library(ABT_SNOOZER_LIBRARY abt-snoozer
        HINTS
        ${ADAFS_DEPS_INSTALL}
        ${ABT_SNOOZER_DIR}
        /usr
        /usr/local
        /usr/local/adafs
        /opt/
        PATH_SUFFIXES lib
        PATH_SUFFIXES lib/argobots
        )

set(ABT_SNOOZER_INCLUDE_DIRS ${ABT_SNOOZER_INCLUDE_DIR})
set(ABT_SNOOZER_LIBRARIES ${ABT_SNOOZER_LIBRARY})


include(FindPackageHandleStandardArgs)
find_package_handle_standard_args(Abt-Snoozer DEFAULT_MSG ABT_SNOOZER_LIBRARY ABT_SNOOZER_INCLUDE_DIR)

mark_as_advanced(
        ABT_SNOOZER_DIR
        ABT_SNOOZER_LIBRARY
        ABT_SNOOZER_INCLUDE_DIR
)
 No newline at end of file
+7 −35
Original line number Diff line number Diff line
find_path(ABT_DIR
        HINTS
        /usr
        /usr/local
        /usr/local/adafs/
        ${ADAFS_DEPS_INSTALL}
find_path(ABT_INCLUDE_DIR
    NAMES abt.h
)

find_path(ABT_INCLUDE_DIR abt.h
        HINTS
        ${ADAFS_DEPS_INSTALL}
        $ENV{HOME}/opt
        ${ABT_DIR}
        /usr
        /usr/local
        /usr/local/adafs
        /opt
        PATH_SUFFIXES include
        PATH_SUFFIXES include/argobots
        )

find_library(ABT_LIBRARY abt
        HINTS
        ${ADAFS_DEPS_INSTALL}
        $ENV{HOME}/opt
        ${ABT_DIR}
        /usr
        /usr/local
        /usr/local/adafs
        /opt/
        PATH_SUFFIXES lib
        PATH_SUFFIXES lib/argobots
find_library(ABT_LIBRARY
    NAMES abt
)

set(ABT_INCLUDE_DIRS ${ABT_INCLUDE_DIR})
set(ABT_LIBRARIES ${ABT_LIBRARY})


include(FindPackageHandleStandardArgs)
find_package_handle_standard_args(Abt DEFAULT_MSG ABT_LIBRARY ABT_INCLUDE_DIR)
find_package_handle_standard_args(Abt DEFAULT_MSG ABT_LIBRARIES ABT_INCLUDE_DIRS)

mark_as_advanced(
        ABT_DIR
        ABT_LIBRARY
        ABT_INCLUDE_DIR
)
 No newline at end of file
Loading