Loading .gitignore +4 −0 Original line number Diff line number Diff line Loading @@ -86,4 +86,8 @@ playground .hidden_playground/ test/build/ build/ builds/ .run/ # Allow users to provide their own CMake presets CMakeUserPresets.json .gitlab-ci.yml +6 −42 Original line number Diff line number Diff line Loading @@ -55,23 +55,8 @@ gkfs: - sed -i 's/constexpr auto use_mtime = false;/constexpr auto use_mtime = true;/g' "${CI_PROJECT_DIR}/include/config.hpp" - sed -i 's/constexpr auto use_link_cnt = false;/constexpr auto use_link_cnt = true;/g' "${CI_PROJECT_DIR}/include/config.hpp" - sed -i 's/constexpr auto use_blocks = false;/constexpr auto use_blocks = true;/g' "${CI_PROJECT_DIR}/include/config.hpp" - mkdir -p ${BUILD_PATH} && cd ${BUILD_PATH} - cmake -Wdev -Wdeprecate -DCMAKE_BUILD_TYPE=Debug -DGKFS_ENABLE_CODE_COVERAGE:BOOL=ON -DGKFS_BUILD_TESTS:BOOL=ON -DGKFS_INSTALL_TESTS:BOOL=ON -DCMAKE_INSTALL_PREFIX=${INSTALL_PATH} -DGKFS_USE_GUIDED_DISTRIBUTION:BOOL=ON -DGKFS_ENABLE_PARALLAX:BOOL=ON -DGKFS_ENABLE_ROCKSDB:BOOL=ON -DGKFS_CHUNK_STATS:BOOL=ON -DGKFS_ENABLE_PROMETHEUS:BOOL=ON -DGKFS_RENAME_SUPPORT:BOOL=ON ${CI_PROJECT_DIR} - make -j$(nproc) install - cmake --preset ci-coverage - cmake --build ${BUILD_PATH} -j $(nproc) --target install # reduce artifacts size - ${CI_SCRIPTS_DIR}/trim_build_artifacts.sh ${BUILD_PATH} artifacts: Loading @@ -86,21 +71,8 @@ gkfwd: interruptible: true needs: [] script: - mkdir -p ${BUILD_PATH} && cd ${BUILD_PATH} - cmake -Wdev -Wdeprecate -DCMAKE_BUILD_TYPE=Debug -DGKFS_ENABLE_CODE_COVERAGE:BOOL=ON -DGKFS_BUILD_TESTS:BOOL=ON -DGKFS_INSTALL_TESTS:BOOL=ON -DGKFS_ENABLE_FORWARDING:BOOL=ON -DGKFS_ENABLE_AGIOS:BOOL=ON -DGKFS_ENABLE_PARALLAX:BOOL=OFF -DGKFS_ENABLE_ROCKSDB:BOOL=ON -DCMAKE_INSTALL_PREFIX=${INSTALL_PATH} ${CI_PROJECT_DIR} - make -j$(nproc) install - cmake --preset ci-forwarding-debug - cmake --build ${BUILD_PATH} -j $(nproc) --target install # reduce artifacts size - ${CI_SCRIPTS_DIR}/trim_build_artifacts.sh ${BUILD_PATH} artifacts: Loading Loading @@ -270,16 +242,8 @@ documentation: when: always script: - mkdir -p ${BUILD_PATH} && cd ${BUILD_PATH} - cmake -Wdev -Wdeprecate -DCMAKE_BUILD_TYPE=Debug -DGKFS_BUILD_DOCUMENTATION:BOOL=ON -DCMAKE_PREFIX_PATH=${DEPS_INSTALL_PATH} -DCMAKE_INSTALL_PREFIX=${INSTALL_PATH} ${CI_PROJECT_DIR} - make docs - cmake --preset ci-docs - cmake --build ${BUILD_PATH} --target docs artifacts: paths: - ${BUILD_PATH}/docs Loading CMakePresets.json 0 → 100644 +199 −0 Original line number Diff line number Diff line { "version": 3, "cmakeMinimumRequired": { "major": 3, "minor": 19, "patch": 0 }, "configurePresets": [ { "name": "default", "displayName": "default", "description": "Sets prefix, build, and install directories as well as common options", "hidden": true, "generator": "Ninja", "binaryDir": "${sourceDir}/builds/${presetName}", "cacheVariables": { "GKFS_ENABLE_ROCKSDB": true, "GKFS_ENABLE_PARALLAX": false, "GKFS_BUILD_TESTS": true, "GKFS_INSTALL_TESTS": true, "ENABLE_CLIENT_LOG": true, "CLIENT_LOG_MESSAGE_SIZE": "512", "SYMLINK_SUPPORT": false }, "warnings": { "dev": true, "deprecated": true } }, { "name": "forwarding", "inherits": "default", "hidden": true, "cacheVariables": { "GKFS_ENABLE_FORWARDING": true } }, { "name": "release", "hidden": true, "cacheVariables": { "CMAKE_BUILD_TYPE": "Release", "CMAKE_CXX_FLAGS": "-DNDEBUG -O3" } }, { "name": "debug", "hidden": true, "cacheVariables": { "CMAKE_BUILD_TYPE": "Debug", "CMAKE_CXX_FLAGS": "-Wall -Wextra -fdiagnostics-color=always --pedantic -Wno-unused-parameter -Wno-missing-field-initializers -DGKFS_DEBUG_BUILD -DHERMES_DEBUG_BUILD" } }, { "name": "coverage", "hidden": true, "inherits": "debug", "cacheVariables": { "CMAKE_BUILD_TYPE": "Coverage", "CMAKE_CXX_FLAGS_COVERAGE": "-Og -g --coverage -fkeep-static-functions", "CMAKE_C_FLAGS_COVERAGE": "-Og -g --coverage -fkeep-static-functions", "CMAKE_EXE_LINKER_FLAGS_COVERAGE": "--coverage", "CMAKE_SHARED_LINKER_FLAGS_COVERAGE": "--coverage", "CMAKE_MAP_IMPORTED_CONFIG_COVERAGE": "Coverage;RelWithDebInfo;Release;Debug;", "GKFS_GENERATE_COVERAGE_REPORTS": true } }, { "name": "docs", "inherits": "debug", "cacheVariables": { "GKFS_BUILD_DOCUMENTATION": true } }, { "name": "ci", "hidden": true, "binaryDir": "${sourceDir}/gkfs/build", "cacheVariables": { "CMAKE_INSTALL_PREFIX": "${sourceDir}/gkfs/install", "GKFS_USE_GUIDED_DISTRIBUTION": true, "GKFS_ENABLE_PARALLAX": true, "GKFS_CHUNK_STATS": true, "GKFS_ENABLE_PROMETHEUS": true, "GKFS_RENAME_SUPPORT": true } }, { "name": "default-debug", "displayName": "Default gekkofs (debug)", "inherits": [ "default", "debug" ] }, { "name": "default-coverage", "displayName": "Default gekkofs (coverage)", "inherits": [ "default", "coverage" ] }, { "name": "default-release", "displayName": "Default gekkofs (release)", "inherits": [ "default", "release" ] }, { "name": "forwarding-debug", "displayName": "Forwarding gekkofs (debug)", "inherits": [ "forwarding", "debug" ] }, { "name": "forwarding-coverage", "displayName": "Forwarding gekkofs (coverage)", "inherits": [ "forwarding", "coverage" ] }, { "name": "forwarding-release", "displayName": "Forwarding gekkofs (release)", "inherits": [ "forwarding", "release" ] }, { "name": "ci-debug", "displayName": "Default gekkofs (debug, CI flags)", "inherits": [ "ci", "default", "debug" ] }, { "name": "ci-coverage", "displayName": "Default gekkofs (coverage, CI flags)", "inherits": [ "ci", "default", "coverage" ] }, { "name": "ci-docs", "displayName": "Documentation (CI flags)", "inherits": "ci-debug", "cacheVariables": { "GKFS_BUILD_DOCUMENTATION": true } }, { "name": "ci-release", "displayName": "Default gekkofs (release, CI flags)", "inherits": [ "ci", "default", "release" ] }, { "name": "ci-forwarding-debug", "displayName": "Forwarding gekkofs (debug, CI flags)", "inherits": [ "ci", "forwarding", "debug" ] }, { "name": "ci-forwarding-coverage", "displayName": "Forwarding gekkofs (coverage, CI flags)", "inherits": [ "ci", "forwarding", "coverage" ] }, { "name": "ci-forwarding-release", "displayName": "Forwarding gekkofs (release, CI flags)", "inherits": [ "ci", "forwarding", "release" ] } ] } Loading
.gitignore +4 −0 Original line number Diff line number Diff line Loading @@ -86,4 +86,8 @@ playground .hidden_playground/ test/build/ build/ builds/ .run/ # Allow users to provide their own CMake presets CMakeUserPresets.json
.gitlab-ci.yml +6 −42 Original line number Diff line number Diff line Loading @@ -55,23 +55,8 @@ gkfs: - sed -i 's/constexpr auto use_mtime = false;/constexpr auto use_mtime = true;/g' "${CI_PROJECT_DIR}/include/config.hpp" - sed -i 's/constexpr auto use_link_cnt = false;/constexpr auto use_link_cnt = true;/g' "${CI_PROJECT_DIR}/include/config.hpp" - sed -i 's/constexpr auto use_blocks = false;/constexpr auto use_blocks = true;/g' "${CI_PROJECT_DIR}/include/config.hpp" - mkdir -p ${BUILD_PATH} && cd ${BUILD_PATH} - cmake -Wdev -Wdeprecate -DCMAKE_BUILD_TYPE=Debug -DGKFS_ENABLE_CODE_COVERAGE:BOOL=ON -DGKFS_BUILD_TESTS:BOOL=ON -DGKFS_INSTALL_TESTS:BOOL=ON -DCMAKE_INSTALL_PREFIX=${INSTALL_PATH} -DGKFS_USE_GUIDED_DISTRIBUTION:BOOL=ON -DGKFS_ENABLE_PARALLAX:BOOL=ON -DGKFS_ENABLE_ROCKSDB:BOOL=ON -DGKFS_CHUNK_STATS:BOOL=ON -DGKFS_ENABLE_PROMETHEUS:BOOL=ON -DGKFS_RENAME_SUPPORT:BOOL=ON ${CI_PROJECT_DIR} - make -j$(nproc) install - cmake --preset ci-coverage - cmake --build ${BUILD_PATH} -j $(nproc) --target install # reduce artifacts size - ${CI_SCRIPTS_DIR}/trim_build_artifacts.sh ${BUILD_PATH} artifacts: Loading @@ -86,21 +71,8 @@ gkfwd: interruptible: true needs: [] script: - mkdir -p ${BUILD_PATH} && cd ${BUILD_PATH} - cmake -Wdev -Wdeprecate -DCMAKE_BUILD_TYPE=Debug -DGKFS_ENABLE_CODE_COVERAGE:BOOL=ON -DGKFS_BUILD_TESTS:BOOL=ON -DGKFS_INSTALL_TESTS:BOOL=ON -DGKFS_ENABLE_FORWARDING:BOOL=ON -DGKFS_ENABLE_AGIOS:BOOL=ON -DGKFS_ENABLE_PARALLAX:BOOL=OFF -DGKFS_ENABLE_ROCKSDB:BOOL=ON -DCMAKE_INSTALL_PREFIX=${INSTALL_PATH} ${CI_PROJECT_DIR} - make -j$(nproc) install - cmake --preset ci-forwarding-debug - cmake --build ${BUILD_PATH} -j $(nproc) --target install # reduce artifacts size - ${CI_SCRIPTS_DIR}/trim_build_artifacts.sh ${BUILD_PATH} artifacts: Loading Loading @@ -270,16 +242,8 @@ documentation: when: always script: - mkdir -p ${BUILD_PATH} && cd ${BUILD_PATH} - cmake -Wdev -Wdeprecate -DCMAKE_BUILD_TYPE=Debug -DGKFS_BUILD_DOCUMENTATION:BOOL=ON -DCMAKE_PREFIX_PATH=${DEPS_INSTALL_PATH} -DCMAKE_INSTALL_PREFIX=${INSTALL_PATH} ${CI_PROJECT_DIR} - make docs - cmake --preset ci-docs - cmake --build ${BUILD_PATH} --target docs artifacts: paths: - ${BUILD_PATH}/docs Loading
CMakePresets.json 0 → 100644 +199 −0 Original line number Diff line number Diff line { "version": 3, "cmakeMinimumRequired": { "major": 3, "minor": 19, "patch": 0 }, "configurePresets": [ { "name": "default", "displayName": "default", "description": "Sets prefix, build, and install directories as well as common options", "hidden": true, "generator": "Ninja", "binaryDir": "${sourceDir}/builds/${presetName}", "cacheVariables": { "GKFS_ENABLE_ROCKSDB": true, "GKFS_ENABLE_PARALLAX": false, "GKFS_BUILD_TESTS": true, "GKFS_INSTALL_TESTS": true, "ENABLE_CLIENT_LOG": true, "CLIENT_LOG_MESSAGE_SIZE": "512", "SYMLINK_SUPPORT": false }, "warnings": { "dev": true, "deprecated": true } }, { "name": "forwarding", "inherits": "default", "hidden": true, "cacheVariables": { "GKFS_ENABLE_FORWARDING": true } }, { "name": "release", "hidden": true, "cacheVariables": { "CMAKE_BUILD_TYPE": "Release", "CMAKE_CXX_FLAGS": "-DNDEBUG -O3" } }, { "name": "debug", "hidden": true, "cacheVariables": { "CMAKE_BUILD_TYPE": "Debug", "CMAKE_CXX_FLAGS": "-Wall -Wextra -fdiagnostics-color=always --pedantic -Wno-unused-parameter -Wno-missing-field-initializers -DGKFS_DEBUG_BUILD -DHERMES_DEBUG_BUILD" } }, { "name": "coverage", "hidden": true, "inherits": "debug", "cacheVariables": { "CMAKE_BUILD_TYPE": "Coverage", "CMAKE_CXX_FLAGS_COVERAGE": "-Og -g --coverage -fkeep-static-functions", "CMAKE_C_FLAGS_COVERAGE": "-Og -g --coverage -fkeep-static-functions", "CMAKE_EXE_LINKER_FLAGS_COVERAGE": "--coverage", "CMAKE_SHARED_LINKER_FLAGS_COVERAGE": "--coverage", "CMAKE_MAP_IMPORTED_CONFIG_COVERAGE": "Coverage;RelWithDebInfo;Release;Debug;", "GKFS_GENERATE_COVERAGE_REPORTS": true } }, { "name": "docs", "inherits": "debug", "cacheVariables": { "GKFS_BUILD_DOCUMENTATION": true } }, { "name": "ci", "hidden": true, "binaryDir": "${sourceDir}/gkfs/build", "cacheVariables": { "CMAKE_INSTALL_PREFIX": "${sourceDir}/gkfs/install", "GKFS_USE_GUIDED_DISTRIBUTION": true, "GKFS_ENABLE_PARALLAX": true, "GKFS_CHUNK_STATS": true, "GKFS_ENABLE_PROMETHEUS": true, "GKFS_RENAME_SUPPORT": true } }, { "name": "default-debug", "displayName": "Default gekkofs (debug)", "inherits": [ "default", "debug" ] }, { "name": "default-coverage", "displayName": "Default gekkofs (coverage)", "inherits": [ "default", "coverage" ] }, { "name": "default-release", "displayName": "Default gekkofs (release)", "inherits": [ "default", "release" ] }, { "name": "forwarding-debug", "displayName": "Forwarding gekkofs (debug)", "inherits": [ "forwarding", "debug" ] }, { "name": "forwarding-coverage", "displayName": "Forwarding gekkofs (coverage)", "inherits": [ "forwarding", "coverage" ] }, { "name": "forwarding-release", "displayName": "Forwarding gekkofs (release)", "inherits": [ "forwarding", "release" ] }, { "name": "ci-debug", "displayName": "Default gekkofs (debug, CI flags)", "inherits": [ "ci", "default", "debug" ] }, { "name": "ci-coverage", "displayName": "Default gekkofs (coverage, CI flags)", "inherits": [ "ci", "default", "coverage" ] }, { "name": "ci-docs", "displayName": "Documentation (CI flags)", "inherits": "ci-debug", "cacheVariables": { "GKFS_BUILD_DOCUMENTATION": true } }, { "name": "ci-release", "displayName": "Default gekkofs (release, CI flags)", "inherits": [ "ci", "default", "release" ] }, { "name": "ci-forwarding-debug", "displayName": "Forwarding gekkofs (debug, CI flags)", "inherits": [ "ci", "forwarding", "debug" ] }, { "name": "ci-forwarding-coverage", "displayName": "Forwarding gekkofs (coverage, CI flags)", "inherits": [ "ci", "forwarding", "coverage" ] }, { "name": "ci-forwarding-release", "displayName": "Forwarding gekkofs (release, CI flags)", "inherits": [ "ci", "forwarding", "release" ] } ] }