1*1b3f573fSAndroid Build Coastguard Worker#!/bin/bash 2*1b3f573fSAndroid Build Coastguard Worker# Adapted from https://github.com/googleapis/google-cloud-python/blob/main/.kokoro/publish-docs.sh 3*1b3f573fSAndroid Build Coastguard Worker 4*1b3f573fSAndroid Build Coastguard Workerset -eo pipefail 5*1b3f573fSAndroid Build Coastguard Worker 6*1b3f573fSAndroid Build Coastguard Worker# Disable buffering, so that the logs stream through. 7*1b3f573fSAndroid Build Coastguard Workerexport PYTHONUNBUFFERED=1 8*1b3f573fSAndroid Build Coastguard Worker 9*1b3f573fSAndroid Build Coastguard Workercd github/protobuf/python 10*1b3f573fSAndroid Build Coastguard Worker 11*1b3f573fSAndroid Build Coastguard Worker# install package 12*1b3f573fSAndroid Build Coastguard Workersudo apt-get update 13*1b3f573fSAndroid Build Coastguard Workersudo apt-get -y install software-properties-common 14*1b3f573fSAndroid Build Coastguard Workersudo add-apt-repository universe 15*1b3f573fSAndroid Build Coastguard Workersudo apt-get update 16*1b3f573fSAndroid Build Coastguard Workersudo apt-get -y install unzip 17*1b3f573fSAndroid Build Coastguard Workerwget https://github.com/protocolbuffers/protobuf/releases/download/v21.0-rc1/protoc-21.0-rc-1-linux-x86_64.zip 18*1b3f573fSAndroid Build Coastguard Workerunzip protoc-21.0-rc-1-linux-x86_64.zip bin/protoc 19*1b3f573fSAndroid Build Coastguard Workermv bin/protoc ../src/protoc 20*1b3f573fSAndroid Build Coastguard Workerpython3 -m venv venv 21*1b3f573fSAndroid Build Coastguard Workersource venv/bin/activate 22*1b3f573fSAndroid Build Coastguard Workerpython setup.py install 23*1b3f573fSAndroid Build Coastguard Worker 24*1b3f573fSAndroid Build Coastguard Worker# install docs dependencies 25*1b3f573fSAndroid Build Coastguard Workerpython -m pip install -r docs/requirements.txt 26*1b3f573fSAndroid Build Coastguard Worker 27*1b3f573fSAndroid Build Coastguard Worker# build docs 28*1b3f573fSAndroid Build Coastguard Workercd docs 29*1b3f573fSAndroid Build Coastguard Workermake html 30*1b3f573fSAndroid Build Coastguard Workercd .. 31*1b3f573fSAndroid Build Coastguard Workerdeactivate 32*1b3f573fSAndroid Build Coastguard Worker 33*1b3f573fSAndroid Build Coastguard Workerpython3 -m pip install protobuf==4.21.0rc1 gcp-docuploader 34*1b3f573fSAndroid Build Coastguard Worker 35*1b3f573fSAndroid Build Coastguard Worker# install a json parser 36*1b3f573fSAndroid Build Coastguard Workersudo apt-get -y install jq 37*1b3f573fSAndroid Build Coastguard Worker 38*1b3f573fSAndroid Build Coastguard Worker# create metadata 39*1b3f573fSAndroid Build Coastguard Workerpython3 -m docuploader create-metadata \ 40*1b3f573fSAndroid Build Coastguard Worker --name=$(jq --raw-output '.name // empty' .repo-metadata.json) \ 41*1b3f573fSAndroid Build Coastguard Worker --version=$(python3 setup.py --version) \ 42*1b3f573fSAndroid Build Coastguard Worker --language=$(jq --raw-output '.language // empty' .repo-metadata.json) \ 43*1b3f573fSAndroid Build Coastguard Worker --distribution-name=$(python3 setup.py --name) \ 44*1b3f573fSAndroid Build Coastguard Worker --product-page=$(jq --raw-output '.product_documentation // empty' .repo-metadata.json) \ 45*1b3f573fSAndroid Build Coastguard Worker --github-repository=$(jq --raw-output '.repo // empty' .repo-metadata.json) \ 46*1b3f573fSAndroid Build Coastguard Worker --issue-tracker=$(jq --raw-output '.issue_tracker // empty' .repo-metadata.json) 47*1b3f573fSAndroid Build Coastguard Worker 48*1b3f573fSAndroid Build Coastguard Workercat docs.metadata 49*1b3f573fSAndroid Build Coastguard Worker 50*1b3f573fSAndroid Build Coastguard Worker# upload docs 51*1b3f573fSAndroid Build Coastguard Workerpython3 -m docuploader upload docs/_build/html --metadata-file docs.metadata --staging-bucket docs-staging 52