Verified Commit 2a0cff33 authored by Marc Vef's avatar Marc Vef
Browse files

v0.9.3-dev build used in IO500 at ISC24

To be included in v0.9.3
parent 137dd33f
Loading
Loading
Loading
Loading
Loading
+15 −32
Original line number Diff line number Diff line
@@ -24,14 +24,14 @@ variables:
  GIT_SUBMODULE_STRATEGY:       recursive

# base image
image: gekkofs/core:0.9.2
image: gekkofs/core:0.9.3

################################################################################
## Validating
################################################################################
check format:
  stage: lint
  image: gekkofs/linter:0.9.2
  image: gekkofs/linter:0.9.3
  needs: []
  script:
    - ${SCRIPTS_DIR}/check_format.sh
@@ -45,7 +45,7 @@ check format:
################################################################################
gkfs:
  stage: build
  image: gekkofs/deps:0.9.2
  image: gekkofs/deps:0.9.3
  interruptible: true
  needs: []
  script:
@@ -65,23 +65,6 @@ gkfs:
      - ${INSTALL_PATH}
    expire_in: 1 week

gkfwd:
  stage: build
  image: gekkofs/deps:0.9.2
  interruptible: true
  needs: []
  script:
    - cmake --preset ci-forwarding-coverage
    - cmake --build ${BUILD_PATH} -j $(nproc) --target install
    # reduce artifacts size
    - ${CI_SCRIPTS_DIR}/trim_build_artifacts.sh ${BUILD_PATH}
  artifacts:
    paths:
      - ${BUILD_PATH}
      - ${INSTALL_PATH}
    expire_in: 1 week


################################################################################
## Testing
################################################################################
@@ -89,7 +72,7 @@ gkfwd:
## == tests for scripts ====================
scripts:
  stage: test
  image: gekkofs/testing:0.9.2
  image: gekkofs/testing:0.9.3
  needs: []
  script:
    - mkdir -p ${BUILD_PATH}/tests/scripts
@@ -105,7 +88,7 @@ scripts:
## == integration tests for gkfs ===========
gkfs:integration:
  stage: test
  image: gekkofs/testing:0.9.2
  image: gekkofs/testing:0.9.3
  interruptible: true
  needs: ['gkfs']
  parallel:
@@ -154,14 +137,14 @@ gkfs:integration:
## == integration tests for gkfwd ==========
gkfwd:integration:
  stage: test
  image: gekkofs/testing:0.9.2
  image: gekkofs/testing:0.9.3
  interruptible: true
  needs: ['gkfwd']
  needs: ['gkfs']
  parallel:
    matrix:
      - SUBTEST: [ forwarding ]
  rules:
    - when: never
 # rules:
 #   - when: never

  script:
    ## run tests
@@ -204,7 +187,7 @@ gkfwd:integration:
## == unit tests for gkfs ==================
gkfs:unit:
  stage: test
  image: gekkofs/testing:0.9.2
  image: gekkofs/testing:0.9.3
  needs: ['gkfs']
  script:
    ## Add path to mkfs.kreon
@@ -242,7 +225,7 @@ gkfs:unit:
################################################################################
documentation:
  stage: docs
  image: gekkofs/docs:0.9.2
  image: gekkofs/docs:0.9.3
  needs: []
  rules:
    # we only build the documentation automatically if we are on the
@@ -272,9 +255,9 @@ documentation:
## == coverage baseline ====================
coverage:baseline:
  stage: report
  image: gekkofs/testing:0.9.2
  image: gekkofs/testing:0.9.3
  interruptible: true
  needs: ['gkfs', 'gkfwd']
  needs: ['gkfs']

  script:
    ## capture initial coverage information to establish a baseline
@@ -298,10 +281,10 @@ coverage:baseline:

coverage:
  stage: report
  image: gekkofs/testing:0.9.2
  image: gekkofs/testing:0.9.3
#  needs: [ 'coverage:baseline', 'gkfs:integration', 'gkfwd:integration',
#           'gkfs:unit' ]
  needs: [ 'coverage:baseline', 'gkfs:integration', 'gkfs:unit' ]
  needs: [ 'coverage:baseline', 'gkfs:integration', 'gkfs:unit', 'gkfwd:integration']
  script:
    - cd ${CI_PROJECT_DIR}
    - cmake
+4 −1
Original line number Diff line number Diff line
[submodule "external/hermes"]
	path = external/hermes
	url = https://github.com/bsc-ssrg/hermes.git
	url = https://github.com/marcvef/hermes.git
[submodule "tests/scripts/bats"]
	path = tests/scripts/bats
	url = https://github.com/bats-core/bats-core.git
@@ -22,3 +22,6 @@
[submodule "external/CLI11"]
	path = external/CLI11
	url = https://github.com/CLIUtils/CLI11.git
[submodule "external/MessagePack"]
	path = external/MessagePack
	url = https://github.com/GekkoFS/MessagePackCPP.git
+3 −0
Original line number Diff line number Diff line
@@ -10,6 +10,9 @@ to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
replicas ([!166](https://storage.bsc.es/gitlab/hpc/gekkofs/-/merge_requests/141)).
- Modified write and reads to use a bitset instead of the traditional hash per chunk in the server.
- Added reattemp support in get_fs_config to other servers, when the initial server fails.
- Fused GekkoFWD and GekkoFS. GekkoFWD is enabled with the `--enable-following` in the server configuration and the ENV variable
`LIBGKFS_FORWARDING_MAP_FILE` in the clients. ([!170](https://storage.bsc.es/gitlab/hpc/gekkofs/-/merge_request/170)).
- FMT10 and date removal, several dependencies updated. ([!172](https://storage.bsc.es/gitlab/hpc/gekkofs/-/merge_request/172)).

### New
### Changed
+1 −1
Original line number Diff line number Diff line
@@ -177,7 +177,7 @@ endmacro()

include(SelectLibraryConfigurations)

set(_mercury_components na mercury_util mercury_hl)
set(_mercury_components na mercury_util)

# prevent repeating work if the main CMakeLists.txt already called
# find_package(PkgConfig)
+24 −9
Original line number Diff line number Diff line
@@ -227,6 +227,20 @@ gkfs_define_option(
  DEFAULT_VALUE OFF
)

# build tools
gkfs_define_option(
    GKFS_BUILD_TOOLS
    HELP_TEXT "Enable ${PROJECT_NAME} tools compilation"
    DEFAULT_VALUE OFF
)

# build examples
gkfs_define_option(
    GKFS_BUILD_EXAMPLES
    HELP_TEXT "Enable ${PROJECT_NAME} examples compilation"
    DEFAULT_VALUE OFF
)

cmake_dependent_option(GKFS_INSTALL_TESTS "Install GekkoFS self tests" OFF "GKFS_BUILD_TESTS" OFF)


@@ -238,7 +252,7 @@ cmake_dependent_option(GKFS_INSTALL_TESTS "Install GekkoFS self tests" OFF "GKFS
gkfs_define_option(
  GKFS_CREATE_CHECK_PARENTS
  HELP_TEXT "Enable checking parent directory for existence before creating children"
  DEFAULT_VALUE ON
  DEFAULT_VALUE OFF
  DESCRIPTION "Verify that a parent directory exists before creating new files or directories"
)

@@ -348,14 +362,6 @@ gkfs_define_option(
# I/O forwarding
################################################################################

## Forwarding support
gkfs_define_option(
  GKFS_ENABLE_FORWARDING
  HELP_TEXT "Enable I/O forwarding mode"
  DEFAULT_VALUE OFF
  DESCRIPTION "Use ${PROJECT_NAME} as an I/O forwarding layer"
)

## Scheduling in I/O forwarding mode
gkfs_define_option(
  GKFS_ENABLE_AGIOS
@@ -364,4 +370,13 @@ gkfs_define_option(
  DESCRIPTION "If GKFS_ENABLE_FORWARDING is ON, use AGIOS for scheduling I/Os"
)

################################################################################
# MSGPack client metrics
################################################################################

gkfs_define_option(
    GKFS_ENABLE_CLIENT_METRICS
    HELP_TEXT "Enable client metrics via MSGPack"
    DEFAULT_VALUE ON # TODO disable by default
    DESCRIPTION "If GKFS_ENABLE_CLIENT_METRICS is ON, use MSGPack to dump client read/write metrics"
)
 No newline at end of file
Loading