Merge "Nexus retirement CI job clean up"
[ci-management.git] / jjb / scripts / publish_docs.sh
1 #!/bin/bash
2
3 # Copyright (c) 2021 Cisco and/or its affiliates.
4 # Licensed under the Apache License, Version 2.0 (the "License");
5 # you may not use this file except in compliance with the License.
6 # You may obtain a copy of the License at:
7 #
8 #     http://www.apache.org/licenses/LICENSE-2.0
9 #
10 # Unless required by applicable law or agreed to in writing, software
11 # distributed under the License is distributed on an "AS IS" BASIS,
12 # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 # See the License for the specific language governing permissions and
14 # limitations under the License.
15
16 echo "---> publish_docs.sh"
17
18 set -exuo pipefail
19
20 if [[ "${SILO}" != "production" ]] ; then
21     echo "WARNING: Doc upload not supported on Jenkins '${SILO}'..."
22     exit 0
23 fi
24
25 CDN_URL="s3-docs.fd.io"
26
27 if [[ ${JOB_NAME} == *merge* ]]; then
28     case "${JOB_NAME}" in
29         *"csit-trending"*)
30             workspace_dir="${WORKSPACE}/resources/tools/presentation/_build"
31             bucket_path="/csit/${GERRIT_BRANCH}/trending/"
32             ;;
33         *"csit-report"*)
34             workspace_dir="${WORKSPACE}/resources/tools/presentation/_build"
35             bucket_path="/csit/${GERRIT_BRANCH}/report/"
36             ;;
37         *"csit-docs"*)
38             workspace_dir="${WORKSPACE}/resources/tools/doc_gen/_build"
39             bucket_path="/csit/${GERRIT_BRANCH}/docs/"
40             ;;
41         *"hicn-docs"*)
42             hicn_release="$(git describe --long --match "v*" | cut -d- -f1 | sed -e 's/^v//')"
43             workspace_dir="${WORKSPACE}/build/doc/deploy-site"
44             bucket_path="/hicn/${hicn_release}/"
45             ;;
46         *"vpp-docs"*)
47             vpp_release="$(${WORKSPACE}/build-root/scripts/version rpm-version)"
48             # TODO: Remove conditional statement when stable/2106 and
49             #       stable/2110 are no longer supported
50             if [[ "${vpp_release::2}" -ge "22" ]] ; then
51                 workspace_dir="${WORKSPACE}/build-root/docs/html"
52             else
53                 workspace_dir="${WORKSPACE}/docs/_build/html"
54             fi
55             bucket_path="/vpp/${vpp_release}/"
56             ;;
57         # TODO: Remove 'vpp-make-test-docs' when stable/2106 and
58         #       stable/2110 are no longer supported
59         *"vpp-make-test-docs"*)
60             vpp_release="$(${WORKSPACE}/build-root/scripts/version rpm-version)"
61             workspace_dir="${WORKSPACE}/test/doc/build/html"
62             bucket_path="/vpp/${vpp_release}/vpp_make_test/html/"
63             ;;
64         *)
65             die "Unknown job: ${JOB_NAME}"
66     esac
67
68     export TF_VAR_workspace_dir=$workspace_dir
69     export TF_VAR_bucket_path=$bucket_path
70     export AWS_SHARED_CREDENTIALS_FILE=$HOME/.aws/credentials
71     export AWS_DEFAULT_REGION="us-east-1"
72
73     echo "INFO: archiving docs to S3"
74     pushd ..
75     terraform init -no-color
76     terraform apply -no-color -auto-approve
77     popd
78
79     echo "S3 docs: <a href=\"https://${CDN_URL}${bucket_path}\">https://${CDN_URL}${bucket_path}</a>"
80 fi