From bdeda510a9bfa509d933291f46af3b39ca094238 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C5=81ukasz=20Sierant?= Date: Fri, 7 Nov 2025 00:02:48 +0100 Subject: [PATCH] Fix downloading snippets outputs --- scripts/dev/update_docs_snippets.sh | 68 +++++++++++++++++++---------- 1 file changed, 46 insertions(+), 22 deletions(-) diff --git a/scripts/dev/update_docs_snippets.sh b/scripts/dev/update_docs_snippets.sh index c0ed8f27d..fe5ec4448 100755 --- a/scripts/dev/update_docs_snippets.sh +++ b/scripts/dev/update_docs_snippets.sh @@ -14,21 +14,43 @@ # ./scripts/dev/update_docs_snippets.sh # # To customize directories run -# MCK_DIR= DOCS_DIR= scripts/dev/update_docs_snippets.sh +# MCK_DIR= \ +# DOCS_DIR= \ +# scripts/dev/update_docs_snippets.sh # # Examples: +# # MCK_DIR=~/mdb/mongodb-kubernetes DOCS_DIR=~/mdb/docs-k8s-operator scripts/dev/update_docs_snippets.sh +# +# Create snippets PR from a 69038706b0fce50007f25a9d evg patch run # MCK_DIR=$(pwd) MCK_BRANCH=archive-snippets-outputs DOCS_DIR=~/mdb/docs-mongodb-internal \ # version_id=69038706b0fce50007f25a9d scripts/dev/update_docs_snippets.sh +# +# Update a previously created snippets PR in a branch: MCK-snippets-update-690cf87c07b9040007901fac +# with the updates from another patch_id=690d2946d131f20007fecfe1 +# MCK_DIR=~/mdb/mongodb-kubernetes \ +# DOCS_DIR=~/mdb/docs-mongodb-internal \ +# OUTPUTS_VERSION_ID=690d2946d131f20007fecfe1 \ +# DOCS_PR_BRANCH=MCK-snippets-update-690cf87c07b9040007901fac \ +# scripts/dev/update_docs_snippets.sh set -eou pipefail +test "${MDB_BASH_DEBUG:-0}" -eq 1 && set -x + OUTPUTS_VERSION_ID=${OUTPUTS_VERSION_ID:-${version_id:?}} +# MCK repo dir MCK_DIR=${MCK_DIR:-"mongodb-kubernetes"} +# Docs repo dir DOCS_DIR=${DOCS_DIR:-"docs-mongodb-internal"} +# Branch on which to base snippets branch DOCS_BRANCH=${DOCS_BRANCH:-"main"} +# Version directory in docs repo (upcoming, current, etc.) DOCS_VERSION=${DOCS_VERSION:-"upcoming"} -DOCS_INCLUDE_CODE_EXAMPLES_DIR="${DOCS_DIR}/content/kubernetes/${DOCS_VERSION}/source/includes/code-examples" +# Branch name for snippets +DOCS_PR_BRANCH=${DOCS_PR_BRANCH:-"MCK-snippets-update-${OUTPUTS_VERSION_ID}"} + +docs_include_code_examples_dir="${DOCS_DIR}/content/kubernetes/${DOCS_VERSION}/source/includes/code-examples" function prepare_repositories() { pushd "${DOCS_DIR}" @@ -41,8 +63,8 @@ function prepare_repositories() { git checkout "${DOCS_BRANCH}" git reset --hard "origin/${DOCS_BRANCH}" - git branch "MCK-snippets-update-${OUTPUTS_VERSION_ID}" || true - git checkout "MCK-snippets-update-${OUTPUTS_VERSION_ID}" + git branch "${DOCS_PR_BRANCH}" || true + git checkout "${DOCS_PR_BRANCH}" popd } @@ -52,16 +74,17 @@ function download_snippets_outputs() { evg_version_id=$2 echo "Downloading snippets outputs from s3 to ${dir}" aws s3 sync 's3://operator-e2e-artifacts/snippets_outputs/' "${dir}/" --exclude '*' --include "${evg_version_id}*" - mkdir -p "${dir}/${evg_version_id}" - cd "${dir}/${evg_version_id}" + mkdir -p "${dir}" + cd "${dir}" for f in *.tgz; do - tar -xvf "${f}" + if [[ -f ${f} ]]; then + tar -xvf "${f}" + fi done outputs_dir="scripts/code_snippets/tests/outputs" if [[ ! -d "${outputs_dir}" ]]; then echo "No snippets were downloaded" - ls -al return 1 fi } @@ -73,7 +96,7 @@ function prepare_docs_pr() { return 1 fi - git add "${DOCS_INCLUDE_CODE_EXAMPLES_DIR}" + git add "${docs_include_code_examples_dir}" git commit -m "Update sample files from MCK" git push popd @@ -83,23 +106,24 @@ pushd ../ prepare_repositories tmp_dir=$(mktemp -d) -download_snippets_outputs "${tmp_dir}" "${OUTPUTS_VERSION_ID}" -outputs_dir="${tmp_dir}/${OUTPUTS_VERSION_ID}/scripts/code_snippets/tests/outputs" +if download_snippets_outputs "${tmp_dir}" "${OUTPUTS_VERSION_ID}"; then + outputs_dir="${tmp_dir}/scripts/code_snippets/tests/outputs" -for test_dir in "${outputs_dir}"/test_*; do - echo "Replacing outputs for test: ${test_dir}" - rm -rf "${DOCS_INCLUDE_CODE_EXAMPLES_DIR}/outputs/$(basename "${test_dir}")" - cp -r "${test_dir}" "${DOCS_INCLUDE_CODE_EXAMPLES_DIR}/outputs/$(basename "${test_dir}")" -done + for test_dir in "${outputs_dir}"/test_*; do + echo "Replacing outputs for test: ${test_dir}" + rm -rf "${docs_include_code_examples_dir}/outputs/$(basename "${test_dir}")" + cp -r "${test_dir}" "${docs_include_code_examples_dir}/outputs/$(basename "${test_dir}")" + done -echo "${outputs_dir}" -tree "${outputs_dir}" + echo "${outputs_dir}" + tree "${outputs_dir}" +fi -rm -rf "${DOCS_INCLUDE_CODE_EXAMPLES_DIR}/reference-architectures" -cp -r "${MCK_DIR}/public/architectures" "${DOCS_INCLUDE_CODE_EXAMPLES_DIR}/reference-architectures" +rm -rf "${docs_include_code_examples_dir}/reference-architectures" +cp -r "${MCK_DIR}/public/architectures" "${docs_include_code_examples_dir}/reference-architectures" -rm -rf "${DOCS_INCLUDE_CODE_EXAMPLES_DIR}/search" -cp -r "${MCK_DIR}/docs/search" "${DOCS_INCLUDE_CODE_EXAMPLES_DIR}/search" +rm -rf "${docs_include_code_examples_dir}/search" +cp -r "${MCK_DIR}/docs/search" "${docs_include_code_examples_dir}/search" prepare_docs_pr popd