googleauth 0.1.0 → 0.16.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +5 -5
- data/.github/CODEOWNERS +7 -0
- data/.github/CONTRIBUTING.md +74 -0
- data/.github/ISSUE_TEMPLATE/bug_report.md +36 -0
- data/.github/ISSUE_TEMPLATE/feature_request.md +21 -0
- data/.github/ISSUE_TEMPLATE/support_request.md +7 -0
- data/.github/renovate.json +6 -0
- data/.github/sync-repo-settings.yaml +18 -0
- data/.github/workflows/ci.yml +55 -0
- data/.github/workflows/release-please.yml +39 -0
- data/.gitignore +3 -0
- data/.kokoro/populate-secrets.sh +76 -0
- data/.kokoro/release.cfg +52 -0
- data/.kokoro/release.sh +18 -0
- data/.kokoro/trampoline_v2.sh +489 -0
- data/.repo-metadata.json +5 -0
- data/.rubocop.yml +17 -0
- data/.toys/.toys.rb +45 -0
- data/.toys/ci.rb +43 -0
- data/.toys/kokoro/.toys.rb +66 -0
- data/.toys/kokoro/publish-docs.rb +67 -0
- data/.toys/kokoro/publish-gem.rb +53 -0
- data/.toys/linkinator.rb +43 -0
- data/.trampolinerc +48 -0
- data/CHANGELOG.md +199 -0
- data/CODE_OF_CONDUCT.md +43 -0
- data/Gemfile +22 -1
- data/{COPYING → LICENSE} +0 -0
- data/README.md +140 -17
- data/googleauth.gemspec +28 -28
- data/integration/helper.rb +31 -0
- data/integration/id_tokens/key_source_test.rb +74 -0
- data/lib/googleauth.rb +7 -37
- data/lib/googleauth/application_default.rb +81 -0
- data/lib/googleauth/client_id.rb +104 -0
- data/lib/googleauth/compute_engine.rb +73 -26
- data/lib/googleauth/credentials.rb +561 -0
- data/lib/googleauth/credentials_loader.rb +207 -0
- data/lib/googleauth/default_credentials.rb +93 -0
- data/lib/googleauth/iam.rb +75 -0
- data/lib/googleauth/id_tokens.rb +233 -0
- data/lib/googleauth/id_tokens/errors.rb +71 -0
- data/lib/googleauth/id_tokens/key_sources.rb +396 -0
- data/lib/googleauth/id_tokens/verifier.rb +142 -0
- data/lib/googleauth/json_key_reader.rb +50 -0
- data/lib/googleauth/scope_util.rb +61 -0
- data/lib/googleauth/service_account.rb +177 -67
- data/lib/googleauth/signet.rb +69 -8
- data/lib/googleauth/stores/file_token_store.rb +65 -0
- data/lib/googleauth/stores/redis_token_store.rb +96 -0
- data/lib/googleauth/token_store.rb +69 -0
- data/lib/googleauth/user_authorizer.rb +285 -0
- data/lib/googleauth/user_refresh.rb +129 -0
- data/lib/googleauth/version.rb +1 -1
- data/lib/googleauth/web_user_authorizer.rb +295 -0
- data/spec/googleauth/apply_auth_examples.rb +96 -94
- data/spec/googleauth/client_id_spec.rb +160 -0
- data/spec/googleauth/compute_engine_spec.rb +125 -55
- data/spec/googleauth/credentials_spec.rb +600 -0
- data/spec/googleauth/get_application_default_spec.rb +232 -80
- data/spec/googleauth/iam_spec.rb +80 -0
- data/spec/googleauth/scope_util_spec.rb +77 -0
- data/spec/googleauth/service_account_spec.rb +422 -68
- data/spec/googleauth/signet_spec.rb +101 -25
- data/spec/googleauth/stores/file_token_store_spec.rb +57 -0
- data/spec/googleauth/stores/redis_token_store_spec.rb +50 -0
- data/spec/googleauth/stores/store_examples.rb +58 -0
- data/spec/googleauth/user_authorizer_spec.rb +343 -0
- data/spec/googleauth/user_refresh_spec.rb +359 -0
- data/spec/googleauth/web_user_authorizer_spec.rb +172 -0
- data/spec/spec_helper.rb +51 -10
- data/test/helper.rb +33 -0
- data/test/id_tokens/key_sources_test.rb +240 -0
- data/test/id_tokens/verifier_test.rb +269 -0
- metadata +114 -75
- data/.travis.yml +0 -18
- data/CONTRIBUTING.md +0 -32
- data/Rakefile +0 -15
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
|
-
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
2
|
+
SHA256:
|
3
|
+
metadata.gz: a1f96ad8fd7b2aae5671af839775b83db2c3f6b9c31e36622c2dc983d647e54d
|
4
|
+
data.tar.gz: 58db2385909da01755365839451a6a8bbb79fceaabd76de313dab9496a7ea0dd
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 39f9a7e75bbb27ff0cd9bb50ebc077751f83ee22fec724d4de9ed54c3bde97a92e5a9f577859784d2c298405fa9cf57491bddf73043ff5a0cb6a567379fc2cbb
|
7
|
+
data.tar.gz: 543d6c2e8175ea1262c4235e581124378ef932fe96b7c63e27b75654a2e7cdfc5e427c6f9668141de1b06d770dedfb97ca8b94b1df800d0bdf04c1860644dc2c
|
data/.github/CODEOWNERS
ADDED
@@ -0,0 +1,7 @@
|
|
1
|
+
# Code owners file.
|
2
|
+
# This file controls who is tagged for review for any given pull request.
|
3
|
+
#
|
4
|
+
# For syntax help see:
|
5
|
+
# https://help.github.com/en/github/creating-cloning-and-archiving-repositories/about-code-owners#codeowners-syntax
|
6
|
+
|
7
|
+
* @googleapis/yoshi-ruby
|
@@ -0,0 +1,74 @@
|
|
1
|
+
# How to become a contributor and submit your own code
|
2
|
+
|
3
|
+
## Contributor License Agreements
|
4
|
+
|
5
|
+
We'd love to accept your sample apps and patches! Before we can take them, we
|
6
|
+
have to jump a couple of legal hurdles.
|
7
|
+
|
8
|
+
Please fill out either the individual or corporate Contributor License Agreement
|
9
|
+
(CLA).
|
10
|
+
|
11
|
+
* If you are an individual writing original source code and you're sure you
|
12
|
+
own the intellectual property, then you'll need to sign an [individual CLA].
|
13
|
+
* If you work for a company that wants to allow you to contribute your work,
|
14
|
+
then you'll need to sign a [corporate CLA].
|
15
|
+
|
16
|
+
[individual CLA]: http://code.google.com/legal/individual-cla-v1.0.html
|
17
|
+
[corporate CLA]: http://code.google.com/legal/corporate-cla-v1.0.html
|
18
|
+
|
19
|
+
Follow either of the two links above to access the appropriate CLA and
|
20
|
+
instructions for how to sign and return it. Once we receive it, we'll be able to
|
21
|
+
accept your pull requests.
|
22
|
+
|
23
|
+
## Issue reporting
|
24
|
+
|
25
|
+
* Check that the issue has not already been reported.
|
26
|
+
* Check that the issue has not already been fixed in the latest code
|
27
|
+
(a.k.a. `master`).
|
28
|
+
* Be clear, concise and precise in your description of the problem.
|
29
|
+
* Open an issue with a descriptive title and a summary in grammatically correct,
|
30
|
+
complete sentences.
|
31
|
+
* Include any relevant code to the issue summary.
|
32
|
+
|
33
|
+
## Pull requests
|
34
|
+
|
35
|
+
* Read [how to properly contribute to open source projects on Github][2].
|
36
|
+
* Fork the project.
|
37
|
+
* Use a topic/feature branch to easily amend a pull request later, if necessary.
|
38
|
+
* Write [good commit messages][3].
|
39
|
+
* Use the same coding conventions as the rest of the project.
|
40
|
+
* Commit and push until you are happy with your contribution.
|
41
|
+
* Make sure to add tests for it. This is important so I don't break it
|
42
|
+
in a future version unintentionally.
|
43
|
+
* Add an entry to the [Changelog](CHANGELOG.md) accordingly. See [changelog entry format](#changelog-entry-format).
|
44
|
+
* Please try not to mess with the Rakefile, version, or history. If you want to
|
45
|
+
have your own version, or is otherwise necessary, that is fine, but please
|
46
|
+
isolate to its own commit so I can cherry-pick around it.
|
47
|
+
* Make sure the test suite is passing and the code you wrote doesn't produce
|
48
|
+
RuboCop offenses.
|
49
|
+
* [Squash related commits together][5].
|
50
|
+
* Open a [pull request][4] that relates to *only* one subject with a clear title
|
51
|
+
and description in grammatically correct, complete sentences.
|
52
|
+
|
53
|
+
### Changelog entry format
|
54
|
+
|
55
|
+
Here are a few examples:
|
56
|
+
|
57
|
+
```
|
58
|
+
* makes the scope parameter's optional in all APIs. (@tbetbetbe[])
|
59
|
+
* [#14](https://github.com/google/google-auth-library-ruby/issues/14): ADC Support for JWT Service Tokens. ([@tbetbetbe][])
|
60
|
+
```
|
61
|
+
|
62
|
+
* Mark it up in [Markdown syntax][6].
|
63
|
+
* The entry line should start with `* ` (an asterisk and a space).
|
64
|
+
* If the change has a related GitHub issue (e.g. a bug fix for a reported issue), put a link to the issue as `[#123](https://github.com/google/google-auth-library-ruby/issues/11): `.
|
65
|
+
* Describe the brief of the change. The sentence should end with a punctuation.
|
66
|
+
* At the end of the entry, add an implicit link to your GitHub user page as `([@username][])`.
|
67
|
+
* If this is your first contribution to google-auth-library-ruby project, add a link definition for the implicit link to the bottom of the changelog as `[@username]: https://github.com/username`.
|
68
|
+
|
69
|
+
[1]: https://github.com/google/google-auth-ruby-library/issues
|
70
|
+
[2]: http://gun.io/blog/how-to-github-fork-branch-and-pull-request
|
71
|
+
[3]: http://tbaggery.com/2008/04/19/a-note-about-git-commit-messages.html
|
72
|
+
[4]: https://help.github.com/articles/using-pull-requests
|
73
|
+
[5]: http://gitready.com/advanced/2009/02/10/squashing-commits-with-rebase.html
|
74
|
+
[6]: http://daringfireball.net/projects/markdown/syntax
|
@@ -0,0 +1,36 @@
|
|
1
|
+
---
|
2
|
+
name: Bug report
|
3
|
+
about: Create a report to help us improve
|
4
|
+
|
5
|
+
---
|
6
|
+
|
7
|
+
Thanks for stopping by to let us know something could be better!
|
8
|
+
|
9
|
+
**PLEASE READ**: If you have a support contract with Google, please create an issue in the [support console](https://cloud.google.com/support/) instead of filing on GitHub. This will ensure a timely response.
|
10
|
+
|
11
|
+
Please run down the following list and make sure you've tried the usual "quick fixes":
|
12
|
+
|
13
|
+
- Search the issues already opened: https://github.com/googleapis/google-auth-library-ruby/issues
|
14
|
+
- Search Stack Overflow: https://stackoverflow.com/questions/tagged/google-auth-library-ruby
|
15
|
+
|
16
|
+
If you are still having issues, please be sure to include as much information as possible:
|
17
|
+
|
18
|
+
#### Environment details
|
19
|
+
|
20
|
+
- OS:
|
21
|
+
- Ruby version:
|
22
|
+
- Gem name and version:
|
23
|
+
|
24
|
+
#### Steps to reproduce
|
25
|
+
|
26
|
+
1. ...
|
27
|
+
|
28
|
+
#### Code example
|
29
|
+
|
30
|
+
```ruby
|
31
|
+
# example
|
32
|
+
```
|
33
|
+
|
34
|
+
Making sure to follow these steps will guarantee the quickest resolution possible.
|
35
|
+
|
36
|
+
Thanks!
|
@@ -0,0 +1,21 @@
|
|
1
|
+
---
|
2
|
+
name: Feature request
|
3
|
+
about: Suggest an idea for this library
|
4
|
+
|
5
|
+
---
|
6
|
+
|
7
|
+
Thanks for stopping by to let us know something could be better!
|
8
|
+
|
9
|
+
**PLEASE READ**: If you have a support contract with Google, please create an issue in the [support console](https://cloud.google.com/support/) instead of filing on GitHub. This will ensure a timely response.
|
10
|
+
|
11
|
+
**Is your feature request related to a problem? Please describe.**
|
12
|
+
A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]
|
13
|
+
|
14
|
+
**Describe the solution you'd like**
|
15
|
+
A clear and concise description of what you want to happen.
|
16
|
+
|
17
|
+
**Describe alternatives you've considered**
|
18
|
+
A clear and concise description of any alternative solutions or features you've considered.
|
19
|
+
|
20
|
+
**Additional context**
|
21
|
+
Add any other context or screenshots about the feature request here.
|
@@ -0,0 +1,7 @@
|
|
1
|
+
---
|
2
|
+
name: Support request
|
3
|
+
about: If you have a support contract with Google, please create an issue in the Google Cloud Support console.
|
4
|
+
|
5
|
+
---
|
6
|
+
|
7
|
+
**PLEASE READ**: If you have a support contract with Google, please create an issue in the [support console](https://cloud.google.com/support/) instead of filing on GitHub. This will ensure a timely response.
|
@@ -0,0 +1,18 @@
|
|
1
|
+
rebaseMergeAllowed: true
|
2
|
+
squashMergeAllowed: true
|
3
|
+
mergeCommitAllowed: false
|
4
|
+
branchProtectionRules:
|
5
|
+
- pattern: master
|
6
|
+
isAdminEnforced: false
|
7
|
+
requiredStatusCheckContexts:
|
8
|
+
- 'cla/google'
|
9
|
+
requiredApprovingReviewCount: 1
|
10
|
+
requiresCodeOwnerReviews: true
|
11
|
+
requiresStrictStatusChecks: true
|
12
|
+
permissionRules:
|
13
|
+
- team: yoshi-admins
|
14
|
+
permission: admin
|
15
|
+
- team: yoshi-ruby-admins
|
16
|
+
permission: admin
|
17
|
+
- team: yoshi-ruby
|
18
|
+
permission: push
|
@@ -0,0 +1,55 @@
|
|
1
|
+
name: CI
|
2
|
+
on:
|
3
|
+
pull_request:
|
4
|
+
branches:
|
5
|
+
- master
|
6
|
+
push:
|
7
|
+
branches:
|
8
|
+
- master
|
9
|
+
workflow_dispatch:
|
10
|
+
jobs:
|
11
|
+
CI:
|
12
|
+
if: ${{ github.repository == 'googleapis/google-auth-library-ruby' }}
|
13
|
+
strategy:
|
14
|
+
matrix:
|
15
|
+
include:
|
16
|
+
- os: ubuntu-latest
|
17
|
+
ruby: "2.5"
|
18
|
+
task: test , spec
|
19
|
+
- os: ubuntu-latest
|
20
|
+
ruby: "2.6"
|
21
|
+
task: test , spec
|
22
|
+
- os: ubuntu-latest
|
23
|
+
ruby: "2.7"
|
24
|
+
task: test , spec
|
25
|
+
- os: ubuntu-latest
|
26
|
+
ruby: "3.0"
|
27
|
+
task: test , spec
|
28
|
+
- os: macos-latest
|
29
|
+
ruby: "2.7"
|
30
|
+
task: test , spec
|
31
|
+
- os: windows-latest
|
32
|
+
ruby: "2.7"
|
33
|
+
task: test , spec
|
34
|
+
- os: ubuntu-latest
|
35
|
+
ruby: "2.7"
|
36
|
+
task: rubocop , integration , build , yardoc , linkinator
|
37
|
+
fail-fast: false
|
38
|
+
runs-on: ${{ matrix.os }}
|
39
|
+
steps:
|
40
|
+
- name: Checkout repo
|
41
|
+
uses: actions/checkout@v2
|
42
|
+
- name: Install Ruby ${{ matrix.ruby }}
|
43
|
+
uses: ruby/setup-ruby@v1
|
44
|
+
with:
|
45
|
+
ruby-version: "${{ matrix.ruby }}"
|
46
|
+
- name: Install NodeJS 14.x
|
47
|
+
uses: actions/setup-node@v2
|
48
|
+
with:
|
49
|
+
node-version: "14.x"
|
50
|
+
- name: Install dependencies
|
51
|
+
shell: bash
|
52
|
+
run: "gem install --no-document toys && bundle install"
|
53
|
+
- name: Test ${{ matrix.task }}
|
54
|
+
shell: bash
|
55
|
+
run: toys do ${{ matrix.task }} < /dev/null
|
@@ -0,0 +1,39 @@
|
|
1
|
+
on:
|
2
|
+
schedule:
|
3
|
+
- cron: '29 9 * * *'
|
4
|
+
workflow_dispatch:
|
5
|
+
|
6
|
+
name: release-please
|
7
|
+
jobs:
|
8
|
+
release-please:
|
9
|
+
env:
|
10
|
+
ENABLE_RELEASE_PLEASE: ${{ secrets.ENABLE_RELEASE_PLEASE }}
|
11
|
+
runs-on: ubuntu-latest
|
12
|
+
steps:
|
13
|
+
- name: ReleasePlease
|
14
|
+
id: release-please
|
15
|
+
if: ${{ env.ENABLE_RELEASE_PLEASE || github.event_name == 'workflow_dispatch' }}
|
16
|
+
uses: GoogleCloudPlatform/release-please-action@v2
|
17
|
+
with:
|
18
|
+
command: release-pr
|
19
|
+
token: ${{ secrets.YOSHI_CODE_BOT_TOKEN }}
|
20
|
+
fork: true
|
21
|
+
release-type: ruby
|
22
|
+
package-name: google-auth-library-ruby
|
23
|
+
version-file: lib/googleauth/version.rb
|
24
|
+
monorepo-tags: true
|
25
|
+
bump-minor-pre-major: true
|
26
|
+
- name: ReleaseLabel
|
27
|
+
id: release-label
|
28
|
+
if: ${{ steps.release-please.outputs.pr }}
|
29
|
+
uses: actions/github-script@v4
|
30
|
+
with:
|
31
|
+
github-token: ${{secrets.YOSHI_APPROVER_TOKEN}}
|
32
|
+
script: |
|
33
|
+
core.info("Labeling release");
|
34
|
+
github.issues.addLabels({
|
35
|
+
owner: 'googleapis',
|
36
|
+
repo: 'google-auth-library-ruby',
|
37
|
+
issue_number: ${{ steps.release-please.outputs.pr }},
|
38
|
+
labels: ["autorelease: pending"]
|
39
|
+
});
|
data/.gitignore
CHANGED
@@ -0,0 +1,76 @@
|
|
1
|
+
#!/bin/bash
|
2
|
+
# Copyright 2020 Google LLC.
|
3
|
+
#
|
4
|
+
# Licensed under the Apache License, Version 2.0 (the "License");
|
5
|
+
# you may not use this file except in compliance with the License.
|
6
|
+
# You may obtain a copy of the License at
|
7
|
+
#
|
8
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
9
|
+
#
|
10
|
+
# Unless required by applicable law or agreed to in writing, software
|
11
|
+
# distributed under the License is distributed on an "AS IS" BASIS,
|
12
|
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
13
|
+
# See the License for the specific language governing permissions and
|
14
|
+
# limitations under the License.
|
15
|
+
|
16
|
+
# This file is called in the early stage of `trampoline_v2.sh` to
|
17
|
+
# populate secrets needed for the CI builds.
|
18
|
+
|
19
|
+
set -eo pipefail
|
20
|
+
|
21
|
+
function now { date +"%Y-%m-%d %H:%M:%S" | tr -d '\n' ;}
|
22
|
+
function msg { println "$*" >&2 ;}
|
23
|
+
function println { printf '%s\n' "$(now) $*" ;}
|
24
|
+
|
25
|
+
# Populates requested secrets set in SECRET_MANAGER_KEYS
|
26
|
+
|
27
|
+
# In Kokoro CI builds, we use the service account attached to the
|
28
|
+
# Kokoro VM. This means we need to setup auth on other CI systems.
|
29
|
+
# For local run, we just use the gcloud command for retrieving the
|
30
|
+
# secrets.
|
31
|
+
|
32
|
+
if [[ "${RUNNING_IN_CI:-}" == "true" ]]; then
|
33
|
+
GCLOUD_COMMANDS=(
|
34
|
+
"docker"
|
35
|
+
"run"
|
36
|
+
"--entrypoint=gcloud"
|
37
|
+
"--volume=${KOKORO_GFILE_DIR}:${KOKORO_GFILE_DIR}"
|
38
|
+
"gcr.io/google.com/cloudsdktool/cloud-sdk"
|
39
|
+
)
|
40
|
+
if [[ "${TRAMPOLINE_CI:-}" == "kokoro" ]]; then
|
41
|
+
SECRET_LOCATION="${KOKORO_GFILE_DIR}/secret_manager"
|
42
|
+
else
|
43
|
+
echo "Authentication for this CI system is not implemented yet."
|
44
|
+
exit 2
|
45
|
+
# TODO: Determine appropriate SECRET_LOCATION and the GCLOUD_COMMANDS.
|
46
|
+
fi
|
47
|
+
else
|
48
|
+
# For local run, use /dev/shm or temporary directory for
|
49
|
+
# KOKORO_GFILE_DIR.
|
50
|
+
if [[ -d "/dev/shm" ]]; then
|
51
|
+
export KOKORO_GFILE_DIR=/dev/shm
|
52
|
+
else
|
53
|
+
export KOKORO_GFILE_DIR=$(mktemp -d -t ci-XXXXXXXX)
|
54
|
+
fi
|
55
|
+
SECRET_LOCATION="${KOKORO_GFILE_DIR}/secret_manager"
|
56
|
+
GCLOUD_COMMANDS=("gcloud")
|
57
|
+
fi
|
58
|
+
|
59
|
+
msg "Creating folder on disk for secrets: ${SECRET_LOCATION}"
|
60
|
+
mkdir -p ${SECRET_LOCATION}
|
61
|
+
|
62
|
+
for key in $(echo ${SECRET_MANAGER_KEYS} | sed "s/,/ /g")
|
63
|
+
do
|
64
|
+
msg "Retrieving secret ${key}"
|
65
|
+
"${GCLOUD_COMMANDS[@]}" \
|
66
|
+
secrets versions access latest \
|
67
|
+
--project cloud-devrel-kokoro-resources \
|
68
|
+
--secret $key > \
|
69
|
+
"$SECRET_LOCATION/$key"
|
70
|
+
if [[ $? == 0 ]]; then
|
71
|
+
msg "Secret written to ${SECRET_LOCATION}/${key}"
|
72
|
+
else
|
73
|
+
msg "Error retrieving secret ${key}"
|
74
|
+
exit 2
|
75
|
+
fi
|
76
|
+
done
|
data/.kokoro/release.cfg
ADDED
@@ -0,0 +1,52 @@
|
|
1
|
+
# Format: //devtools/kokoro/config/proto/build.proto
|
2
|
+
|
3
|
+
# Build logs will be here
|
4
|
+
action {
|
5
|
+
define_artifacts {
|
6
|
+
regex: "**/*sponge_log.xml"
|
7
|
+
}
|
8
|
+
}
|
9
|
+
|
10
|
+
# Fetch the token needed for reporting release status to GitHub
|
11
|
+
before_action {
|
12
|
+
fetch_keystore {
|
13
|
+
keystore_resource {
|
14
|
+
keystore_config_id: 73713
|
15
|
+
keyname: "yoshi-automation-github-key"
|
16
|
+
}
|
17
|
+
}
|
18
|
+
}
|
19
|
+
|
20
|
+
before_action {
|
21
|
+
fetch_keystore {
|
22
|
+
keystore_resource {
|
23
|
+
keystore_config_id: 73713
|
24
|
+
keyname: "docuploader_service_account"
|
25
|
+
}
|
26
|
+
}
|
27
|
+
}
|
28
|
+
|
29
|
+
# Download resources for system tests (service account key, etc.)
|
30
|
+
gfile_resources: "/bigstore/cloud-devrel-kokoro-resources/google-cloud-ruby"
|
31
|
+
|
32
|
+
# Download trampoline resources.
|
33
|
+
gfile_resources: "/bigstore/cloud-devrel-kokoro-resources/trampoline"
|
34
|
+
|
35
|
+
# Use the trampoline script to run in docker.
|
36
|
+
build_file: "google-auth-library-ruby/.kokoro/trampoline_v2.sh"
|
37
|
+
|
38
|
+
# Configure the docker image for kokoro-trampoline.
|
39
|
+
env_vars: {
|
40
|
+
key: "TRAMPOLINE_IMAGE"
|
41
|
+
value: "gcr.io/cloud-devrel-kokoro-resources/yoshi-ruby/release"
|
42
|
+
}
|
43
|
+
|
44
|
+
env_vars: {
|
45
|
+
key: "TRAMPOLINE_BUILD_FILE"
|
46
|
+
value: ".kokoro/release.sh"
|
47
|
+
}
|
48
|
+
|
49
|
+
env_vars: {
|
50
|
+
key: "SECRET_MANAGER_KEYS"
|
51
|
+
value: "releasetool-publish-reporter-app,releasetool-publish-reporter-googleapis-installation,releasetool-publish-reporter-pem"
|
52
|
+
}
|
data/.kokoro/release.sh
ADDED
@@ -0,0 +1,18 @@
|
|
1
|
+
#!/bin/bash
|
2
|
+
|
3
|
+
set -eo pipefail
|
4
|
+
|
5
|
+
# Install gems in the user directory because the default install directory
|
6
|
+
# is in a read-only location.
|
7
|
+
export GEM_HOME=$HOME/.gem
|
8
|
+
export PATH=$GEM_HOME/bin:$PATH
|
9
|
+
|
10
|
+
python3 -m pip install git+https://github.com/googleapis/releasetool
|
11
|
+
python3 -m pip install gcp-docuploader
|
12
|
+
gem install --no-document toys
|
13
|
+
bundle install
|
14
|
+
|
15
|
+
python3 -m releasetool publish-reporter-script > /tmp/publisher-script; source /tmp/publisher-script
|
16
|
+
|
17
|
+
toys kokoro publish-gem < /dev/null
|
18
|
+
toys kokoro publish-docs < /dev/null
|