891e57a7b0bbf7e03dc5e0601541096f36fe3126
[ci-management.git] / jjb / scripts / publish_docs.sh
1 #!/bin/bash
2
3 # Copyright (c) 2022 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             workspace_dir="${WORKSPACE}/build-root/docs/html"
49             bucket_path="/vpp/${vpp_release}/"
50             ;;
51         *)
52             die "Unknown job: ${JOB_NAME}"
53     esac
54
55     export TF_VAR_workspace_dir=$workspace_dir
56     export TF_VAR_bucket_path=$bucket_path
57     export AWS_SHARED_CREDENTIALS_FILE=$HOME/.aws/credentials
58     export AWS_DEFAULT_REGION="us-east-1"
59
60     echo "INFO: archiving docs to S3"
61     pushd ..
62     terraform init -no-color
63     terraform apply -no-color -auto-approve
64     popd
65
66     echo "S3 docs: <a href=\"https://${CDN_URL}${bucket_path}\">https://${CDN_URL}${bucket_path}</a>"
67 fi