Skip to content
Permalink
Browse files
feat: make repo releasable, add parent/bom (#1)
  • Loading branch information
chingor13 committed Oct 15, 2019
1 parent 752922f commit b524cdb477fefd333cbd89c843e50813dc67205f
Showing with 2,040 additions and 106 deletions.
  1. +51 −0 .github/ISSUE_TEMPLATE/bug_report.md
  2. +21 −0 .github/ISSUE_TEMPLATE/feature_request.md
  3. +7 −0 .github/ISSUE_TEMPLATE/support_request.md
  4. +1 −0 .github/PULL_REQUEST_TEMPLATE.md
  5. +1 −0 .github/release-please.yml
  6. +3 −0 .kokoro/build.bat
  7. +54 −0 .kokoro/build.sh
  8. +13 −0 .kokoro/common.cfg
  9. +24 −0 .kokoro/continuous/common.cfg
  10. +12 −0 .kokoro/continuous/dependencies.cfg
  11. +7 −0 .kokoro/continuous/integration.cfg
  12. +7 −0 .kokoro/continuous/java11.cfg
  13. +7 −0 .kokoro/continuous/java7.cfg
  14. +3 −0 .kokoro/continuous/java8-osx.cfg
  15. +3 −0 .kokoro/continuous/java8-win.cfg
  16. +7 −0 .kokoro/continuous/java8.cfg
  17. +13 −0 .kokoro/continuous/lint.cfg
  18. +53 −0 .kokoro/continuous/propose_release.cfg
  19. +29 −0 .kokoro/continuous/propose_release.sh
  20. +27 −0 .kokoro/dependencies.sh
  21. +33 −0 .kokoro/linkage-monitor.sh
  22. +24 −0 .kokoro/nightly/common.cfg
  23. +12 −0 .kokoro/nightly/dependencies.cfg
  24. +7 −0 .kokoro/nightly/integration.cfg
  25. +7 −0 .kokoro/nightly/java11.cfg
  26. +7 −0 .kokoro/nightly/java7.cfg
  27. +3 −0 .kokoro/nightly/java8-osx.cfg
  28. +3 −0 .kokoro/nightly/java8-win.cfg
  29. +7 −0 .kokoro/nightly/java8.cfg
  30. +13 −0 .kokoro/nightly/lint.cfg
  31. +33 −0 .kokoro/presubmit/common.cfg
  32. +12 −0 .kokoro/presubmit/dependencies.cfg
  33. +31 −0 .kokoro/presubmit/integration.cfg
  34. +7 −0 .kokoro/presubmit/java11.cfg
  35. +7 −0 .kokoro/presubmit/java7.cfg
  36. +3 −0 .kokoro/presubmit/java8-osx.cfg
  37. +3 −0 .kokoro/presubmit/java8-win.cfg
  38. +7 −0 .kokoro/presubmit/java8.cfg
  39. +12 −0 .kokoro/presubmit/linkage-monitor.cfg
  40. +13 −0 .kokoro/presubmit/lint.cfg
  41. +53 −0 .kokoro/release/bump_snapshot.cfg
  42. +30 −0 .kokoro/release/bump_snapshot.sh
  43. +49 −0 .kokoro/release/common.cfg
  44. +50 −0 .kokoro/release/common.sh
  45. +9 −0 .kokoro/release/drop.cfg
  46. +32 −0 .kokoro/release/drop.sh
  47. +10 −0 .kokoro/release/promote.cfg
  48. +34 −0 .kokoro/release/promote.sh
  49. +19 −0 .kokoro/release/publish_javadoc.cfg
  50. +55 −0 .kokoro/release/publish_javadoc.sh
  51. +6 −0 .kokoro/release/snapshot.cfg
  52. +33 −0 .kokoro/release/snapshot.sh
  53. +44 −0 .kokoro/release/stage.cfg
  54. +41 −0 .kokoro/release/stage.sh
  55. +24 −0 .kokoro/trampoline.sh
  56. +2 −2 {google-cloud-iamcredentials → }/.repo-metadata.json
  57. +93 −0 CODE_OF_CONDUCT.md
  58. +28 −0 CONTRIBUTING.md
  59. +3 −2 LICENSE
  60. 0 {google-cloud-iamcredentials → }/README.md
  61. +4 −0 codecov.yaml
  62. +93 −0 google-cloud-iamcredentials-bom/pom.xml
  63. +67 −37 google-cloud-iamcredentials/pom.xml
  64. +32 −28 grpc-google-cloud-iamcredentials-v1/pom.xml
  65. +15 −0 ...cloud-iamcredentials-v1/src/main/java/com/google/cloud/iam/credentials/v1/IAMCredentialsGrpc.java
  66. +15 −0 java.header
  67. +10 −0 license-checks.xml
  68. +256 −0 pom.xml
  69. +11 −14 proto-google-cloud-iamcredentials-v1/pom.xml
  70. +15 −0 ...mcredentials-v1/src/main/java/com/google/cloud/iam/credentials/v1/GenerateAccessTokenRequest.java
  71. +15 −0 ...als-v1/src/main/java/com/google/cloud/iam/credentials/v1/GenerateAccessTokenRequestOrBuilder.java
  72. +15 −0 ...credentials-v1/src/main/java/com/google/cloud/iam/credentials/v1/GenerateAccessTokenResponse.java
  73. +15 −0 ...ls-v1/src/main/java/com/google/cloud/iam/credentials/v1/GenerateAccessTokenResponseOrBuilder.java
  74. +15 −0 ...d-iamcredentials-v1/src/main/java/com/google/cloud/iam/credentials/v1/GenerateIdTokenRequest.java
  75. +15 −0 ...entials-v1/src/main/java/com/google/cloud/iam/credentials/v1/GenerateIdTokenRequestOrBuilder.java
  76. +15 −0 ...-iamcredentials-v1/src/main/java/com/google/cloud/iam/credentials/v1/GenerateIdTokenResponse.java
  77. +15 −0 ...ntials-v1/src/main/java/com/google/cloud/iam/credentials/v1/GenerateIdTokenResponseOrBuilder.java
  78. +15 −0 ...amcredentials-v1/src/main/java/com/google/cloud/iam/credentials/v1/IAMCredentialsCommonProto.java
  79. +15 −0 ...loud-iamcredentials-v1/src/main/java/com/google/cloud/iam/credentials/v1/IAMCredentialsProto.java
  80. +10 −8 ...cloud-iamcredentials-v1/src/main/java/com/google/cloud/iam/credentials/v1/ServiceAccountName.java
  81. +15 −0 ...le-cloud-iamcredentials-v1/src/main/java/com/google/cloud/iam/credentials/v1/SignBlobRequest.java
  82. +15 −0 ...iamcredentials-v1/src/main/java/com/google/cloud/iam/credentials/v1/SignBlobRequestOrBuilder.java
  83. +15 −0 ...e-cloud-iamcredentials-v1/src/main/java/com/google/cloud/iam/credentials/v1/SignBlobResponse.java
  84. +15 −0 ...amcredentials-v1/src/main/java/com/google/cloud/iam/credentials/v1/SignBlobResponseOrBuilder.java
  85. +15 −0 ...gle-cloud-iamcredentials-v1/src/main/java/com/google/cloud/iam/credentials/v1/SignJwtRequest.java
  86. +15 −0 ...-iamcredentials-v1/src/main/java/com/google/cloud/iam/credentials/v1/SignJwtRequestOrBuilder.java
  87. +15 −0 ...le-cloud-iamcredentials-v1/src/main/java/com/google/cloud/iam/credentials/v1/SignJwtResponse.java
  88. +15 −0 ...iamcredentials-v1/src/main/java/com/google/cloud/iam/credentials/v1/SignJwtResponseOrBuilder.java
  89. +27 −0 renovate.json
  90. +12 −5 {google-cloud-iamcredentials → }/synth.metadata
  91. +10 −10 {google-cloud-iamcredentials → }/synth.py
  92. +6 −0 versions.txt
@@ -0,0 +1,51 @@
---
name: Bug report
about: Create a report to help us improve

---

Thanks for stopping by to let us know something could be better!

**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.

Please run down the following list and make sure you've tried the usual "quick fixes":

- Search the issues already opened: https://github.com/googleapis/java-iamcredentials/issues
- Check for answers on StackOverflow: http://stackoverflow.com/questions/tagged/google-cloud-platform

If you are still having issues, please include as much information as possible:

#### Environment details

1. Specify the API at the beginning of the title. For example, "BigQuery: ...").
General, Core, and Other are also allowed as types
2. OS type and version:
3. Java version:
4. iamcredentials version(s):

#### Steps to reproduce

1. ?
2. ?

#### Code example

```java
// example
```

#### Stack trace
```
Any relevant stacktrace here.
```

#### External references such as API reference guides

- ?

#### Any additional information below


Following these steps guarantees the quickest resolution possible.

Thanks!
@@ -0,0 +1,21 @@
---
name: Feature request
about: Suggest an idea for this library

---

Thanks for stopping by to let us know something could be better!

**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.

**Is your feature request related to a problem? Please describe.**
What the problem is. Example: I'm always frustrated when [...]

**Describe the solution you'd like**
What you want to happen.

**Describe alternatives you've considered**
Any alternative solutions or features you've considered.

**Additional context**
Any other context or screenshots about the feature request.
@@ -0,0 +1,7 @@
---
name: Support request
about: If you have a support contract with Google, please create an issue in the Google Cloud Support console.

---

**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 @@
Fixes #<issue_number_goes_here> (it's a good idea to open an issue first for context and/or discussion)
@@ -0,0 +1 @@
releaseType: java-yoshi
@@ -0,0 +1,3 @@
:: See documentation in type-shell-output.bat

"C:\Program Files\Git\bin\bash.exe" github/java-iamcredentials/.kokoro/build.sh
@@ -0,0 +1,54 @@
#!/bin/bash
# Copyright 2019 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
#
# 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

## Get the directory of the build script
scriptDir=$(realpath $(dirname "${BASH_SOURCE[0]}"))
## cd to the parent directory, i.e. the root of the git repo
cd ${scriptDir}/..

# Print out Java version
java -version
echo ${JOB_TYPE}

mvn install -B -V \
-DskipTests=true \
-Dmaven.javadoc.skip=true \
-Dgcloud.download.skip=true \
-T 1C

# if GOOGLE_APPLICATION_CREDIENTIALS is specified as a relative path prepend Kokoro root directory onto it
if [[ ! -z "${GOOGLE_APPLICATION_CREDENTIALS}" && "${GOOGLE_APPLICATION_CREDENTIALS}" != /* ]]; then
export GOOGLE_APPLICATION_CREDENTIALS=$(realpath ${KOKORO_ROOT}/src/${GOOGLE_APPLICATION_CREDENTIALS})
fi

case ${JOB_TYPE} in
test)
mvn test -B
bash ${KOKORO_GFILE_DIR}/codecov.sh
;;
lint)
mvn com.coveo:fmt-maven-plugin:check
;;
javadoc)
mvn javadoc:javadoc javadoc:test-javadoc
;;
integration)
mvn -B ${INTEGRATION_TEST_ARGS} -DtrimStackTrace=false -fae verify
;;
*)
;;
esac
@@ -0,0 +1,13 @@
# Format: //devtools/kokoro/config/proto/build.proto

# Download trampoline resources. These will be in ${KOKORO_GFILE_DIR}
gfile_resources: "/bigstore/cloud-devrel-kokoro-resources/trampoline"

# All builds use the trampoline script to run in docker.
build_file: "java-iamcredentials/.kokoro/trampoline.sh"

# Tell the trampoline which build file to use.
env_vars: {
key: "TRAMPOLINE_BUILD_FILE"
value: "github/java-iamcredentials/.kokoro/build.sh"
}
@@ -0,0 +1,24 @@
# 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: "java-iamcredentials/.kokoro/trampoline.sh"

env_vars: {
key: "TRAMPOLINE_BUILD_FILE"
value: "github/java-iamcredentials/.kokoro/build.sh"
}

env_vars: {
key: "JOB_TYPE"
value: "test"
}
@@ -0,0 +1,12 @@
# Format: //devtools/kokoro/config/proto/build.proto

# Configure the docker image for kokoro-trampoline.
env_vars: {
key: "TRAMPOLINE_IMAGE"
value: "gcr.io/cloud-devrel-kokoro-resources/java8"
}

env_vars: {
key: "TRAMPOLINE_BUILD_FILE"
value: "github/java-iamcredentials/.kokoro/dependencies.sh"
}
@@ -0,0 +1,7 @@
# Format: //devtools/kokoro/config/proto/build.proto

# Configure the docker image for kokoro-trampoline.
env_vars: {
key: "TRAMPOLINE_IMAGE"
value: "gcr.io/cloud-devrel-kokoro-resources/java8"
}
@@ -0,0 +1,7 @@
# Format: //devtools/kokoro/config/proto/build.proto

# Configure the docker image for kokoro-trampoline.
env_vars: {
key: "TRAMPOLINE_IMAGE"
value: "gcr.io/cloud-devrel-kokoro-resources/java11"
}
@@ -0,0 +1,7 @@
# Format: //devtools/kokoro/config/proto/build.proto

# Configure the docker image for kokoro-trampoline.
env_vars: {
key: "TRAMPOLINE_IMAGE"
value: "gcr.io/cloud-devrel-kokoro-resources/java7"
}
@@ -0,0 +1,3 @@
# Format: //devtools/kokoro/config/proto/build.proto

build_file: "java-iamcredentials/.kokoro/build.sh"
@@ -0,0 +1,3 @@
# Format: //devtools/kokoro/config/proto/build.proto

build_file: "java-iamcredentials/.kokoro/build.bat"
@@ -0,0 +1,7 @@
# Format: //devtools/kokoro/config/proto/build.proto

# Configure the docker image for kokoro-trampoline.
env_vars: {
key: "TRAMPOLINE_IMAGE"
value: "gcr.io/cloud-devrel-kokoro-resources/java8"
}
@@ -0,0 +1,13 @@
# Format: //devtools/kokoro/config/proto/build.proto

# Configure the docker image for kokoro-trampoline.

env_vars: {
key: "TRAMPOLINE_IMAGE"
value: "gcr.io/cloud-devrel-kokoro-resources/java8"
}

env_vars: {
key: "JOB_TYPE"
value: "lint"
}
@@ -0,0 +1,53 @@
# 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: "java-iamcredentials/.kokoro/trampoline.sh"

# Configure the docker image for kokoro-trampoline.
env_vars: {
key: "TRAMPOLINE_IMAGE"
value: "gcr.io/cloud-devrel-kokoro-resources/node:10-user"
}

env_vars: {
key: "TRAMPOLINE_BUILD_FILE"
value: "github/java-iamcredentials/.kokoro/continuous/propose_release.sh"
}

# tokens used by release-please to keep an up-to-date release PR.
before_action {
fetch_keystore {
keystore_resource {
keystore_config_id: 73713
keyname: "github-magic-proxy-key-release-please"
}
}
}

before_action {
fetch_keystore {
keystore_resource {
keystore_config_id: 73713
keyname: "github-magic-proxy-token-release-please"
}
}
}

before_action {
fetch_keystore {
keystore_resource {
keystore_config_id: 73713
keyname: "github-magic-proxy-url-release-please"
}
}
}
@@ -0,0 +1,29 @@
#!/bin/bash

# Copyright 2019 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

export NPM_CONFIG_PREFIX=/home/node/.npm-global

if [ -f ${KOKORO_KEYSTORE_DIR}/73713_github-magic-proxy-url-release-please ]; then
# Groom the release PR as new commits are merged.
npx release-please release-pr --token=${KOKORO_KEYSTORE_DIR}/73713_github-magic-proxy-token-release-please \
--repo-url=googleapis/java-iamcredentials \
--package-name="iamcredentials" \
--api-url=${KOKORO_KEYSTORE_DIR}/73713_github-magic-proxy-url-release-please \
--proxy-key=${KOKORO_KEYSTORE_DIR}/73713_github-magic-proxy-key-release-please \
--release-type=java-yoshi
fi
@@ -0,0 +1,27 @@
#!/bin/bash
# Copyright 2019 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
#
# 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

cd github/java-iamcredentials/

# Print out Java
java -version
echo $JOB_TYPE

export MAVEN_OPTS="-Xmx1024m -XX:MaxPermSize=128m"

mvn install -DskipTests=true -B -V
mvn -B dependency:analyze -DfailOnWarning=true
@@ -0,0 +1,33 @@
#!/bin/bash
# Copyright 2019 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
#
# 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
# Display commands being run.
set -x

cd github/java-iamcredentials/

# Print out Java version
java -version
echo ${JOB_TYPE}

mvn install -DskipTests=true -Dmaven.javadoc.skip=true -Dgcloud.download.skip=true -B -V

# Kokoro job cloud-opensource-java/ubuntu/linkage-monitor-gcs creates this JAR
JAR=linkage-monitor-latest-all-deps.jar
curl -v -O "https://storage.googleapis.com/cloud-opensource-java-linkage-monitor/${JAR}"

# Fails if there's new linkage errors compared with baseline
java -jar ${JAR} com.google.cloud:libraries-bom

0 comments on commit b524cdb

Please sign in to comment.