1111# MCK_DIR=~/mdb/mongodb-kubernetes DOCS_DIR=~/mdb/docs-k8s-operator ./update_docs_snippets.sh
1212
1313set -eou pipefail
14+ set -x
1415
1516MCK_DIR=${MCK_DIR:- " mongodb-kubernetes" }
16- MCK_BRANCH=${MCK_BRANCH:- " release-x.x.x" }
17- DOCS_DIR=${DOCS_DIR:- " docs-mck" }
18- DOCS_BRANCH=${DOCS_BRANCH:- " master" }
17+ MCK_BRANCH=${MCK_BRANCH:- " master" }
18+ DOCS_DIR=${DOCS_DIR:- " docs-mongodb-internal" }
19+ DOCS_BRANCH=${DOCS_BRANCH:- " main" }
20+ DOCS_VERSION=${DOCS_VERSION:- " upcoming" }
21+ DOCS_INCLUDE_CODE_EXAMPLES_DIR=" ${DOCS_DIR} /content/kubernetes/${DOCS_VERSION} /source/includes/code-examples"
1922
2023function prepare_repositories() {
21- pushd " ${MCK_DIR} "
22- git fetch
23- git checkout " ${MCK_BRANCH} "
24-
25- if [[ -n " $( git status --porcelain) " ]]; then
26- echo " ${MCK_DIR} has modified files, stashing..."
27- git stash
28- fi
29-
30- git reset --hard " origin/${MCK_BRANCH} "
31-
32- popd
33-
3424 pushd " ${DOCS_DIR} "
3525 git fetch
3626 if [[ -n " $( git status --porcelain) " ]]; then
@@ -41,10 +31,31 @@ function prepare_repositories() {
4131 git checkout " ${DOCS_BRANCH} "
4232 git reset --hard " origin/${DOCS_BRANCH} "
4333
44- git checkout -b " MCK-snippets-update-$( date " +%Y%m%d%H%M%S" ) "
34+ git branch " MCK-snippets-update-${version_id} " || true
35+ git checkout " MCK-snippets-update-${version_id} "
36+
4537 popd
4638}
4739
40+ function download_snippets_outputs() {
41+ dir=$1
42+ evg_version_id=$2
43+ echo " Downloading snippets outputs from s3 to ${dir} "
44+ aws s3 sync ' s3://operator-e2e-artifacts/snippets_outputs/' " ${dir} /" --exclude ' *' --include " ${evg_version_id} *"
45+ mkdir -p " ${dir} /${evg_version_id} "
46+ cd " ${dir} /${evg_version_id} "
47+ for f in * .tgz; do
48+ tar -xvf " ${f} "
49+ done
50+
51+ outputs_dir=" scripts/code_snippets/tests/outputs"
52+ if [[ ! -d " ${outputs_dir} " ]]; then
53+ echo " No snippets were downloaded"
54+ ls -al
55+ return 1
56+ fi
57+ }
58+
4859function copy_files() {
4960 local src_dir=" $1 "
5061 local dst_dir=" $2 "
@@ -65,7 +76,7 @@ function prepare_docs_pr() {
6576 return 1
6677 fi
6778
68- git add " source/ "
79+ git add " ${DOCS_INCLUDE_CODE_EXAMPLES_DIR} "
6980 git commit -m " Update sample files from MCK"
7081 git push
7182 popd
@@ -74,25 +85,24 @@ function prepare_docs_pr() {
7485pushd ../
7586prepare_repositories
7687
77- REF_ARCH_SRC_DIR=" ${MCK_DIR} /public/architectures"
78- REF_ARCH_DST_DIR=" ${DOCS_DIR} /source/includes/code-examples/reference-architectures"
79-
80- copy_files " ${REF_ARCH_SRC_DIR} /ops-manager-multi-cluster" " ${REF_ARCH_DST_DIR} /ops-manager-multi-cluster"
81- copy_files " ${REF_ARCH_SRC_DIR} /ops-manager-mc-no-mesh" " ${REF_ARCH_DST_DIR} /ops-manager-mc-no-mesh"
82- copy_files " ${REF_ARCH_SRC_DIR} /mongodb-sharded-multi-cluster" " ${REF_ARCH_DST_DIR} /mongodb-sharded-multi-cluster"
83- copy_files " ${REF_ARCH_SRC_DIR} /mongodb-sharded-mc-no-mesh" " ${REF_ARCH_DST_DIR} /mongodb-sharded-mc-no-mesh"
84- copy_files " ${REF_ARCH_SRC_DIR} /mongodb-replicaset-multi-cluster" " ${REF_ARCH_DST_DIR} /mongodb-replicaset-multi-cluster"
85- copy_files " ${REF_ARCH_SRC_DIR} /mongodb-replicaset-mc-no-mesh" " ${REF_ARCH_DST_DIR} /mongodb-replicaset-mc-no-mesh"
86- copy_files " ${REF_ARCH_SRC_DIR} /setup-multi-cluster/verify-connectivity" " ${REF_ARCH_DST_DIR} /setup-multi-cluster/verify-connectivity"
87- copy_files " ${REF_ARCH_SRC_DIR} /setup-multi-cluster/setup-gke" " ${REF_ARCH_DST_DIR} /setup-multi-cluster/setup-gke"
88- copy_files " ${REF_ARCH_SRC_DIR} /setup-multi-cluster/setup-istio" " ${REF_ARCH_DST_DIR} /setup-multi-cluster/setup-istio"
89- copy_files " ${REF_ARCH_SRC_DIR} /setup-multi-cluster/setup-operator" " ${REF_ARCH_DST_DIR} /setup-multi-cluster/setup-operator"
90- copy_files " ${REF_ARCH_SRC_DIR} /setup-multi-cluster/setup-cert-manager" " ${REF_ARCH_DST_DIR} /setup-multi-cluster/setup-cert-manager"
91- copy_files " ${REF_ARCH_SRC_DIR} /setup-multi-cluster/setup-externaldns" " ${REF_ARCH_DST_DIR} /setup-multi-cluster/setup-externaldns"
92-
93- DOCS_SNIPPETS_SRC_DIR=" ${MCK_DIR} /docs"
94- DOCS_SNIPPEES_DST_DIR=" ${DOCS_DIR} /source/includes/code-examples"
95- copy_files " ${DOCS_SNIPPETS_SRC_DIR} /community-search/quick-start" " ${DOCS_SNIPPEES_DST_DIR} /community-search/quick-start"
88+ tmp_dir=$( mktemp -d)
89+ download_snippets_outputs " ${tmp_dir} " " ${version_id} "
90+ outputs_dir=" ${tmp_dir} /${version_id} /scripts/code_snippets/tests/outputs"
91+
92+ for test_dir in ${outputs_dir} /test_* ; do
93+ echo " Replacing outputs for test: ${test_dir} "
94+ rm -rf " ${DOCS_INCLUDE_CODE_EXAMPLES_DIR} /outputs/$( basename " ${test_dir} " ) "
95+ cp -r " ${test_dir} " " ${DOCS_INCLUDE_CODE_EXAMPLES_DIR} /outputs/$( basename " ${test_dir} " ) "
96+ done
97+
98+ echo " ${outputs_dir} "
99+ tree " ${outputs_dir} "
100+
101+ rm -rf " ${DOCS_INCLUDE_CODE_EXAMPLES_DIR} /reference-architectures"
102+ cp -r " ${MCK_DIR} /public/architectures" " ${DOCS_INCLUDE_CODE_EXAMPLES_DIR} /reference-architectures"
103+
104+ rm -rf " ${DOCS_INCLUDE_CODE_EXAMPLES_DIR} /search"
105+ cp -r " ${MCK_DIR} /docs/search" " ${DOCS_INCLUDE_CODE_EXAMPLES_DIR} /search"
96106
97107prepare_docs_pr
98108popd
0 commit comments