-
Notifications
You must be signed in to change notification settings - Fork 49
Use Kokoro for CI #90
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Merged
Merged
Changes from all commits
Commits
Show all changes
13 commits
Select commit
Hold shift + click to select a range
59e18c8
initial kokoro configs
crwilcox 9f7835f
adapt kokoro scripts from google-cloud-python
crwilcox 2ec90fa
remove firestore creds from script
crwilcox af36662
add repo metadata
crwilcox af9649f
rearrange kokoro files
crwilcox 4f9aa18
release and docs cfg rearranging
crwilcox 03884ac
rearrange kokoro files
crwilcox 2d85d19
Update paths
busunkim96 555f90b
Remove .
busunkim96 f3d3c22
repo name corrections
crwilcox 748e50b
Merge branch 'kokoro-setup' of github.com:googleapis/google-resumable…
crwilcox 3a22fb2
don't try to cd into package dir
crwilcox edbfe2c
conditional in build docs
crwilcox File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,29 @@ | ||
| #!/bin/bash | ||
|
|
||
| set -eo pipefail | ||
|
|
||
| cd ${KOKORO_ARTIFACTS_DIR}/github/google-resumable-media-python | ||
| pwd | ||
| ls | ||
| env | ||
|
|
||
| # Kokoro currently uses 3.6.1 | ||
| pyenv global 3.6.1 | ||
|
|
||
| # Kokoro exposes this as a file, but the scripts expect just a plain variable. | ||
| export GITHUB_TOKEN=$(cat ${KOKORO_GFILE_DIR}/${GITHUB_TOKEN_FILE}) | ||
|
|
||
| # Add github to known hosts. | ||
| ssh-keyscan github.com >> ~/.ssh/known_hosts | ||
|
|
||
| # Activate the ssh key for dpebot. This is used to clone | ||
| # repositories using the ssh:// protocol. | ||
| eval `ssh-agent -s` | ||
| chmod 600 ${KOKORO_GFILE_DIR}/id_rsa | ||
| ssh-add ${KOKORO_GFILE_DIR}/id_rsa | ||
|
|
||
| # Install Requirements | ||
| pip install --upgrade -r docs/requirements.txt | ||
|
|
||
| # Build and Publish Documentation | ||
| bash scripts/build_docs.sh kokoro | ||
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,40 @@ | ||
| #!/bin/bash | ||
|
|
||
| # Copyright 2018 Google LLC | ||
| # | ||
| # Licensed under the Apache License, Version 2.0 (the "License"); | ||
| # you may not use this file except in compliance with the License. | ||
| # You may obtain a copy of the License at | ||
| # | ||
| # https://www.apache.org/licenses/LICENSE-2.0 | ||
| # | ||
| # Unless required by applicable law or agreed to in writing, software | ||
| # distributed under the License is distributed on an "AS IS" BASIS, | ||
| # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | ||
| # See the License for the specific language governing permissions and | ||
| # limitations under the License. | ||
|
|
||
| set -eo pipefail | ||
|
|
||
| cd github/google-resumable-media-python | ||
|
|
||
| # Disable buffering, so that the logs stream through. | ||
| export PYTHONUNBUFFERED=1 | ||
|
|
||
| # Debug: show build environment | ||
| env | grep KOKORO | ||
|
|
||
| # Setup service account credentials. | ||
| export GOOGLE_APPLICATION_CREDENTIALS=${KOKORO_GFILE_DIR}/service-account.json | ||
|
|
||
| # Setup project id. | ||
| export PROJECT_ID=$(cat "${KOKORO_GFILE_DIR}/project-id.json") | ||
|
|
||
| # Remove old nox | ||
| python3.6 -m pip uninstall --yes --quiet nox-automation | ||
|
|
||
| # Install nox | ||
| python3.6 -m pip install --upgrade --quiet nox | ||
| python3.6 -m nox --version | ||
|
|
||
| python3.6 -m nox |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,27 @@ | ||
| # 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" | ||
|
|
||
| # Download resources for system tests (service account key, etc.) | ||
| gfile_resources: "/bigstore/cloud-devrel-kokoro-resources/google-cloud-python" | ||
|
|
||
| # Use the trampoline script to run in docker. | ||
| build_file: "google-resumable-media-python/.kokoro/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: "TRAMPOLINE_BUILD_FILE" | ||
| value: "github/google-resumable-media-python/.kokoro/build.sh" | ||
| } |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1 @@ | ||
| # Format: //devtools/kokoro/config/proto/build.proto |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,48 @@ | ||
| # 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: "google-resumable-media-python/.kokoro/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: "TRAMPOLINE_BUILD_FILE" | ||
| value: "github/google-resumable-media-python/.kokoro/publish-docs.sh" | ||
| } | ||
|
|
||
| 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" | ||
| } | ||
| } | ||
| } |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1 @@ | ||
| # Format: //devtools/kokoro/config/proto/build.proto |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,27 @@ | ||
| # 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" | ||
|
|
||
| # Download resources for system tests (service account key, etc.) | ||
| gfile_resources: "/bigstore/cloud-devrel-kokoro-resources/google-cloud-python" | ||
|
|
||
| # Use the trampoline script to run in docker. | ||
| build_file: "google-resumable-media-python/.kokoro/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: "TRAMPOLINE_BUILD_FILE" | ||
| value: "github/google-resumable-media-python/.kokoro/build.sh" | ||
| } |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1 @@ | ||
| # Format: //devtools/kokoro/config/proto/build.proto |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,42 @@ | ||
| #!/bin/bash | ||
|
|
||
| set -eo pipefail | ||
|
|
||
| # Disable buffering, so that the logs stream through. | ||
| export PYTHONUNBUFFERED=1 | ||
|
|
||
| cd github/google-resumable-media-python | ||
|
|
||
| # Remove old nox | ||
| python3.6 -m pip uninstall --yes --quiet nox-automation | ||
|
|
||
| # Install nox | ||
| python3.6 -m pip install --upgrade --quiet nox | ||
| python3.6 -m nox --version | ||
|
|
||
| # build docs | ||
| nox -s docs | ||
|
|
||
| python3 -m pip install gcp-docuploader | ||
|
|
||
| # install a json parser | ||
| 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 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 |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,19 @@ | ||
| #!/bin/bash | ||
|
|
||
| set -eo pipefail | ||
|
|
||
| # Start the releasetool reporter | ||
| python3 -m pip install gcp-releasetool | ||
| python3 -m releasetool publish-reporter-script > /tmp/publisher-script; source /tmp/publisher-script | ||
|
|
||
| # Ensure that we have the latest versions of Twine, Wheel, and Setuptools. | ||
| python3 -m pip install --upgrade twine wheel setuptools | ||
|
|
||
| # Disable buffering, so that the logs stream through. | ||
| export PYTHONUNBUFFERED=1 | ||
|
|
||
| # Move into the package, build the distribution and upload. | ||
| TWINE_PASSWORD=$(cat "${KOKORO_KEYSTORE_DIR}/73713_google_cloud_pypi_password") | ||
| cd github/google-resumable-media-python | ||
| python3 setup.py sdist bdist_wheel | ||
| twine upload --username gcloudpypi --password "${TWINE_PASSWORD}" dist/* |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,64 @@ | ||
| # 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: "google-resumable-media-python/.kokoro/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: "TRAMPOLINE_BUILD_FILE" | ||
| value: "github/google-resumable-media-python/.kokoro/release.sh" | ||
| } | ||
|
|
||
| # 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" | ||
| } | ||
| } | ||
| } | ||
|
|
||
| # Fetch PyPI password | ||
| before_action { | ||
| fetch_keystore { | ||
| keystore_resource { | ||
| keystore_config_id: 73713 | ||
| keyname: "google_cloud_pypi_password" | ||
| } | ||
| } | ||
| } | ||
|
|
||
| # Fetch magictoken to use with Magic Github Proxy | ||
| before_action { | ||
| fetch_keystore { | ||
| keystore_resource { | ||
| keystore_config_id: 73713 | ||
| keyname: "releasetool-magictoken" | ||
| } | ||
| } | ||
| } | ||
|
|
||
| # Fetch api key to use with Magic Github Proxy | ||
| before_action { | ||
| fetch_keystore { | ||
| keystore_resource { | ||
| keystore_config_id: 73713 | ||
| keyname: "magic-github-proxy-api-key" | ||
| } | ||
| } | ||
| } |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1 @@ | ||
| # Format: //devtools/kokoro/config/proto/build.proto |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,23 @@ | ||
| #!/bin/bash | ||
| # Copyright 2017 Google Inc. | ||
| # | ||
| # Licensed under the Apache License, Version 2.0 (the "License"); | ||
| # you may not use this file except in compliance with the License. | ||
| # You may obtain a copy of the License at | ||
| # | ||
| # http://www.apache.org/licenses/LICENSE-2.0 | ||
| # | ||
| # Unless required by applicable law or agreed to in writing, software | ||
| # distributed under the License is distributed on an "AS IS" BASIS, | ||
| # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | ||
| # See the License for the specific language governing permissions and | ||
| # limitations under the License. | ||
|
|
||
| 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} |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,10 @@ | ||
| { | ||
| "name": "google-resumable-media", | ||
| "name_pretty": "Google Resumable Media", | ||
| "client_documentation": "http://googleapis.dev/python/google-resumable-media/latest/", | ||
| "release_level": "alpha", | ||
| "language": "python", | ||
| "repo": "googleapis/google-resumable-media-python", | ||
| "distribution_name": "google-resumable-media" | ||
| } | ||
|
|
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Uh oh!
There was an error while loading. Please reload this page.