@@ -33,23 +33,92 @@ jobs:
3333            echo "ERROR: Invalid branch name ${{ github.ref_name }}!" 
3434            exit 1 
3535          fi 
36- name : Configure Hugo 
36+ 
37+ name : Install dependencies 
38+       run : make deps 
39+ 
40+     - name : Build out all versions 
3741      run : | 
42+         set -x 
43+ 
44+         function setBaseUrl() { 
3845          if [[ "${{ github.ref_name }}" == "main" ]] 
3946          then 
4047            hugo_root_path=docs/staging/dev 
4148          elif [[ "${{ github.ref_name }}" == "latest" ]] 
4249          then 
43-             hugo_root_path="docs/latest"   
50+             hugo_root_path="docs/latest" 
4451          elif [[ "${{ endsWith(github.ref_name, '-build') }}" == "true" ]] 
4552          then 
4653            hugo_root_path=`echo docs/version/${{ github.ref_name }} | sed 's/-build$//'` 
4754          else 
4855            hugo_root_path=docs/staging/${{ github.ref_name }} 
4956          fi \ 
5057          && sed -i "s#baseURL = \"https://redis.io\"#baseURL = \"https://redis.io/$hugo_root_path\"#g" config.toml 
51- name : Install dependencies and run Hugo 
52-       run : make all 
58+         } 
59+ 
60+         setBaseUrl 
61+         kubernetes_versions=($(find content/operate/kubernetes/ -maxdepth 1 -type d -regex ".*[0-9-]" | awk -F/ '{print $NF}')) 
62+         rs_versions=($(find content/operate/rs/ -maxdepth 1 -type d -regex ".*[0-9-]" | awk -F/ '{print $NF}')) 
63+ 
64+         # build latest 
65+         for version in "${kubernetes_versions[@]}"; do 
66+           rm -r "content/operate/kubernetes/${version}" 
67+         done 
68+         for version in "${rs_versions[@]}"; do 
69+           rm -r "content/operate/rs/${version}" 
70+         done 
71+         make all 
72+ 
73+         git checkout . 
74+ 
75+         # build all versions 
76+         for version in "${kubernetes_versions[@]}"; do 
77+ 
78+           setBaseUrl 
79+ 
80+           # for each version, remove all other versions before building 
81+           versions_to_remove=($(echo "${kubernetes_versions[@]}" "${version}" | tr ' ' '\n' | sort | uniq -u)) 
82+           for version_to_remove in "${versions_to_remove[@]}"; do 
83+             rm -r "content/operate/kubernetes/${version_to_remove}" 
84+           done 
85+ 
86+           cp -r "content/operate/kubernetes/${version}"/* content/operate/kubernetes/ 
87+           rm -r "content/operate/kubernetes/${version}" 
88+           sed -i 's/id="versionSelectorKubernetesValue" class="version-selector-control">latest/id="versionSelectorKubernetesValue" class="version-selector-control">v'"${version}"'/' layouts/partials/docs-nav.html 
89+           sed -i 's/linkTitle: '"${version}"'/linkTitle: Redis for Kubernetes/' content/operate/kubernetes/_index.md 
90+ 
91+           # inject replace command in meta-links to make sure editURL and issuesURL point to right version 
92+           sed -i "11i \{\{ \$gh_file = replaceRE \`\^operate\/kubernetes\/\` \"operate\/kubernetes\/$version\/\" \$gh_file }}" layouts/partials/meta-links.html 
93+ 
94+           hugo -d "kubernetes-${version}" 
95+ 
96+           git checkout . 
97+         done 
98+ 
99+         for version in "${rs_versions[@]}"; do 
100+ 
101+           setBaseUrl 
102+ 
103+           # for each version, remove all other versions before building 
104+           versions_to_remove=($(echo "${rs_versions[@]}" "${version}" | tr ' ' '\n' | sort | uniq -u)) 
105+           for version_to_remove in "${versions_to_remove[@]}"; do 
106+             rm -r "content/operate/rs/${version_to_remove}" 
107+           done 
108+ 
109+           cp -r "content/operate/rs/${version}"/* content/operate/rs/ 
110+           rm -r "content/operate/rs/${version}" 
111+           sed -i 's/id="versionSelectorRsValue" class="version-selector-control">latest/id="versionSelectorRsValue" class="version-selector-control">v'"${version}"'/' layouts/partials/docs-nav.html 
112+           sed -i 's/linkTitle: '"${version}"'/linkTitle: Redis Software/' content/operate/rs/_index.md 
113+ 
114+           # inject replace command in meta-links to make sure editURL and issuesURL point to right version 
115+           sed -i "11i \{\{ \$gh_file = replaceRE \`\^operate\/rs\/\` \"operate\/rs\/$version\/\" \$gh_file }}" layouts/partials/meta-links.html 
116+ 
117+           hugo -d "rs-${version}" 
118+ 
119+           git checkout . 
120+         done 
121+ 
53122name : List client examples 
54123      run : ls "${{ github.workspace }}/examples" 
55124    - name : List files to be published 
@@ -80,5 +149,12 @@ jobs:
80149            bucket_path=staging/${{ github.ref_name }} 
81150          fi \ 
82151          && ./google-cloud-sdk/bin/gsutil -m rsync -r -c -j html -d ${{ github.workspace }}/public gs://$BUCKET/$bucket_path 
152+ 
153+           versioned_builds=($(find . -type d -regex ".*[0-9-]" -maxdepth 1 | sed -E 's/^.\///')) 
154+           for versioned_build in "${versioned_builds[@]}"; do 
155+             product=$(grep -Eo '[a-zA-Z]+' <<< $versioned_build) 
156+             gsutil -m rsync -r -c -j html -d "${{ github.workspace }}/${versioned_build}/operate/${product}" "gs://${BUCKET}/${versioned_build}/operate/${product}" 
157+           done 
158+ 
83159name : End 
84160      run : echo "This job's status is ${{ job.status }}." 
0 commit comments