Skip to content
This repository was archived by the owner on Sep 16, 2023. It is now read-only.

build(ci): enable auto-release for dependency-update-only releases #5

Merged
merged 1 commit into from
Sep 21, 2020
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
69 changes: 69 additions & 0 deletions .github/workflows/auto-release.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,69 @@
on:
pull_request:
name: auto-release
jobs:
approve:
runs-on: ubuntu-latest
steps:
- uses: actions/github-script@v3.0.0
with:
github-token: ${{secrets.GITHUB_TOKEN}}
debug: true
script: |
// only approve PRs from release-please[bot]
if (context.payload.pull_request.user.login !== "release-please[bot]") {
return;
}

// only approve PRs like "chore: release <release version>"
if ( !context.payload.pull_request.title.startsWith("chore: release") ) {
return;
}

// trigger auto-release when
// 1) it is a SNAPSHOT release (auto-generated post regular release)
// 2) there are dependency updates only
// 3) there are no open dependency update PRs in this repo (to avoid multiple releases)
if (
context.payload.pull_request.body.includes("Fix") ||
context.payload.pull_request.body.includes("Build") ||
context.payload.pull_request.body.includes("Documentation") ||
context.payload.pull_request.body.includes("BREAKING CHANGES") ||
context.payload.pull_request.body.includes("Features")
) {
console.log( "Not auto-releasing since it is not a dependency-update-only release." );
return;
}

const promise = github.pulls.list.endpoint({
owner: context.repo.owner,
repo: context.repo.repo,
state: 'open'
});
const open_pulls = await github.paginate(promise)

if ( open_pulls.length > 1 && !context.payload.pull_request.title.includes("SNAPSHOT") ) {
for ( const pull of open_pulls ) {
if ( pull.title.startsWith("deps: update dependency") ) {
console.log( "Not auto-releasing yet since there are dependency update PRs open in this repo." );
return;
}
}
}

// approve release PR
await github.pulls.createReview({
owner: context.repo.owner,
repo: context.repo.repo,
body: 'Rubber stamped release!',
pull_number: context.payload.pull_request.number,
event: 'APPROVE'
});

// attach kokoro:force-run and automerge labels
await github.issues.addLabels({
owner: context.repo.owner,
repo: context.repo.repo,
issue_number: context.payload.pull_request.number,
labels: ['kokoro:force-run', 'automerge']
});
154 changes: 151 additions & 3 deletions synth.metadata
Original file line number Diff line number Diff line change
Expand Up @@ -3,8 +3,8 @@
{
"git": {
"name": ".",
"remote": "sso://devrel/cloud/libraries/java/repo-splitter",
"sha": "3c04e9efa0aad6db63fd02cf402018bc9ecedba9"
"remote": "https://github.com/googleapis/java-video-transcoder.git",
"sha": "5d1cd67393eeb162eec8c24a76325a9cc7fffc6d"
}
},
{
Expand All @@ -19,7 +19,7 @@
"git": {
"name": "synthtool",
"remote": "https://github.com/googleapis/synthtool.git",
"sha": "fdd03c161003ab97657cc0218f25c82c89ddf4b6"
"sha": "538a68019eb4a36a0cdfa4021f324dd01b784395"
}
}
],
Expand All @@ -33,5 +33,153 @@
"generator": "bazel"
}
}
],
"generatedFiles": [
".github/CODEOWNERS",
".github/ISSUE_TEMPLATE/bug_report.md",
".github/ISSUE_TEMPLATE/feature_request.md",
".github/ISSUE_TEMPLATE/support_request.md",
".github/PULL_REQUEST_TEMPLATE.md",
".github/release-please.yml",
".github/trusted-contribution.yml",
".github/workflows/auto-release.yaml",
".github/workflows/ci.yaml",
".github/workflows/samples.yaml",
".kokoro/build.bat",
".kokoro/build.sh",
".kokoro/coerce_logs.sh",
".kokoro/common.cfg",
".kokoro/common.sh",
".kokoro/continuous/common.cfg",
".kokoro/continuous/java8.cfg",
".kokoro/dependencies.sh",
".kokoro/linkage-monitor.sh",
".kokoro/nightly/common.cfg",
".kokoro/nightly/integration.cfg",
".kokoro/nightly/java11.cfg",
".kokoro/nightly/java7.cfg",
".kokoro/nightly/java8-osx.cfg",
".kokoro/nightly/java8-win.cfg",
".kokoro/nightly/java8.cfg",
".kokoro/nightly/samples.cfg",
".kokoro/populate-secrets.sh",
".kokoro/presubmit/clirr.cfg",
".kokoro/presubmit/common.cfg",
".kokoro/presubmit/dependencies.cfg",
".kokoro/presubmit/integration.cfg",
".kokoro/presubmit/java11.cfg",
".kokoro/presubmit/java7.cfg",
".kokoro/presubmit/java8-osx.cfg",
".kokoro/presubmit/java8-win.cfg",
".kokoro/presubmit/java8.cfg",
".kokoro/presubmit/linkage-monitor.cfg",
".kokoro/presubmit/lint.cfg",
".kokoro/presubmit/samples.cfg",
".kokoro/release/bump_snapshot.cfg",
".kokoro/release/common.cfg",
".kokoro/release/common.sh",
".kokoro/release/drop.cfg",
".kokoro/release/drop.sh",
".kokoro/release/promote.cfg",
".kokoro/release/promote.sh",
".kokoro/release/publish_javadoc.cfg",
".kokoro/release/publish_javadoc.sh",
".kokoro/release/snapshot.cfg",
".kokoro/release/snapshot.sh",
".kokoro/release/stage.cfg",
".kokoro/release/stage.sh",
".kokoro/trampoline.sh",
"CODE_OF_CONDUCT.md",
"CONTRIBUTING.md",
"LICENSE",
"README.md",
"codecov.yaml",
"google-cloud-video-transcoder/src/main/java/com/google/cloud/video/transcoder/v1beta1/TranscoderServiceClient.java",
"google-cloud-video-transcoder/src/main/java/com/google/cloud/video/transcoder/v1beta1/TranscoderServiceSettings.java",
"google-cloud-video-transcoder/src/main/java/com/google/cloud/video/transcoder/v1beta1/package-info.java",
"google-cloud-video-transcoder/src/main/java/com/google/cloud/video/transcoder/v1beta1/stub/GrpcTranscoderServiceCallableFactory.java",
"google-cloud-video-transcoder/src/main/java/com/google/cloud/video/transcoder/v1beta1/stub/GrpcTranscoderServiceStub.java",
"google-cloud-video-transcoder/src/main/java/com/google/cloud/video/transcoder/v1beta1/stub/TranscoderServiceStub.java",
"google-cloud-video-transcoder/src/main/java/com/google/cloud/video/transcoder/v1beta1/stub/TranscoderServiceStubSettings.java",
"google-cloud-video-transcoder/src/test/java/com/google/cloud/video/transcoder/v1beta1/MockTranscoderService.java",
"google-cloud-video-transcoder/src/test/java/com/google/cloud/video/transcoder/v1beta1/MockTranscoderServiceImpl.java",
"google-cloud-video-transcoder/src/test/java/com/google/cloud/video/transcoder/v1beta1/TranscoderServiceClientTest.java",
"grpc-google-cloud-video-transcoder-v1beta1/src/main/java/com/google/cloud/video/transcoder/v1beta1/TranscoderServiceGrpc.java",
"java.header",
"license-checks.xml",
"proto-google-cloud-video-transcoder-v1beta1/src/main/java/com/google/cloud/video/transcoder/v1beta1/AdBreak.java",
"proto-google-cloud-video-transcoder-v1beta1/src/main/java/com/google/cloud/video/transcoder/v1beta1/AdBreakOrBuilder.java",
"proto-google-cloud-video-transcoder-v1beta1/src/main/java/com/google/cloud/video/transcoder/v1beta1/AudioStream.java",
"proto-google-cloud-video-transcoder-v1beta1/src/main/java/com/google/cloud/video/transcoder/v1beta1/AudioStreamOrBuilder.java",
"proto-google-cloud-video-transcoder-v1beta1/src/main/java/com/google/cloud/video/transcoder/v1beta1/CreateJobRequest.java",
"proto-google-cloud-video-transcoder-v1beta1/src/main/java/com/google/cloud/video/transcoder/v1beta1/CreateJobRequestOrBuilder.java",
"proto-google-cloud-video-transcoder-v1beta1/src/main/java/com/google/cloud/video/transcoder/v1beta1/CreateJobTemplateRequest.java",
"proto-google-cloud-video-transcoder-v1beta1/src/main/java/com/google/cloud/video/transcoder/v1beta1/CreateJobTemplateRequestOrBuilder.java",
"proto-google-cloud-video-transcoder-v1beta1/src/main/java/com/google/cloud/video/transcoder/v1beta1/DeleteJobRequest.java",
"proto-google-cloud-video-transcoder-v1beta1/src/main/java/com/google/cloud/video/transcoder/v1beta1/DeleteJobRequestOrBuilder.java",
"proto-google-cloud-video-transcoder-v1beta1/src/main/java/com/google/cloud/video/transcoder/v1beta1/DeleteJobTemplateRequest.java",
"proto-google-cloud-video-transcoder-v1beta1/src/main/java/com/google/cloud/video/transcoder/v1beta1/DeleteJobTemplateRequestOrBuilder.java",
"proto-google-cloud-video-transcoder-v1beta1/src/main/java/com/google/cloud/video/transcoder/v1beta1/EditAtom.java",
"proto-google-cloud-video-transcoder-v1beta1/src/main/java/com/google/cloud/video/transcoder/v1beta1/EditAtomOrBuilder.java",
"proto-google-cloud-video-transcoder-v1beta1/src/main/java/com/google/cloud/video/transcoder/v1beta1/ElementaryStream.java",
"proto-google-cloud-video-transcoder-v1beta1/src/main/java/com/google/cloud/video/transcoder/v1beta1/ElementaryStreamOrBuilder.java",
"proto-google-cloud-video-transcoder-v1beta1/src/main/java/com/google/cloud/video/transcoder/v1beta1/Encryption.java",
"proto-google-cloud-video-transcoder-v1beta1/src/main/java/com/google/cloud/video/transcoder/v1beta1/EncryptionOrBuilder.java",
"proto-google-cloud-video-transcoder-v1beta1/src/main/java/com/google/cloud/video/transcoder/v1beta1/FailureDetail.java",
"proto-google-cloud-video-transcoder-v1beta1/src/main/java/com/google/cloud/video/transcoder/v1beta1/FailureDetailOrBuilder.java",
"proto-google-cloud-video-transcoder-v1beta1/src/main/java/com/google/cloud/video/transcoder/v1beta1/GetJobRequest.java",
"proto-google-cloud-video-transcoder-v1beta1/src/main/java/com/google/cloud/video/transcoder/v1beta1/GetJobRequestOrBuilder.java",
"proto-google-cloud-video-transcoder-v1beta1/src/main/java/com/google/cloud/video/transcoder/v1beta1/GetJobTemplateRequest.java",
"proto-google-cloud-video-transcoder-v1beta1/src/main/java/com/google/cloud/video/transcoder/v1beta1/GetJobTemplateRequestOrBuilder.java",
"proto-google-cloud-video-transcoder-v1beta1/src/main/java/com/google/cloud/video/transcoder/v1beta1/Input.java",
"proto-google-cloud-video-transcoder-v1beta1/src/main/java/com/google/cloud/video/transcoder/v1beta1/InputOrBuilder.java",
"proto-google-cloud-video-transcoder-v1beta1/src/main/java/com/google/cloud/video/transcoder/v1beta1/Job.java",
"proto-google-cloud-video-transcoder-v1beta1/src/main/java/com/google/cloud/video/transcoder/v1beta1/JobConfig.java",
"proto-google-cloud-video-transcoder-v1beta1/src/main/java/com/google/cloud/video/transcoder/v1beta1/JobConfigOrBuilder.java",
"proto-google-cloud-video-transcoder-v1beta1/src/main/java/com/google/cloud/video/transcoder/v1beta1/JobName.java",
"proto-google-cloud-video-transcoder-v1beta1/src/main/java/com/google/cloud/video/transcoder/v1beta1/JobOrBuilder.java",
"proto-google-cloud-video-transcoder-v1beta1/src/main/java/com/google/cloud/video/transcoder/v1beta1/JobTemplate.java",
"proto-google-cloud-video-transcoder-v1beta1/src/main/java/com/google/cloud/video/transcoder/v1beta1/JobTemplateName.java",
"proto-google-cloud-video-transcoder-v1beta1/src/main/java/com/google/cloud/video/transcoder/v1beta1/JobTemplateOrBuilder.java",
"proto-google-cloud-video-transcoder-v1beta1/src/main/java/com/google/cloud/video/transcoder/v1beta1/ListJobTemplatesRequest.java",
"proto-google-cloud-video-transcoder-v1beta1/src/main/java/com/google/cloud/video/transcoder/v1beta1/ListJobTemplatesRequestOrBuilder.java",
"proto-google-cloud-video-transcoder-v1beta1/src/main/java/com/google/cloud/video/transcoder/v1beta1/ListJobTemplatesResponse.java",
"proto-google-cloud-video-transcoder-v1beta1/src/main/java/com/google/cloud/video/transcoder/v1beta1/ListJobTemplatesResponseOrBuilder.java",
"proto-google-cloud-video-transcoder-v1beta1/src/main/java/com/google/cloud/video/transcoder/v1beta1/ListJobsRequest.java",
"proto-google-cloud-video-transcoder-v1beta1/src/main/java/com/google/cloud/video/transcoder/v1beta1/ListJobsRequestOrBuilder.java",
"proto-google-cloud-video-transcoder-v1beta1/src/main/java/com/google/cloud/video/transcoder/v1beta1/ListJobsResponse.java",
"proto-google-cloud-video-transcoder-v1beta1/src/main/java/com/google/cloud/video/transcoder/v1beta1/ListJobsResponseOrBuilder.java",
"proto-google-cloud-video-transcoder-v1beta1/src/main/java/com/google/cloud/video/transcoder/v1beta1/LocationName.java",
"proto-google-cloud-video-transcoder-v1beta1/src/main/java/com/google/cloud/video/transcoder/v1beta1/Manifest.java",
"proto-google-cloud-video-transcoder-v1beta1/src/main/java/com/google/cloud/video/transcoder/v1beta1/ManifestOrBuilder.java",
"proto-google-cloud-video-transcoder-v1beta1/src/main/java/com/google/cloud/video/transcoder/v1beta1/MuxStream.java",
"proto-google-cloud-video-transcoder-v1beta1/src/main/java/com/google/cloud/video/transcoder/v1beta1/MuxStreamOrBuilder.java",
"proto-google-cloud-video-transcoder-v1beta1/src/main/java/com/google/cloud/video/transcoder/v1beta1/Output.java",
"proto-google-cloud-video-transcoder-v1beta1/src/main/java/com/google/cloud/video/transcoder/v1beta1/OutputOrBuilder.java",
"proto-google-cloud-video-transcoder-v1beta1/src/main/java/com/google/cloud/video/transcoder/v1beta1/Overlay.java",
"proto-google-cloud-video-transcoder-v1beta1/src/main/java/com/google/cloud/video/transcoder/v1beta1/OverlayOrBuilder.java",
"proto-google-cloud-video-transcoder-v1beta1/src/main/java/com/google/cloud/video/transcoder/v1beta1/PreprocessingConfig.java",
"proto-google-cloud-video-transcoder-v1beta1/src/main/java/com/google/cloud/video/transcoder/v1beta1/PreprocessingConfigOrBuilder.java",
"proto-google-cloud-video-transcoder-v1beta1/src/main/java/com/google/cloud/video/transcoder/v1beta1/Progress.java",
"proto-google-cloud-video-transcoder-v1beta1/src/main/java/com/google/cloud/video/transcoder/v1beta1/ProgressOrBuilder.java",
"proto-google-cloud-video-transcoder-v1beta1/src/main/java/com/google/cloud/video/transcoder/v1beta1/PubsubDestination.java",
"proto-google-cloud-video-transcoder-v1beta1/src/main/java/com/google/cloud/video/transcoder/v1beta1/PubsubDestinationOrBuilder.java",
"proto-google-cloud-video-transcoder-v1beta1/src/main/java/com/google/cloud/video/transcoder/v1beta1/ResourcesProto.java",
"proto-google-cloud-video-transcoder-v1beta1/src/main/java/com/google/cloud/video/transcoder/v1beta1/SegmentSettings.java",
"proto-google-cloud-video-transcoder-v1beta1/src/main/java/com/google/cloud/video/transcoder/v1beta1/SegmentSettingsOrBuilder.java",
"proto-google-cloud-video-transcoder-v1beta1/src/main/java/com/google/cloud/video/transcoder/v1beta1/ServicesProto.java",
"proto-google-cloud-video-transcoder-v1beta1/src/main/java/com/google/cloud/video/transcoder/v1beta1/SpriteSheet.java",
"proto-google-cloud-video-transcoder-v1beta1/src/main/java/com/google/cloud/video/transcoder/v1beta1/SpriteSheetOrBuilder.java",
"proto-google-cloud-video-transcoder-v1beta1/src/main/java/com/google/cloud/video/transcoder/v1beta1/TextStream.java",
"proto-google-cloud-video-transcoder-v1beta1/src/main/java/com/google/cloud/video/transcoder/v1beta1/TextStreamOrBuilder.java",
"proto-google-cloud-video-transcoder-v1beta1/src/main/java/com/google/cloud/video/transcoder/v1beta1/VideoStream.java",
"proto-google-cloud-video-transcoder-v1beta1/src/main/java/com/google/cloud/video/transcoder/v1beta1/VideoStreamOrBuilder.java",
"proto-google-cloud-video-transcoder-v1beta1/src/main/proto/google/cloud/video/transcoder/v1beta1/resources.proto",
"proto-google-cloud-video-transcoder-v1beta1/src/main/proto/google/cloud/video/transcoder/v1beta1/services.proto",
"renovate.json",
"samples/install-without-bom/pom.xml",
"samples/pom.xml",
"samples/snapshot/pom.xml",
"samples/snippets/pom.xml"
]
}