publish-python.sh 1.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051
  1. #!/bin/bash
  2. # Adapted from https://github.com/googleapis/google-cloud-python/blob/master/.kokoro/publish-docs.sh
  3. set -eo pipefail
  4. # Disable buffering, so that the logs stream through.
  5. export PYTHONUNBUFFERED=1
  6. cd github/protobuf/python
  7. # install package
  8. sudo apt-get update
  9. sudo apt-get -y install software-properties-common
  10. sudo add-apt-repository universe
  11. sudo apt-get update
  12. sudo apt-get -y install unzip
  13. wget https://github.com/protocolbuffers/protobuf/releases/download/v3.15.8/protoc-3.15.8-linux-x86_64.zip
  14. unzip protoc-3.15.8-linux-x86_64.zip bin/protoc
  15. mv bin/protoc ../src/protoc
  16. python3 -m venv venv
  17. source venv/bin/activate
  18. python setup.py install
  19. # install docs dependencies
  20. python -m pip install -r docs/requirements.txt
  21. # build docs
  22. cd docs
  23. make html
  24. cd ..
  25. deactivate
  26. python3 -m pip install protobuf==3.15.8 gcp-docuploader
  27. # install a json parser
  28. sudo apt-get -y install jq
  29. # create metadata
  30. python3 -m docuploader create-metadata \
  31. --name=$(jq --raw-output '.name // empty' .repo-metadata.json) \
  32. --version=$(python3 setup.py --version) \
  33. --language=$(jq --raw-output '.language // empty' .repo-metadata.json) \
  34. --distribution-name=$(python3 setup.py --name) \
  35. --product-page=$(jq --raw-output '.product_documentation // empty' .repo-metadata.json) \
  36. --github-repository=$(jq --raw-output '.repo // empty' .repo-metadata.json) \
  37. --issue-tracker=$(jq --raw-output '.issue_tracker // empty' .repo-metadata.json)
  38. cat docs.metadata
  39. # upload docs
  40. python3 -m docuploader upload docs/_build/html --metadata-file docs.metadata --staging-bucket docs-staging