From 84fe8531691a56292553e1a99c067e840a4044ee Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marko=20Bari=C5=A1i=C4=87?= <48765171+MarkoBarisic@users.noreply.github.com> Date: Mon, 18 Mar 2024 10:47:59 +0100 Subject: [PATCH] Fix cargo not found when buidling in mgbuild container (#1825) *Add source /home/mg/.cargo/env before cmake and make commands in mgbuild.sh --- release/package/mgbuild.sh | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/release/package/mgbuild.sh b/release/package/mgbuild.sh index 3ff2f4979..e24776f60 100755 --- a/release/package/mgbuild.sh +++ b/release/package/mgbuild.sh @@ -211,6 +211,7 @@ check_support() { build_memgraph () { local build_container="mgbuild_${toolchain_version}_${os}" local ACTIVATE_TOOLCHAIN="source /opt/toolchain-${toolchain_version}/activate" + local ACTIVATE_CARGO="source $MGBUILD_HOME_DIR/.cargo/env" local container_build_dir="$MGBUILD_ROOT_DIR/build" local container_output_dir="$container_build_dir/output" local arm_flag="" @@ -316,7 +317,7 @@ build_memgraph () { # Define cmake command local cmake_cmd="cmake $build_type_flag $arm_flag $community_flag $telemetry_id_override_flag $coverage_flag $asan_flag $ubsan_flag .." - docker exec -u mg "$build_container" bash -c "cd $container_build_dir && $ACTIVATE_TOOLCHAIN && $cmake_cmd" + docker exec -u mg "$build_container" bash -c "cd $container_build_dir && $ACTIVATE_TOOLCHAIN && $ACTIVATE_CARGO && $cmake_cmd" # ' is used instead of " because we need to run make within the allowed # container resources. @@ -326,11 +327,11 @@ build_memgraph () { # support nproc # shellcheck disable=SC2016 if [[ "$threads" == 0 ]]; then - docker exec -u mg "$build_container" bash -c "cd $container_build_dir && $ACTIVATE_TOOLCHAIN "'&& make -j$(nproc)' - docker exec -u mg "$build_container" bash -c "cd $container_build_dir && $ACTIVATE_TOOLCHAIN "'&& make -j$(nproc) -B mgconsole' + docker exec -u mg "$build_container" bash -c "cd $container_build_dir && $ACTIVATE_TOOLCHAIN && $ACTIVATE_CARGO "'&& make -j$(nproc)' + docker exec -u mg "$build_container" bash -c "cd $container_build_dir && $ACTIVATE_TOOLCHAIN && $ACTIVATE_CARGO "'&& make -j$(nproc) -B mgconsole' else - docker exec -u mg "$build_container" bash -c "cd $container_build_dir && $ACTIVATE_TOOLCHAIN "'&& make -j$threads' - docker exec -u mg "$build_container" bash -c "cd $container_build_dir && $ACTIVATE_TOOLCHAIN "'&& make -j$threads -B mgconsole' + docker exec -u mg "$build_container" bash -c "cd $container_build_dir && $ACTIVATE_TOOLCHAIN && $ACTIVATE_CARGO "'&& make -j$threads' + docker exec -u mg "$build_container" bash -c "cd $container_build_dir && $ACTIVATE_TOOLCHAIN && $ACTIVATE_CARGO "'&& make -j$threads -B mgconsole' fi } @@ -396,6 +397,7 @@ copy_memgraph() { test_memgraph() { local ACTIVATE_TOOLCHAIN="source /opt/toolchain-${toolchain_version}/activate" local ACTIVATE_VENV="./setup.sh /opt/toolchain-${toolchain_version}/activate" + local ACTIVATE_CARGO="source $MGBUILD_HOME_DIR/.cargo/env" local EXPORT_LICENSE="export MEMGRAPH_ENTERPRISE_LICENSE=$enterprise_license" local EXPORT_ORG_NAME="export MEMGRAPH_ORGANIZATION_NAME=$organization_name" local BUILD_DIR="$MGBUILD_ROOT_DIR/build" @@ -481,7 +483,7 @@ test_memgraph() { # docker network connect --alias $kafka_hostname $build_container_network $kafka_container > /dev/null 2>&1 || echo "Kafka container already inside correct network or something went wrong ..." # docker network connect --alias $pulsar_hostname $build_container_network $pulsar_container > /dev/null 2>&1 || echo "Kafka container already inside correct network or something went wrong ..." docker exec -u mg $build_container bash -c "pip install --user networkx && pip3 install --user networkx" - docker exec -u mg $build_container bash -c "$EXPORT_LICENSE && $EXPORT_ORG_NAME && cd $MGBUILD_ROOT_DIR/tests && $ACTIVATE_VENV && source ve3/bin/activate_e2e && cd $MGBUILD_ROOT_DIR/tests/e2e "'&& ./run.sh' + docker exec -u mg $build_container bash -c "$EXPORT_LICENSE && $EXPORT_ORG_NAME && $ACTIVATE_CARGO && cd $MGBUILD_ROOT_DIR/tests && $ACTIVATE_VENV && source ve3/bin/activate_e2e && cd $MGBUILD_ROOT_DIR/tests/e2e "'&& ./run.sh' ;; *) echo "Error: Unknown test '$1'"