Commit 21a06e94 authored by Jean Bez's avatar Jean Bez
Browse files

Update CI configuration as we have two targets

parent eeb9b03d
Loading
Loading
Loading
Loading
Loading
+20 −169
Original line number Diff line number Diff line
@@ -3,31 +3,18 @@ stages:
  - build deps
  - build
  - test
  - test forwarding

variables:
  DEPS_SRC_PATH:                "${CI_PROJECT_DIR}/deps/src"
  DEPS_INSTALL_PATH:            "${CI_PROJECT_DIR}/deps/install"
  DEPS_COMMIT:                  "${CI_PROJECT_DIR}/deps/install/gkfs_deps_commit"
  
  BUILD_PATH:                   "${CI_PROJECT_DIR}/gkfs/build"
  INSTALL_PATH:                 "${CI_PROJECT_DIR}/gkfs/install"
  INTEGRATION_TESTS_BIN_PATH:   "${CI_PROJECT_DIR}/gkfs/install/share/gkfs/tests/integration"
  INTEGRATION_TESTS_RUN_PATH:   "${CI_PROJECT_DIR}/gkfs/install/share/gkfs/tests/integration/run"

  BUILD_FWD_PATH:                   "${CI_PROJECT_DIR}/gkfwd/build"
  INSTALL_FWD_PATH:                 "${CI_PROJECT_DIR}/gkfwd/install"
  INTEGRATION_TESTS_FWD_BIN_PATH:   "${CI_PROJECT_DIR}/gkfwd/install/share/gkfs/tests/integration"
  INTEGRATION_TESTS_FWD_RUN_PATH:   "${CI_PROJECT_DIR}/gkfwd/install/share/gkfs/tests/integration/run"

  TESTS_BUILD_PATH:                 "${CI_PROJECT_DIR}/test/build-gkfs"
  TESTS_BUILD_PATH:             "${CI_PROJECT_DIR}/test/build"
  PYTEST:                       "${CI_PROJECT_DIR}/gkfs/install/share/gkfs/tests/integration/pytest-venv/bin/py.test"

  TESTS_BUILD_FWD_PATH:             "${CI_PROJECT_DIR}/test/build-gkfwd"
  PYTEST_FWD:                       "${CI_PROJECT_DIR}/gkfwd/install/share/gkfs/tests/integration/pytest-venv/bin/py.test"
  
  LOG_PATH:                     "${CI_PROJECT_DIR}/logs"

  LD_LIBRARY_PATH:              "${CI_PROJECT_DIR}/deps/install/lib;${CI_PROJECT_DIR}/deps/install/lib64"
  # Configuration variables
  GKFS_LOG_LEVEL:               "100"
@@ -43,7 +30,7 @@ image: jeanbez/gekkofs-forwarding:latest
compile dependencies:
  stage: build deps
  cache:
    key: deps-build
    key: deps-cache
    paths:
     - ${DEPS_INSTALL_PATH}/
  script:
@@ -71,6 +58,8 @@ compile GekkoFS:
      -DCMAKE_BUILD_TYPE=Debug
      -DGKFS_BUILD_TESTS:BOOL=ON
      -DGKFS_INSTALL_TESTS:BOOL=ON
      -DGFKS_ENABLE_FORWARDING:BOOL=ON
      -DGFKS_ENABLE_AGIOS:BOOL=ON
      -DRPC_PROTOCOL="ofi+sockets"
      -DCMAKE_PREFIX_PATH=${DEPS_INSTALL_PATH}
      -DCMAKE_INSTALL_PREFIX=${INSTALL_PATH}
@@ -80,30 +69,7 @@ compile GekkoFS:
    paths:
     - ${INSTALL_PATH}

compile GekkoFWD:
  stage: build
  dependencies:
    - "compile dependencies"
  script:
    - mkdir -p ${BUILD_FWD_PATH} && cd ${BUILD_FWD_PATH}
    - cmake
      -Wdev
      -Wdeprecate
      -DCMAKE_BUILD_TYPE=Debug
      -DGKFS_BUILD_TESTS:BOOL=ON
      -DGKFS_INSTALL_TESTS:BOOL=ON
      -DRPC_PROTOCOL="ofi+sockets"
      -DGFKS_ENABLE_FORWARDING:BOOL=ON
      -DGFKS_ENABLE_AGIOS:BOOL=ON
      -DCMAKE_PREFIX_PATH=${DEPS_INSTALL_PATH}
      -DCMAKE_INSTALL_PREFIX=${INSTALL_FWD_PATH}
      ${CI_PROJECT_DIR}
    - make -j$(nproc) install
  artifacts:
    paths:
     - ${INSTALL_FWD_PATH}

tests GekkoFS:
compile tests:
  stage: build
  dependencies:
    - "compile dependencies"
@@ -115,18 +81,6 @@ tests GekkoFS:
    paths:
     - ${TESTS_BUILD_PATH}

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

integration tests:
  stage: test
  script:
@@ -138,17 +92,6 @@ integration tests:
    paths:
      - "${INTEGRATION_TESTS_RUN_PATH}"

integration FWD tests:
  stage: test forwarding
  script:
    - mkdir -p ${INTEGRATION_TESTS_FWD_RUN_PATH}
    - cd ${INTEGRATION_TESTS_FWD_BIN_PATH} 
    - TMPDIR=${INTEGRATION_TESTS_FWD_RUN_PATH} unbuffer ${PYTEST} -v | tee ${INTEGRATION_TESTS_FWD_RUN_PATH}/session.log
  artifacts:
    when: on_failure
    paths:
      - "${INTEGRATION_TESTS_FWD_RUN_PATH}"

test wr:
  stage: test
  script:
@@ -208,95 +151,3 @@ test lseek:
    when: on_failure
    paths:
     - "${LOG_PATH}"

test FWD wr:
  stage: test forwarding
  dependencies:
    - "compile dependencies"
    - "compile GekkoFWD"
    - "tests GekkoFWD"
  script:
    - mkdir -p "${LOG_PATH}"
    - cp config/GekkoFWD/agios/* /tmp
    - echo "`hostname` 0" > gkfs_forwarding.map
    - ${INSTALL_FWD_PATH}/bin/gkfs_daemon --mount /tmp/mountdir --root /tmp/root &
    - sleep 4
    - LD_PRELOAD=${INSTALL_FWD_PATH}/lib/libgkfs_intercept.so ${TESTS_BUILD_FWD_PATH}/gkfs_test_wr
  artifacts:
    when: on_failure
    paths:
     - "${LOG_PATH}"

test FWD directories:
  stage: test forwarding
  dependencies:
    - "compile dependencies"
    - "compile GekkoFWD"
    - "tests GekkoFWD"
  script:
    - mkdir -p "${LOG_PATH}"
    - cp config/GekkoFWD/agios/* /tmp
    - echo "`hostname` 0" > gkfs_forwarding.map
    - ${INSTALL_FWD_PATH}/bin/gkfs_daemon --mount /tmp/mountdir --root /tmp/root &
    - sleep 4
    - LD_PRELOAD=${INSTALL_FWD_PATH}/lib/libgkfs_intercept.so ${TESTS_BUILD_FWD_PATH}/gkfs_test_dir
  artifacts:
    when: on_failure
    paths:
     - "${LOG_PATH}"

test FWD truncate:
  stage: test forwarding
  dependencies:
    - "compile dependencies"
    - "compile GekkoFWD"
    - "tests GekkoFWD"
  script:
    - mkdir -p "${LOG_PATH}"
    - cp config/GekkoFWD/agios/* /tmp
    - echo "`hostname` 0" > gkfs_forwarding.map
    - ${INSTALL_FWD_PATH}/bin/gkfs_daemon --mount /tmp/mountdir --root /tmp/root &
    - sleep 4
    - LD_PRELOAD=${INSTALL_FWD_PATH}/lib/libgkfs_intercept.so ${TESTS_BUILD_FWD_PATH}/gkfs_test_truncate
  artifacts:
    when: on_failure
    paths:
     - "${LOG_PATH}"

test FWD path resolution:
  stage: test forwarding
  dependencies:
    - "compile dependencies"
    - "compile GekkoFWD"
    - "tests GekkoFWD"
  script:
    - mkdir -p "${LOG_PATH}"
    - cp config/GekkoFWD/agios/* /tmp
    - echo "`hostname` 0" > gkfs_forwarding.map
    - ${INSTALL_FWD_PATH}/bin/gkfs_daemon --mount /tmp/mountdir --root /tmp/root &
    - sleep 4
    - LD_PRELOAD=${INSTALL_FWD_PATH}/lib/libgkfs_intercept.so ${TESTS_BUILD_FWD_PATH}/gkfs_test_path_resolution
  artifacts:
    when: on_failure
    paths:
     - "${LOG_PATH}"

test FWD lseek:
  stage: test forwarding
  dependencies:
    - "compile dependencies"
    - "compile GekkoFWD"
    - "tests GekkoFWD"
  script:
    - mkdir -p "${LOG_PATH}"
    - cp config/GekkoFWD/agios/* /tmp
    - echo "`hostname` 0" > gkfs_forwarding.map
    - ${INSTALL_FWD_PATH}/bin/gkfs_daemon --mount /tmp/mountdir --root /tmp/root &
    - sleep 4
    - LD_PRELOAD=${INSTALL_FWD_PATH}/lib/libgkfs_intercept.so ${TESTS_BUILD_FWD_PATH}/gkfs_test_lseek
  artifacts:
    when: on_failure
    paths:
     - "${LOG_PATH}"