diff --git a/.github/workflows/build-assets.yml b/.github/workflows/build-assets.yml index 69fe87cdce4..945a2a22694 100644 --- a/.github/workflows/build-assets.yml +++ b/.github/workflows/build-assets.yml @@ -122,6 +122,9 @@ jobs: name: LN cmake_options_extra: "" ln: true + - os: centos-7 + name: LN + ln: true fail-fast: false steps: diff --git a/.github/workflows/build-docker.yml b/.github/workflows/build-docker.yml index 8cfcf6774c2..68664dfb99d 100644 --- a/.github/workflows/build-docker.yml +++ b/.github/workflows/build-docker.yml @@ -152,7 +152,7 @@ jobs: --mount source="${{ github.workspace }}/build",target=/hpcc-dev/build,type=bind,consistency=delegated \ --mount source="${{ github.workspace }}/.ccache",target=/root/.ccache,type=bind,consistency=delegated \ ${{ steps.vars.outputs.docker_tag }} "\ - cmake -G Ninja -S /hpcc-dev/${{ inputs.ln == true && 'LN' || 'HPCC-Platform' }} -B /hpcc-dev/build -DHPCC_SOURCE_DIR=/hpcc-dev/HPCC-Platform -DCMAKE_BUILD_TYPE=${{ inputs.build-type }} -DCONTAINERIZED=${{ inputs.containerized == true && 'ON' || 'OFF' }} -DCPACK_STRIP_FILES=${{ inputs.strip-files == true && 'ON' || 'OFF' }} ${{ inputs.single-package == true && '-DINCLUDE_PLUGINS=ON' || '-D$plugin=ON' }} ${{ inputs.cmake-configuration }} ${{ inputs.cmake-configuration-ex }} && \ + cmake -G Ninja -S /hpcc-dev/${{ inputs.ln == true && 'LN' || 'HPCC-Platform' }} -B /hpcc-dev/build -DHPCC_SOURCE_DIR=/hpcc-dev/HPCC-Platform -DVCPKG_FILES_DIR=/hpcc-dev -DCMAKE_BUILD_TYPE=${{ inputs.build-type }} -DCONTAINERIZED=${{ inputs.containerized == true && 'ON' || 'OFF' }} -DCPACK_STRIP_FILES=${{ inputs.strip-files == true && 'ON' || 'OFF' }} ${{ inputs.single-package == true && '-DINCLUDE_PLUGINS=ON' || '-D$plugin=ON' }} ${{ inputs.cmake-configuration }} ${{ inputs.cmake-configuration-ex }} && \ cmake --build /hpcc-dev/build --parallel ${{ inputs.upload-package == true && '--target package' || ''}}" done diff --git a/.github/workflows/build-vcpkg.yml b/.github/workflows/build-vcpkg.yml index 368b3910954..d47fe52010d 100644 --- a/.github/workflows/build-vcpkg.yml +++ b/.github/workflows/build-vcpkg.yml @@ -10,6 +10,7 @@ on: - 'ubuntu-22.04' - 'ubuntu-20.04' - 'rockylinux-8' + - 'centos-7' description: 'Operating System' required: false default: 'ubuntu-22.04' @@ -168,6 +169,13 @@ jobs: os: rockylinux-8 secrets: inherit + build-docker-centos-7: + if: ${{ contains('pull_request,push', github.event_name) }} + uses: ./.github/workflows/build-docker.yml + with: + os: centos-7 + secrets: inherit + build-gh_runner-ubuntu-22_04: if: ${{ contains('schedule,push', github.event_name) }} uses: ./.github/workflows/build-gh_runner.yml diff --git a/cmake_modules/vcpkg.cmake b/cmake_modules/vcpkg.cmake index 35e6a0652ef..9c0466ddedb 100644 --- a/cmake_modules/vcpkg.cmake +++ b/cmake_modules/vcpkg.cmake @@ -6,7 +6,6 @@ set(CMAKE_TOOLCHAIN_FILE ${HPCC_SOURCE_DIR}/vcpkg/scripts/buildsystems/vcpkg.cma set(VCPKG_ROOT ${HPCC_SOURCE_DIR}/vcpkg) set(VCPKG_INSTALLED_DIR "${VCPKG_FILES_DIR}/vcpkg_installed") set(VCPKG_INSTALL_OPTIONS "--x-abi-tools-use-exact-versions;--downloads-root=${VCPKG_FILES_DIR}/vcpkg_downloads;--x-buildtrees-root=${VCPKG_FILES_DIR}/vcpkg_buildtrees;--x-packages-root=${VCPKG_FILES_DIR}/vcpkg_packages") -set(VCPKG_VERBOSE OFF) if(WIN32) set(VCPKG_HOST_TRIPLET "x64-windows" CACHE STRING "host triplet") @@ -24,6 +23,15 @@ elseif(UNIX) set(VCPKG_TARGET_TRIPLET "x64-linux-dynamic" CACHE STRING "target triplet") endif() +message("-- vcpkg settings:") +message("---- VCPKG_FILES_DIR: ${VCPKG_FILES_DIR}") +message("---- CMAKE_TOOLCHAIN_FILE: ${CMAKE_TOOLCHAIN_FILE}") +message("---- VCPKG_ROOT: ${VCPKG_ROOT}") +message("---- VCPKG_INSTALLED_DIR: ${VCPKG_INSTALLED_DIR}") +message("---- VCPKG_INSTALL_OPTIONS: ${VCPKG_INSTALL_OPTIONS}") +message("---- VCPKG_HOST_TRIPLET: ${VCPKG_HOST_TRIPLET}") +message("---- VCPKG_TARGET_TRIPLET: ${VCPKG_TARGET_TRIPLET}") + # Create a catalog of the vcpkg dependencies --- file(GLOB VCPKG_PACKAGES ${VCPKG_FILES_DIR}/vcpkg_packages/*/CONTROL) list(APPEND VCPKG_PACKAGE_LIST "-----------------\n") diff --git a/dockerfiles/vcpkg/amazonlinux.dockerfile b/dockerfiles/vcpkg/amazonlinux.dockerfile deleted file mode 100644 index c7ea3c4e138..00000000000 --- a/dockerfiles/vcpkg/amazonlinux.dockerfile +++ /dev/null @@ -1,6 +0,0 @@ -ARG VCPKG_REF=latest -FROM hpccsystems/platform-build-base-amazonlinux:$VCPKG_REF - -ENTRYPOINT ["/bin/bash", "--login", "-c"] - -CMD ["/bin/bash"] diff --git a/dockerfiles/vcpkg/build.sh b/dockerfiles/vcpkg/build.sh index c15e8a2f2f3..d98257658ad 100755 --- a/dockerfiles/vcpkg/build.sh +++ b/dockerfiles/vcpkg/build.sh @@ -27,16 +27,16 @@ echo "DOCKER_PASSWORD: $DOCKER_PASSWORD" docker login -u $DOCKER_USERNAME -p $DOCKER_PASSWORD -CMAKE_ALL_OPTIONS="-G Ninja -DCMAKE_BUILD_TYPE=RelWithDebInfo -DHPCC_SOURCE_DIR=/hpcc-dev/HPCC-Platform -DCONTAINERIZED=OFF -DCPACK_STRIP_FILES=ON -DINCLUDE_PLUGINS=ON -DVCPKG_FILES_DIR=/hpcc-dev -DCPACK_THREADS=0 -DUSE_OPTIONAL=OFF -DUSE_CPPUNIT=ON -DSUPPRESS_REMBED=ON -DSUPPRESS_V8EMBED=ON -DCMAKE_C_COMPILER_LAUNCHER=ccache -DCMAKE_CXX_COMPILER_LAUNCHER=ccache" -CMAKE_OPENBLAS_OPTIONS="-G Ninja -DCMAKE_BUILD_TYPE=RelWithDebInfo -DHPCC_SOURCE_DIR=/hpcc-dev/HPCC-Platform -DCONTAINERIZED=OFF -DCPACK_STRIP_FILES=OFF -DECLBLAS=ON -DVCPKG_FILES_DIR=/hpcc-dev -DCPACK_THREADS=0 -DUSE_OPTIONAL=OFF -DCMAKE_C_COMPILER_LAUNCHER=ccache -DCMAKE_CXX_COMPILER_LAUNCHER=ccache" -CMAKE_PLATFORM_OPTIONS="-G Ninja -DCMAKE_BUILD_TYPE=RelWithDebInfo -DHPCC_SOURCE_DIR=/hpcc-dev/HPCC-Platform -DCONTAINERIZED=OFF -DCPACK_STRIP_FILES=ON -DPLATFORM=ON -DVCPKG_FILES_DIR=/hpcc-dev -DCPACK_THREADS=0 -DUSE_OPTIONAL=OFF -DCMAKE_C_COMPILER_LAUNCHER=ccache -DCMAKE_CXX_COMPILER_LAUNCHER=ccache" +CMAKE_ALL_OPTIONS="-G Ninja -DCMAKE_BUILD_TYPE=RelWithDebInfo -DHPCC_SOURCE_DIR=/hpcc-dev/HPCC-Platform -DCONTAINERIZED=OFF -DCPACK_STRIP_FILES=ON -DINCLUDE_PLUGINS=ON -DVCPKG_FILES_DIR=/hpcc-dev -DCPACK_THREADS=0 -DUSE_OPTIONAL=OFF -DUSE_CPPUNIT=ON -DSUPPRESS_REMBED=ON -DSUPPRESS_V8EMBED=ON" +CMAKE_OPENBLAS_OPTIONS="-G Ninja -DCMAKE_BUILD_TYPE=RelWithDebInfo -DHPCC_SOURCE_DIR=/hpcc-dev/HPCC-Platform -DCONTAINERIZED=OFF -DCPACK_STRIP_FILES=OFF -DECLBLAS=ON -DVCPKG_FILES_DIR=/hpcc-dev -DCPACK_THREADS=0 -DUSE_OPTIONAL=OFF" +CMAKE_PLATFORM_OPTIONS="-G Ninja -DCMAKE_BUILD_TYPE=RelWithDebInfo -DHPCC_SOURCE_DIR=/hpcc-dev/HPCC-Platform -DCONTAINERIZED=OFF -DCPACK_STRIP_FILES=ON -DPLATFORM=ON -DVCPKG_FILES_DIR=/hpcc-dev -DCPACK_THREADS=0 -DUSE_OPTIONAL=OFF" function doBuild() { # docker pull "hpccsystems/platform-build-base-$1:$VCPKG_REF" || true # docker pull "hpccsystems/platform-build-$1:$VCPKG_REF" || true # docker pull "hpccsystems/platform-build-$1:$GITHUB_BRANCH" || true - docker build --progress plain --rm -f "$SCRIPT_DIR/$1.dockerfile" \ + docker buildx build --progress plain --rm -f "$SCRIPT_DIR/$1.dockerfile" \ --build-arg DOCKER_NAMESPACE=$DOCKER_USERNAME \ --build-arg VCPKG_REF=$VCPKG_REF \ --cache-from hpccsystems/platform-build-$1:$VCPKG_REF \ @@ -48,12 +48,10 @@ function doBuild() { # docker push hpccsystems/platform-build-$1:$VCPKG_REF # docker push hpccsystems/platform-build-$1:$GITHUB_BRANCH - CMAKE_OPTIONS_EXTRA="" - if [ "$1" == "centos-7*" ]; then - CMAKE_OPTIONS_EXTRA="-DVCPKG_TARGET_TRIPLET=x64-centos-7-dynamic" - elif [ "$1" == "amazonlinux" ]; then - CMAKE_OPTIONS_EXTRA="-DVCPKG_TARGET_TRIPLET=x64-amazonlinux-dynamic" - fi + rm -f ./vcpkg/vcpkg + mkdir -p ./build-$1 + CMAKE_OPTIONS_EXTRA="-DCMAKE_C_COMPILER_LAUNCHER=ccache -DCMAKE_CXX_COMPILER_LAUNCHER=ccache" + mkdir -p $HOME/.ccache docker run --rm \ --mount source="$(pwd)",target=/hpcc-dev/HPCC-Platform,type=bind,consistency=cached \ @@ -61,29 +59,33 @@ function doBuild() { --mount source="$HOME/.ccache",target=/root/.ccache,type=bind,consistency=cached \ hpccsystems/platform-build-$1:$VCPKG_REF \ "rm -rf /hpcc-dev/HPCC-Platform/build-$1/CMakeCache.txt /hpcc-dev/HPCC-Platform/build-$1/CMakeFiles && \ - cmake -S /hpcc-dev/HPCC-Platform -B /hpcc-dev/HPCC-Platform/build-$1 ${CMAKE_ALL_OPTIONS} ${CMAKE_OPTIONS_EXTRA} -DCMAKE_C_COMPILER_LAUNCHER=ccache -DCMAKE_CXX_COMPILER_LAUNCHER=ccache && \ + cmake -S /hpcc-dev/HPCC-Platform -B /hpcc-dev/HPCC-Platform/build-$1 ${CMAKE_ALL_OPTIONS} ${CMAKE_OPTIONS_EXTRA} && \ cmake --build /hpcc-dev/HPCC-Platform/build-$1 --parallel && \ echo 'Done'" + rm -f ./vcpkg/vcpkg + # sudo chown -R $(id -u):$(id -g) ./build-$1 # docker run -it --mount source="$(pwd)",target=/hpcc-dev/HPCC-Platform,type=bind,consistency=cached build-ubuntu-22.04:latest bash } -trap 'kill $(jobs -p)' EXIT +function cleanup() { + kill $(jobs -p) + rm -f ./vcpkg/vcpkg || true +} + +trap 'cleanup; exit' EXIT # ./vcpkg/bootstrap-vcpkg.sh mkdir -p ./vcpkg-logs if [ "$1" != "" ]; then - doBuild $1 & + doBuild $1 else doBuild ubuntu-24.04 &> vcpkg-logs/ubuntu-24.04.log & doBuild ubuntu-22.04 &> vcpkg-logs/ubuntu-22.04.log & doBuild ubuntu-20.04 &> vcpkg-logs/ubuntu-20.04.log & doBuild rockylinux-8 &> vcpkg-logs/rockylinux-8.log & - doBuild centos-8 &> vcpkg-logs/centos-8.log & - doBuild amazonlinux &> vcpkg-logs/amazonlinux.log & - doBuild centos-7-rh-python38 &> vcpkg-logs/centos-7-rh-python38.log & doBuild centos-7 &> vcpkg-logs/centos-7.log & fi diff --git a/dockerfiles/vcpkg/centos-7-rh-python38.dockerfile b/dockerfiles/vcpkg/centos-7-rh-python38.dockerfile deleted file mode 100644 index 8752d764d67..00000000000 --- a/dockerfiles/vcpkg/centos-7-rh-python38.dockerfile +++ /dev/null @@ -1,13 +0,0 @@ -ARG VCPKG_REF=latest -FROM hpccsystems/platform-build-base-centos-7:$VCPKG_REF - -RUN yum remove -y python3 python3-devel && \ - yum install -y rh-python38 rh-python38-python-devel && \ - yum clean all - -RUN echo "source /opt/rh/rh-python38/enable" >> /etc/bashrc -SHELL ["/bin/bash", "--login", "-c"] - -ENTRYPOINT ["/bin/bash", "--login", "-c"] - -CMD ["/bin/bash"] diff --git a/dockerfiles/vcpkg/centos-7.dockerfile b/dockerfiles/vcpkg/centos-7.dockerfile index 04d1ba29af5..ee1fb1fdab9 100644 --- a/dockerfiles/vcpkg/centos-7.dockerfile +++ b/dockerfiles/vcpkg/centos-7.dockerfile @@ -3,4 +3,8 @@ FROM hpccsystems/platform-build-base-centos-7:$VCPKG_REF ENTRYPOINT ["/bin/bash", "--login", "-c"] +RUN yum install -y \ + rpm-build && \ + yum -y clean all && rm -rf /var/cache + CMD ["/bin/bash"] diff --git a/dockerfiles/vcpkg/centos-8.dockerfile b/dockerfiles/vcpkg/centos-8.dockerfile deleted file mode 100644 index 108398a2711..00000000000 --- a/dockerfiles/vcpkg/centos-8.dockerfile +++ /dev/null @@ -1,6 +0,0 @@ -ARG VCPKG_REF=latest -FROM hpccsystems/platform-build-base-centos-8:$VCPKG_REF - -ENTRYPOINT ["/bin/bash", "--login", "-c"] - -CMD ["/bin/bash"] \ No newline at end of file diff --git a/plugins/couchbase/couchbaseembed.hpp b/plugins/couchbase/couchbaseembed.hpp index 3a0c4ba0557..e95d8f3dcd3 100644 --- a/plugins/couchbase/couchbaseembed.hpp +++ b/plugins/couchbase/couchbaseembed.hpp @@ -25,6 +25,7 @@ #endif //Using cpp wrapper from https://github.com/couchbaselabs/libcouchbase-cxx +#include #include #include #include diff --git a/vcpkg b/vcpkg index 70ea56ab7b2..376d53ed2f4 160000 --- a/vcpkg +++ b/vcpkg @@ -1 +1 @@ -Subproject commit 70ea56ab7b2ec07bfed8b6170cecdd85b2e36fe0 +Subproject commit 376d53ed2f40080b6c094501f1f06bb57bb153bc diff --git a/vcpkg-configuration.json b/vcpkg-configuration.json index 7ed29e6c79b..bff4e206ca6 100644 --- a/vcpkg-configuration.json +++ b/vcpkg-configuration.json @@ -2,7 +2,7 @@ "default-registry": { "kind": "git", "repository": "https://github.com/microsoft/vcpkg", - "baseline": "f7423ee180c4b7f40d43402c2feb3859161ef625" + "baseline": "b2cb0da531c2f1f740045bfe7c4dac59f0b2b69c" }, "registries": [], "overlay-ports": [ diff --git a/vcpkg.json.in b/vcpkg.json.in index f2e23d68ff5..c26c8d0a390 100644 --- a/vcpkg.json.in +++ b/vcpkg.json.in @@ -1,7 +1,7 @@ { "$schema": "https://raw.githubusercontent.com/microsoft/vcpkg/master/scripts/vcpkg.schema.json", "name": "hpcc-platform", - "version": "8.12.0", + "version": "9.10.0", "dependencies": [ { "name": "apr", @@ -166,7 +166,6 @@ "name": "openssl", "platform": "@VCPKG_OPENSSL@" }, - "pcre2", { "name": "opentelemetry-cpp", "default-features": false, @@ -175,6 +174,7 @@ "otlp-grpc" ] }, + "pcre2", { "name": "python3", "platform": "@VCPKG_PYTHON3@ & windows"