|
|
|
#!/bin/bash
|
|
|
|
# Adapted from https://github.com/googleapis/google-cloud-python/blob/main/.kokoro/publish-docs.sh
|
|
|
|
|
|
|
|
set -eo pipefail
|
|
|
|
|
|
|
|
# Disable buffering, so that the logs stream through.
|
|
|
|
export PYTHONUNBUFFERED=1
|
|
|
|
|
|
|
|
cd github/protobuf/python
|
|
|
|
|
|
|
|
# install package
|
|
|
|
sudo apt-get update
|
|
|
|
sudo apt-get -y install software-properties-common
|
|
|
|
sudo add-apt-repository universe
|
|
|
|
sudo apt-get update
|
|
|
|
sudo apt-get -y install unzip
|
|
|
|
wget https://github.com/protocolbuffers/protobuf/releases/download/v21.1/protoc-21.1-linux-x86_64.zip
|
|
|
|
unzip protoc-21.1-linux-x86_64.zip bin/protoc
|
|
|
|
mv bin/protoc ../protoc
|
|
|
|
python3 -m venv venv
|
|
|
|
source venv/bin/activate
|
|
|
|
python setup.py install
|
|
|
|
|
|
|
|
# install docs dependencies
|
|
|
|
python -m pip install -r docs/requirements.txt
|
|
|
|
|
|
|
|
# build docs
|
|
|
|
cd docs
|
|
|
|
make html
|
|
|
|
cd ..
|
|
|
|
deactivate
|
|
|
|
|
|
|
|
python3 -m pip install protobuf==4.21.1 gcp-docuploader==0.6.3
|
|
|
|
|
|
|
|
# install a json parser
|
|
|
|
sudo apt-get -y install jq
|
|
|
|
|
|
|
|
# create metadata
|
|
|
|
python3 -m docuploader create-metadata \
|
|
|
|
--name=$(jq --raw-output '.name // empty' .repo-metadata.json) \
|
|
|
|
--version=$(python3 setup.py --version) \
|
|
|
|
--language=$(jq --raw-output '.language // empty' .repo-metadata.json) \
|
|
|
|
--distribution-name=$(python3 setup.py --name) \
|
|
|
|
--product-page=$(jq --raw-output '.product_documentation // empty' .repo-metadata.json) \
|
|
|
|
--github-repository=$(jq --raw-output '.repo // empty' .repo-metadata.json) \
|
|
|
|
--issue-tracker=$(jq --raw-output '.issue_tracker // empty' .repo-metadata.json)
|
|
|
|
|
|
|
|
cat docs.metadata
|
|
|
|
|
|
|
|
# upload docs
|
|
|
|
python3 -m docuploader upload docs/_build/html --metadata-file docs.metadata --staging-bucket docs-staging
|