xref: /aosp_15_r20/external/protobuf/kokoro/docs/publish-python.sh (revision 1b3f573f81763fcece89efc2b6a5209149e44ab8)
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