diff --git a/.github/workflows/cloud-language.yaml b/.github/workflows/cloud-language.yaml new file mode 100644 index 0000000000..685190dbd1 --- /dev/null +++ b/.github/workflows/cloud-language.yaml @@ -0,0 +1,67 @@ +name: cloud-language +on: + push: + branches: + - main + paths: + - 'cloud-language/**' + pull_request: + paths: + - 'cloud-language/**' + pull_request_target: + types: [labeled] + schedule: + - cron: '0 0 * * 0' +jobs: + test: + if: ${{ github.event.action != 'labeled' || github.event.label.name == 'actions:force-run' }} + runs-on: ubuntu-latest + timeout-minutes: 60 + permissions: + contents: 'write' + pull-requests: 'write' + id-token: 'write' + steps: + - uses: actions/checkout@v3.1.0 + with: + ref: ${{github.event.pull_request.head.ref}} + repository: ${{github.event.pull_request.head.repo.full_name}} + - uses: 'google-github-actions/auth@v0.8.3' + with: + workload_identity_provider: 'projects/1046198160504/locations/global/workloadIdentityPools/github-actions-pool/providers/github-actions-provider' + service_account: 'kokoro-system-test@long-door-651.iam.gserviceaccount.com' + create_credentials_file: 'true' + access_token_lifetime: 600s + - uses: actions/setup-node@v3.5.1 + with: + node-version: 16 + - run: npm install + working-directory: cloud-language + - run: npm test + working-directory: cloud-language + env: + MOCHA_REPORTER_SUITENAME: cloud_language + MOCHA_REPORTER_OUTPUT: cloud_language_sponge_log.xml + MOCHA_REPORTER: xunit + - if: ${{ github.event.action == 'labeled' && github.event.label.name == 'actions:force-run' }} + uses: actions/github-script@v6 + with: + github-token: ${{ secrets.GITHUB_TOKEN }} + script: | + try { + await github.rest.issues.removeLabel({ + name: 'actions:force-run', + owner: 'GoogleCloudPlatform', + repo: 'nodejs-docs-samples', + issue_number: context.payload.pull_request.number + }); + } catch (e) { + if (!e.message.includes('Label does not exist')) { + throw e; + } + } + - if: ${{ github.event_name == 'schedule'}} + run: | + curl https://github.com/googleapis/repo-automation-bots/releases/download/flakybot-1.1.0/flakybot -o flakybot -s -L + chmod +x ./flakybot + ./flakybot --repo GoogleCloudPlatform/nodejs-docs-samples --commit_hash ${{github.sha}} --build_url https://github.com/${{github.repository}}/actions/runs/${{github.run_id}} diff --git a/.github/workflows/workflows.json b/.github/workflows/workflows.json index 93af217573..c1d81aa6e3 100644 --- a/.github/workflows/workflows.json +++ b/.github/workflows/workflows.json @@ -17,6 +17,7 @@ "appengine/typescript", "appengine/websockets", "appengine/twilio", + "cloud-language", "cloud-tasks/tutorial-gcf/app", "cloud-tasks/tutorial-gcf/function", "composer",