Merge pull request #7154 from tswast/issue4498-googleapis.dev

python: publish sphinx docs to googleapis.dev
This commit is contained in:
David L. Jones 2020-02-27 14:30:54 -08:00 committed by GitHub
commit 42903f87f0
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
5 changed files with 124 additions and 0 deletions

44
kokoro/docs/common.cfg Normal file
View File

@ -0,0 +1,44 @@
# Format: //devtools/kokoro/config/proto/build.proto
# Build logs will be here
action {
define_artifacts {
regex: "**/*sponge_log.xml"
}
}
# Download trampoline resources.
gfile_resources: "/bigstore/cloud-devrel-kokoro-resources/trampoline"
# Use the trampoline script to run in docker.
build_file: "protobuf/kokoro/docs/trampoline.sh"
# Configure the docker image for kokoro-trampoline.
env_vars: {
key: "TRAMPOLINE_IMAGE"
value: "gcr.io/cloud-devrel-kokoro-resources/python-multi"
}
env_vars: {
key: "STAGING_BUCKET"
value: "docs-staging"
}
# Fetch the token needed for reporting release status to GitHub
before_action {
fetch_keystore {
keystore_resource {
keystore_config_id: 73713
keyname: "yoshi-automation-github-key"
}
}
}
before_action {
fetch_keystore {
keystore_resource {
keystore_config_id: 73713
keyname: "docuploader_service_account"
}
}
}

51
kokoro/docs/publish-python.sh Executable file
View File

@ -0,0 +1,51 @@
#!/bin/bash
# Adapted from https://github.com/googleapis/google-cloud-python/blob/master/.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/v3.11.2/protoc-3.11.2-linux-x86_64.zip
unzip protoc-3.11.2-linux-x86_64.zip bin/protoc
mv bin/protoc ../src/protoc
python3.6 -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.6 -m pip install protobuf==3.11.1 gcp-docuploader
# install a json parser
sudo apt-get -y install jq
# create metadata
python3.6 -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.6 -m docuploader upload docs/_build/html --metadata-file docs.metadata --staging-bucket docs-staging

7
kokoro/docs/python.cfg Normal file
View File

@ -0,0 +1,7 @@
# Format: //devtools/kokoro/config/proto/build.proto
# Tell the trampoline which build file to use.
env_vars: {
key: "TRAMPOLINE_BUILD_FILE"
value: "github/protobuf/kokoro/docs/publish-python.sh"
}

11
kokoro/docs/trampoline.sh Executable file
View File

@ -0,0 +1,11 @@
#!/bin/bash
# Copied from https://github.com/googleapis/google-cloud-python/blob/master/.kokoro/trampoline.sh
set -eo pipefail
python3 "${KOKORO_GFILE_DIR}/trampoline_v1.py" || ret_code=$?
chmod +x ${KOKORO_GFILE_DIR}/trampoline_cleanup.sh
${KOKORO_GFILE_DIR}/trampoline_cleanup.sh || true
exit ${ret_code}

View File

@ -0,0 +1,11 @@
{
"name": "protobuf",
"name_pretty": "Protocol Buffers",
"product_documentation": "https://developers.google.com/protocol-buffers ",
"client_documentation": "https://developers.google.com/protocol-buffers/docs/pythontutorial",
"issue_tracker": "https://github.com/protocolbuffers/protobuf/issues",
"release_level": "ga",
"language": "python",
"repo": "protocolbuffers/protobuf ",
"distribution_name": "protobuf"
}