• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1---
2name: DIREGAPIC Updater
3on:  # yamllint disable-line rule:truthy
4  schedule:
5  - cron: '19 */8 * * *'
6  workflow_dispatch:
7
8jobs:
9  regenerate-compute:
10    if: github.repository == 'googleapis/googleapis'
11    runs-on: ubuntu-latest
12    container: gcr.io/gapic-images/googleapis:20230531
13    steps:
14    - name: Checkout master
15      uses: actions/checkout@v3
16      with:
17        ref: master
18    - name: Download discovery docs
19      run: |
20        curl https://www.googleapis.com/discovery/v1/apis/compute/v1/rest --output google/cloud/compute/v1/compute.v1.json
21        echo compute_revision=$(grep -oP '"revision":\s*"\d+"' google/cloud/compute/v1/compute.v1.json | grep -oP '\d+') >> $GITHUB_ENV
22    - name: Regenerate API definitions
23      run: |
24        git config --global --add safe.directory /__w/googleapis/googleapis
25        bazelisk build --experimental_convenience_symlinks=normal //google/cloud/compute/v1:compute_gen
26        cp bazel-bin/google/cloud/compute/v1/compute_gen.proto google/cloud/compute/v1/compute.proto
27        bazelisk build --experimental_convenience_symlinks=normal //google/cloud/compute/v1:compute_grpc_service_config_gen
28        cp bazel-bin/google/cloud/compute/v1/compute_grpc_service_config_gen.json google/cloud/compute/v1/compute_grpc_service_config.json
29        bazelisk build --experimental_convenience_symlinks=normal //google/cloud/compute/v1:compute_gapic_gen
30        cp bazel-bin/google/cloud/compute/v1/compute_gapic_gen.yaml google/cloud/compute/v1/compute_gapic.yaml
31        echo api_changes=$(git diff-index --shortstat HEAD) >> $GITHUB_ENV
32    - name: Build GAPIC clients
33      if: contains(env.api_changes, 'file')
34      run: |
35        bazelisk build --experimental_convenience_symlinks=normal //google/cloud/compute/v1/...
36        bazelisk build --experimental_convenience_symlinks=normal //google/cloud/compute/v1/...
37    - name: Create PR
38      uses: googleapis/code-suggester@v2
39      env:
40        ACCESS_TOKEN: ${{ secrets.YOSHI_CODE_BOT_TOKEN }}
41      with:
42        command: pr
43        upstream_owner: googleapis
44        upstream_repo: googleapis
45        title: 'feat: [DIREGAPIC] Update API definitions'
46        description: 'feat: Update Compute Engine API to revision ${{ env.compute_revision }}'
47        message: 'feat: Update Compute Engine API to revision ${{ env.compute_revision }}'
48        primary: 'master'
49        branch: diregapic
50        git_dir: '.'
51        force: true
52        fork: true
53