Loading .gitlab-ci.yml +1 −1 Changes for .gitlab-ci.yml: 1 added line, 1 removed line. Original line number Diff line number Diff line Loading @@ -7,7 +7,7 @@ stages: - deploy variables: VERSION: "0.9.6" VERSION: "0.9.7" SCRIPTS_DIR: "${CI_PROJECT_DIR}/scripts" CI_SCRIPTS_DIR: "${CI_PROJECT_DIR}/scripts/ci" BUILD_PATH: "${CI_PROJECT_DIR}/gkfs/build" Loading CMake/FindRocksDB.cmake +11 −0 Changes for CMake/FindRocksDB.cmake: 11 added lines, 0 removed lines. Original line number Diff line number Diff line Loading @@ -74,6 +74,17 @@ else() PATH_SUFFIXES lib) endif() # Read the selected headers, not a potentially stale pkg-config cache. if(EXISTS "${ROCKSDB_INCLUDE_DIR}/rocksdb/version.h") file(STRINGS "${ROCKSDB_INCLUDE_DIR}/rocksdb/version.h" _rocksdb_version_lines REGEX "^#define ROCKSDB_(MAJOR|MINOR|PATCH) [0-9]+") foreach(_component MAJOR MINOR PATCH) string(REGEX MATCH "ROCKSDB_${_component} ([0-9]+)" _match "${_rocksdb_version_lines}") set(_rocksdb_${_component} "${CMAKE_MATCH_1}") endforeach() set(RocksDB_VERSION_STRING "${_rocksdb_MAJOR}.${_rocksdb_MINOR}.${_rocksdb_PATCH}") endif() # Allow ROCKSDB_LIBRARY to be set manually, as the location of the rocksdb library if(NOT ROCKSDB_LIBRARY) include(SelectLibraryConfigurations) Loading CMakeLists.txt +4 −5 Changes for CMakeLists.txt: 4 added lines, 5 removed lines. Original line number Diff line number Diff line Loading @@ -31,7 +31,7 @@ cmake_minimum_required(VERSION 3.16) project( GekkoFS VERSION 0.9.6 VERSION 0.9.7 LANGUAGES ASM CXX C ) Loading Loading @@ -89,9 +89,6 @@ if (EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/.git) string(REGEX MATCH "^v([0-9]+)\.([0-9]+)\.([0-9]+)-([0-9]+)-(.*)$" DROP ${GIT_VERSION}) set(PROJECT_VERSION_MAJOR ${CMAKE_MATCH_1}) set(PROJECT_VERSION_MINOR ${CMAKE_MATCH_2}) set(PROJECT_VERSION_PATCH ${CMAKE_MATCH_3}) set(GKFS_COMMIT_GAP ${CMAKE_MATCH_4}) set(GKFS_COMMIT_HASH ${CMAKE_MATCH_5}) set(PROJECT_VERSION "${PROJECT_VERSION_MAJOR}.${PROJECT_VERSION_MINOR}.${PROJECT_VERSION_PATCH}-snapshot+${GKFS_COMMIT_GAP}-${GKFS_COMMIT_HASH}") Loading Loading @@ -195,7 +192,9 @@ if (GKFS_ENABLE_ROCKSDB) target_link_libraries(uring::uring INTERFACE PkgConfig::liburing) endif () find_package(RocksDB REQUIRED) # Use our module to detect the version from the selected headers even when # CMAKE_FIND_PACKAGE_PREFER_CONFIG is enabled. find_package(RocksDB MODULE REQUIRED) message(STATUS "[${PROJECT_NAME}] RocksDB version ${RocksDB_VERSION}") message(STATUS "[${PROJECT_NAME}] RocksDB location ${RocksDB_DIR}") endif () Loading docker/0.9.7/apps/Dockerfile 0 → 100644 +71 −0 Changes for docker/0.9.7/apps/Dockerfile: 71 added lines, 0 removed lines. Original line number Diff line number Diff line FROM gekkofs/testing:0.9.7 AS builder LABEL Description="Build environment for S3D-IO and WaComM++" ARG DEBIAN_FRONTEND=noninteractive RUN <<EOF apt-get update apt-get install -y --no-install-recommends \ openmpi-bin openmpi-common gfortran libopenmpi-dev pnetcdf-bin libpnetcdf-dev libssl-dev wget nco nghttp2 rm -rf /var/lib/apt/lists/* apt-get clean apt-get autoclean EOF # --- Build S3D-IO --- WORKDIR /build/S3D-IO RUN git clone https://github.com/wkliao/S3D-IO.git . && \ # Note: The PNETCDF_DIR and include path might need adjustment if libpnetcdf-dev installs to a different standard location # or if the base image structure changes. sed -i -e 's/PNETCDF_DIR = ${HOME}\/PNetCDF/PNETCDF_DIR = \/usr/' \ -e "s|\(INC[[:space:]]*=[[:space:]]*-I\$(PNETCDF_DIR)/include\)|\1 -I$(dirname "$(find /usr/lib -name pnetcdf.mod -print -quit)")|" Makefile && \ make && \ mv s3d_io.x /usr/local/bin/s3d_io.x # --- Build wacommplusplus --- WORKDIR /build/wacommplusplus RUN git clone https://github.com/CCMMMA/wacommplusplus.git . && \ sed -i 's|\${LIBCURL}|/usr/lib/x86_64-linux-gnu/libcurl.so|g' CMakeLists.txt && \ sed -i 's|https://zlib.net/zlib-1.3.1.tar.gz|https://zlib.net/fossils/zlib-1.3.1.tar.gz|g' CMakeLists.txt && \ mkdir build && cd build && \ cmake .. && \ make -j8 && \ mv wacommplusplus /usr/local/bin/wacommplusplus && \ mv external /usr/local/lib/ # ---- Final Stage ---- FROM gekkofs/testing:0.9.7 LABEL Description="Debian-based environment to test GekkoFS with apps" ARG DEBIAN_FRONTEND=noninteractive # Install runtime dependencies # libpnetcdf13 (or similar, check exact name with 'apt-cache search libpnetcdf') # libssl might be libssl1.1 or libssl3 depending on Debian version in base image RUN apt-get update && apt-get install -y --no-install-recommends \ openmpi-bin openmpi-common libopenmpi-dev pnetcdf-bin libssl3 libcurl4 \ wget nco nghttp2 \ && rm -rf /var/lib/apt/lists/* \ && apt-get clean && \ mkdir -p /root/wacommplusplus/build/example /root/S3D-IO # Copy built applications from the builder stage COPY --from=builder /usr/local/bin/s3d_io.x /root/S3D-IO COPY --from=builder /usr/local/bin/wacommplusplus /root/wacommplusplus/build COPY --from=builder /usr/local/lib/external /root/wacommplusplus/build/external/ WORKDIR /root/wacommplusplus/build/example COPY rms.tar.gz /root/wacommplusplus/build/example/input/ RUN mkdir -p input processed output restarts && \ cd input && \ tar xzf rms.tar.gz && \ rm rms.tar.gz # Copy configuration files # These files (sources.json, wacomm.json) should be in the same directory as your Dockerfile COPY sources.json /root/wacommplusplus/build/example COPY wacomm.json /root/wacommplusplus/build/example ENV LD_LIBRARY_PATH=/root/wacommplusplus/build/external/lib/ docker/0.9.7/apps/Makefile 0 → 100644 +10 −0 Changes for docker/0.9.7/apps/Makefile: 10 added lines, 0 removed lines. Original line number Diff line number Diff line .PHONY: all amd64: docker build --platform linux/amd64 -t gekkofs/apps:0.9.7 . aarch64: docker build --platform linux/arm64 -t gekkofs/apps:0.9.7 . all: docker build -t gekkofs/apps:0.9.7 . Loading
.gitlab-ci.yml +1 −1 Changes for .gitlab-ci.yml: 1 added line, 1 removed line. Original line number Diff line number Diff line Loading @@ -7,7 +7,7 @@ stages: - deploy variables: VERSION: "0.9.6" VERSION: "0.9.7" SCRIPTS_DIR: "${CI_PROJECT_DIR}/scripts" CI_SCRIPTS_DIR: "${CI_PROJECT_DIR}/scripts/ci" BUILD_PATH: "${CI_PROJECT_DIR}/gkfs/build" Loading
CMake/FindRocksDB.cmake +11 −0 Changes for CMake/FindRocksDB.cmake: 11 added lines, 0 removed lines. Original line number Diff line number Diff line Loading @@ -74,6 +74,17 @@ else() PATH_SUFFIXES lib) endif() # Read the selected headers, not a potentially stale pkg-config cache. if(EXISTS "${ROCKSDB_INCLUDE_DIR}/rocksdb/version.h") file(STRINGS "${ROCKSDB_INCLUDE_DIR}/rocksdb/version.h" _rocksdb_version_lines REGEX "^#define ROCKSDB_(MAJOR|MINOR|PATCH) [0-9]+") foreach(_component MAJOR MINOR PATCH) string(REGEX MATCH "ROCKSDB_${_component} ([0-9]+)" _match "${_rocksdb_version_lines}") set(_rocksdb_${_component} "${CMAKE_MATCH_1}") endforeach() set(RocksDB_VERSION_STRING "${_rocksdb_MAJOR}.${_rocksdb_MINOR}.${_rocksdb_PATCH}") endif() # Allow ROCKSDB_LIBRARY to be set manually, as the location of the rocksdb library if(NOT ROCKSDB_LIBRARY) include(SelectLibraryConfigurations) Loading
CMakeLists.txt +4 −5 Changes for CMakeLists.txt: 4 added lines, 5 removed lines. Original line number Diff line number Diff line Loading @@ -31,7 +31,7 @@ cmake_minimum_required(VERSION 3.16) project( GekkoFS VERSION 0.9.6 VERSION 0.9.7 LANGUAGES ASM CXX C ) Loading Loading @@ -89,9 +89,6 @@ if (EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/.git) string(REGEX MATCH "^v([0-9]+)\.([0-9]+)\.([0-9]+)-([0-9]+)-(.*)$" DROP ${GIT_VERSION}) set(PROJECT_VERSION_MAJOR ${CMAKE_MATCH_1}) set(PROJECT_VERSION_MINOR ${CMAKE_MATCH_2}) set(PROJECT_VERSION_PATCH ${CMAKE_MATCH_3}) set(GKFS_COMMIT_GAP ${CMAKE_MATCH_4}) set(GKFS_COMMIT_HASH ${CMAKE_MATCH_5}) set(PROJECT_VERSION "${PROJECT_VERSION_MAJOR}.${PROJECT_VERSION_MINOR}.${PROJECT_VERSION_PATCH}-snapshot+${GKFS_COMMIT_GAP}-${GKFS_COMMIT_HASH}") Loading Loading @@ -195,7 +192,9 @@ if (GKFS_ENABLE_ROCKSDB) target_link_libraries(uring::uring INTERFACE PkgConfig::liburing) endif () find_package(RocksDB REQUIRED) # Use our module to detect the version from the selected headers even when # CMAKE_FIND_PACKAGE_PREFER_CONFIG is enabled. find_package(RocksDB MODULE REQUIRED) message(STATUS "[${PROJECT_NAME}] RocksDB version ${RocksDB_VERSION}") message(STATUS "[${PROJECT_NAME}] RocksDB location ${RocksDB_DIR}") endif () Loading
docker/0.9.7/apps/Dockerfile 0 → 100644 +71 −0 Changes for docker/0.9.7/apps/Dockerfile: 71 added lines, 0 removed lines. Original line number Diff line number Diff line FROM gekkofs/testing:0.9.7 AS builder LABEL Description="Build environment for S3D-IO and WaComM++" ARG DEBIAN_FRONTEND=noninteractive RUN <<EOF apt-get update apt-get install -y --no-install-recommends \ openmpi-bin openmpi-common gfortran libopenmpi-dev pnetcdf-bin libpnetcdf-dev libssl-dev wget nco nghttp2 rm -rf /var/lib/apt/lists/* apt-get clean apt-get autoclean EOF # --- Build S3D-IO --- WORKDIR /build/S3D-IO RUN git clone https://github.com/wkliao/S3D-IO.git . && \ # Note: The PNETCDF_DIR and include path might need adjustment if libpnetcdf-dev installs to a different standard location # or if the base image structure changes. sed -i -e 's/PNETCDF_DIR = ${HOME}\/PNetCDF/PNETCDF_DIR = \/usr/' \ -e "s|\(INC[[:space:]]*=[[:space:]]*-I\$(PNETCDF_DIR)/include\)|\1 -I$(dirname "$(find /usr/lib -name pnetcdf.mod -print -quit)")|" Makefile && \ make && \ mv s3d_io.x /usr/local/bin/s3d_io.x # --- Build wacommplusplus --- WORKDIR /build/wacommplusplus RUN git clone https://github.com/CCMMMA/wacommplusplus.git . && \ sed -i 's|\${LIBCURL}|/usr/lib/x86_64-linux-gnu/libcurl.so|g' CMakeLists.txt && \ sed -i 's|https://zlib.net/zlib-1.3.1.tar.gz|https://zlib.net/fossils/zlib-1.3.1.tar.gz|g' CMakeLists.txt && \ mkdir build && cd build && \ cmake .. && \ make -j8 && \ mv wacommplusplus /usr/local/bin/wacommplusplus && \ mv external /usr/local/lib/ # ---- Final Stage ---- FROM gekkofs/testing:0.9.7 LABEL Description="Debian-based environment to test GekkoFS with apps" ARG DEBIAN_FRONTEND=noninteractive # Install runtime dependencies # libpnetcdf13 (or similar, check exact name with 'apt-cache search libpnetcdf') # libssl might be libssl1.1 or libssl3 depending on Debian version in base image RUN apt-get update && apt-get install -y --no-install-recommends \ openmpi-bin openmpi-common libopenmpi-dev pnetcdf-bin libssl3 libcurl4 \ wget nco nghttp2 \ && rm -rf /var/lib/apt/lists/* \ && apt-get clean && \ mkdir -p /root/wacommplusplus/build/example /root/S3D-IO # Copy built applications from the builder stage COPY --from=builder /usr/local/bin/s3d_io.x /root/S3D-IO COPY --from=builder /usr/local/bin/wacommplusplus /root/wacommplusplus/build COPY --from=builder /usr/local/lib/external /root/wacommplusplus/build/external/ WORKDIR /root/wacommplusplus/build/example COPY rms.tar.gz /root/wacommplusplus/build/example/input/ RUN mkdir -p input processed output restarts && \ cd input && \ tar xzf rms.tar.gz && \ rm rms.tar.gz # Copy configuration files # These files (sources.json, wacomm.json) should be in the same directory as your Dockerfile COPY sources.json /root/wacommplusplus/build/example COPY wacomm.json /root/wacommplusplus/build/example ENV LD_LIBRARY_PATH=/root/wacommplusplus/build/external/lib/
docker/0.9.7/apps/Makefile 0 → 100644 +10 −0 Changes for docker/0.9.7/apps/Makefile: 10 added lines, 0 removed lines. Original line number Diff line number Diff line .PHONY: all amd64: docker build --platform linux/amd64 -t gekkofs/apps:0.9.7 . aarch64: docker build --platform linux/arm64 -t gekkofs/apps:0.9.7 . all: docker build -t gekkofs/apps:0.9.7 .