This PR was automatically generated by the rollout-single-native-provider-workflow workflow in the pulumi/ci-mgmt repo, from commit 50c552c6cdeb4eae0daff4be525adf0706f2513a.
533 lines
20 KiB
YAML
533 lines
20 KiB
YAML
# WARNING: This file is autogenerated - changes will be overwritten if not made via https://github.com/pulumi/ci-mgmt
|
|
|
|
name: run-acceptance-tests
|
|
on:
|
|
repository_dispatch:
|
|
types:
|
|
- run-acceptance-tests-command
|
|
pull_request:
|
|
paths-ignore:
|
|
- CHANGELOG.md
|
|
workflow_dispatch: {}
|
|
env:
|
|
GITHUB_TOKEN: ${{ secrets.PULUMI_BOT_TOKEN }}
|
|
PROVIDER: docker-build
|
|
PULUMI_ACCESS_TOKEN: ${{ secrets.PULUMI_ACCESS_TOKEN }}
|
|
PULUMI_LOCAL_NUGET: ${{ github.workspace }}/nuget
|
|
NPM_TOKEN: ${{ secrets.NPM_TOKEN }}
|
|
NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}
|
|
NUGET_PUBLISH_KEY: ${{ secrets.NUGET_PUBLISH_KEY }}
|
|
PYPI_USERNAME: __token__
|
|
PYPI_PASSWORD: ${{ secrets.PYPI_API_TOKEN }}
|
|
TRAVIS_OS_NAME: linux
|
|
SLACK_WEBHOOK_URL: ${{ secrets.SLACK_WEBHOOK_URL }}
|
|
PULUMI_GO_DEP_ROOT: ${{ github.workspace }}/..
|
|
PUBLISH_REPO_USERNAME: ${{ secrets.OSSRH_USERNAME }}
|
|
PUBLISH_REPO_PASSWORD: ${{ secrets.OSSRH_PASSWORD }}
|
|
SIGNING_KEY_ID: ${{ secrets.JAVA_SIGNING_KEY_ID }}
|
|
SIGNING_KEY: ${{ secrets.JAVA_SIGNING_KEY }}
|
|
SIGNING_PASSWORD: ${{ secrets.JAVA_SIGNING_PASSWORD }}
|
|
GOVERSION: 1.21.x
|
|
NODEVERSION: 20.x
|
|
PYTHONVERSION: "3.11"
|
|
DOTNETVERSION: |
|
|
6.0.x
|
|
3.1.301
|
|
JAVAVERSION: "11"
|
|
AWS_REGION: us-west-2
|
|
PULUMI_API: https://api.pulumi-staging.io
|
|
ARM_CLIENT_ID: 30e520fa-12b4-4e21-b473-9426c5ac2e1e
|
|
ARM_SUBSCRIPTION_ID: 0282681f-7a9e-424b-80b2-96babd57a8a1
|
|
ARM_TENANT_ID: 706143bc-e1d4-4593-aee2-c9dc60ab9be7
|
|
ARM_CLIENT_SECRET: ${{ secrets.ARM_CLIENT_SECRET }}
|
|
AZURE_LOCATION: westus
|
|
DIGITALOCEAN_TOKEN: ${{ secrets.DIGITALOCEAN_TOKEN }}
|
|
GOOGLE_CI_SERVICE_ACCOUNT_EMAIL: pulumi-ci@pulumi-ci-gcp-provider.iam.gserviceaccount.com
|
|
GOOGLE_CI_WORKLOAD_IDENTITY_POOL: pulumi-ci
|
|
GOOGLE_CI_WORKLOAD_IDENTITY_PROVIDER: pulumi-ci
|
|
GOOGLE_PROJECT: pulumi-ci-gcp-provider
|
|
GOOGLE_PROJECT_NUMBER: 895284651812
|
|
GOOGLE_REGION: us-central1
|
|
GOOGLE_ZONE: us-central1-a
|
|
DOCKER_HUB_PASSWORD: ${{ secrets.DOCKER_HUB_PASSWORD }}
|
|
PR_COMMIT_SHA: ${{ github.event.client_payload.pull_request.head.sha }}
|
|
jobs:
|
|
comment-notification:
|
|
runs-on: ubuntu-latest
|
|
name: comment-notification
|
|
steps:
|
|
- name: Create URL to the run output
|
|
id: vars
|
|
run: echo
|
|
run-url=https://github.com/$GITHUB_REPOSITORY/actions/runs/$GITHUB_RUN_ID
|
|
>> "$GITHUB_OUTPUT"
|
|
- name: Update with Result
|
|
uses: peter-evans/create-or-update-comment@71345be0265236311c031f5c7866368bd1eff043 # v4.0.0
|
|
with:
|
|
token: ${{ secrets.PULUMI_BOT_TOKEN }}
|
|
repository: ${{ github.event.client_payload.github.payload.repository.full_name }}
|
|
issue-number: ${{ github.event.client_payload.github.payload.issue.number }}
|
|
body: "Please view the PR build: ${{ steps.vars.outputs.run-url }}"
|
|
if: github.event_name == 'repository_dispatch'
|
|
prerequisites:
|
|
runs-on: ubuntu-latest
|
|
name: prerequisites
|
|
steps:
|
|
- name: Checkout Repo
|
|
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
|
|
with:
|
|
lfs: true
|
|
persist-credentials: false
|
|
ref: ${{ env.PR_COMMIT_SHA }}
|
|
- id: version
|
|
name: Set Provider Version
|
|
uses: pulumi/provider-version-action@f96d032a2758fdda7939e5728eff6c0d980ae894 # v1.6.0
|
|
with:
|
|
set-env: PROVIDER_VERSION
|
|
- name: Install Go
|
|
uses: actions/setup-go@3041bf56c941b39c61721a86cd11f3bb1338122a # v5.2.0
|
|
with:
|
|
go-version: ${{ env.GOVERSION }}
|
|
cache-dependency-path: "**/*.sum"
|
|
- name: Install pulumictl
|
|
uses: jaxxstorm/action-install-gh-release@cd6b2b78ad38bdd294341cda064ec0692b06215b # v1.14.0
|
|
with:
|
|
repo: pulumi/pulumictl
|
|
- name: Install Pulumi CLI
|
|
uses: pulumi/actions@13b8b7177d6fb736766875dac9b78aab07bd785f # v6.0.1
|
|
- if: github.event_name == 'pull_request'
|
|
name: Install Schema Tools
|
|
uses: jaxxstorm/action-install-gh-release@cd6b2b78ad38bdd294341cda064ec0692b06215b # v1.14.0
|
|
with:
|
|
repo: pulumi/schema-tools
|
|
- name: Build codegen binaries
|
|
run: make codegen
|
|
- name: Build Schema
|
|
run: make generate_schema
|
|
- if: github.event_name == 'pull_request'
|
|
name: Check Schema is Valid
|
|
run: >-
|
|
echo 'SCHEMA_CHANGES<<EOF' >> $GITHUB_ENV
|
|
|
|
schema-tools compare -p ${{ env.PROVIDER }} -o ${{ github.event.repository.default_branch }} -n --local-path=provider/cmd/pulumi-resource-${{ env.PROVIDER }}/schema.json >> $GITHUB_ENV
|
|
|
|
echo 'EOF' >> $GITHUB_ENV
|
|
env:
|
|
GITHUB_TOKEN: ${{ secrets.PULUMI_BOT_TOKEN }}
|
|
- if: github.event_name == 'pull_request' && github.actor != 'dependabot[bot]'
|
|
name: Comment on PR with Details of Schema Check
|
|
uses: thollander/actions-comment-pull-request@24bffb9b452ba05a4f3f77933840a6a841d1b32b # v3.0.1
|
|
with:
|
|
message: |
|
|
${{ env.SCHEMA_CHANGES }}
|
|
comment-tag: schemaCheck
|
|
github-token: ${{ secrets.GITHUB_TOKEN }}
|
|
- if: contains(env.SCHEMA_CHANGES, 'Looking good! No breaking changes found.') &&
|
|
github.actor == 'pulumi-bot'
|
|
name: Add label if no breaking changes
|
|
uses: actions-ecosystem/action-add-labels@18f1af5e3544586314bbe15c0273249c770b2daf # v1.1.3
|
|
with:
|
|
labels: impact/no-changelog-required
|
|
number: ${{ github.event.issue.number }}
|
|
github_token: ${{ secrets.GITHUB_TOKEN }}
|
|
- name: Build Provider
|
|
run: make provider
|
|
- name: Check worktree clean
|
|
id: worktreeClean
|
|
uses: pulumi/git-status-check-action@54000b91124a8dd9fd6a872cb41f5dd246a46e7c # v1.1.1
|
|
with:
|
|
allowed-changes: |-
|
|
sdk/**/pulumi-plugin.json
|
|
sdk/dotnet/Pulumi.*.csproj
|
|
sdk/go/**/pulumiUtilities.go
|
|
sdk/nodejs/package.json
|
|
sdk/python/pyproject.toml
|
|
- name: Commit ${{ matrix.language }} SDK changes for Renovate
|
|
if: failure() && steps.worktreeClean.outcome == 'failure' &&
|
|
contains(github.actor, 'renovate') && github.event_name ==
|
|
'pull_request'
|
|
shell: bash
|
|
run: >
|
|
git diff --quiet -- sdk && echo "no changes to sdk" && exit
|
|
|
|
git config --global user.email "bot@pulumi.com"
|
|
|
|
git config --global user.name "pulumi-bot"
|
|
|
|
# Stash local changes and check out the PR's branch directly.
|
|
|
|
git stash
|
|
|
|
git fetch
|
|
|
|
git checkout "origin/$HEAD_REF"
|
|
|
|
|
|
# Apply and add our changes, but don't commit any files we expect to
|
|
|
|
# always change due to versioning.
|
|
|
|
git stash pop
|
|
|
|
git add sdk
|
|
|
|
git reset sdk/python/*/pulumi-plugin.json sdk/python/pyproject.toml sdk/dotnet/pulumi-plugin.json sdk/dotnet/Pulumi.*.csproj sdk/go/*/pulumi-plugin.json sdk/go/*/internal/pulumiUtilities.go sdk/nodejs/package.json
|
|
|
|
git commit -m 'Commit ${{ matrix.language }} SDK for Renovate'
|
|
|
|
|
|
# Push with pulumi-bot credentials to trigger a re-run of the
|
|
|
|
# workflow. https://github.com/orgs/community/discussions/25702
|
|
|
|
git push https://pulumi-bot:${{ secrets.PULUMI_BOT_TOKEN }}@github.com/${{ github.repository }} "HEAD:$HEAD_REF"
|
|
env:
|
|
HEAD_REF: ${{ github.head_ref }}
|
|
- run: git status --porcelain
|
|
- name: Tar provider binaries
|
|
run: tar -zcf ${{ github.workspace }}/bin/provider.tar.gz -C ${{
|
|
github.workspace}}/bin/ pulumi-resource-${{ env.PROVIDER }}
|
|
pulumi-gen-${{ env.PROVIDER}}
|
|
- name: Upload artifacts
|
|
uses: actions/upload-artifact@65c4c4a1ddee5b72f698fdd19549f0f0fb45cf08 # v4.6.0
|
|
with:
|
|
name: pulumi-${{ env.PROVIDER }}-provider.tar.gz
|
|
path: ${{ github.workspace }}/bin/provider.tar.gz
|
|
- name: Test Provider Library
|
|
run: make test_provider
|
|
- name: Upload coverage reports to Codecov
|
|
uses: codecov/codecov-action@1e68e06f1dbfde0e4cefc87efeba9e4643565303 # v5.1.2
|
|
env:
|
|
CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }}
|
|
- if: failure() && github.event_name == 'push'
|
|
name: Notify Slack
|
|
uses: 8398a7/action-slack@28ba43ae48961b90635b50953d216767a6bea486 # v3.16.2
|
|
with:
|
|
author_name: Failure in building provider prerequisites
|
|
fields: repo,commit,author,action
|
|
status: ${{ job.status }}
|
|
if: github.event_name == 'repository_dispatch' ||
|
|
github.event.pull_request.head.repo.full_name == github.repository
|
|
build_sdks:
|
|
needs: prerequisites
|
|
runs-on: pulumi-ubuntu-8core
|
|
strategy:
|
|
fail-fast: ${{ ! contains(github.actor, 'renovate') }}
|
|
matrix:
|
|
language:
|
|
- nodejs
|
|
- python
|
|
- dotnet
|
|
- go
|
|
- java
|
|
name: build_sdks
|
|
steps:
|
|
- name: Checkout Repo
|
|
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
|
|
with:
|
|
lfs: true
|
|
persist-credentials: false
|
|
ref: ${{ env.PR_COMMIT_SHA }}
|
|
- id: version
|
|
name: Set Provider Version
|
|
uses: pulumi/provider-version-action@f96d032a2758fdda7939e5728eff6c0d980ae894 # v1.6.0
|
|
with:
|
|
set-env: PROVIDER_VERSION
|
|
- name: Install Go
|
|
uses: actions/setup-go@3041bf56c941b39c61721a86cd11f3bb1338122a # v5.2.0
|
|
with:
|
|
go-version: ${{ env.GOVERSION }}
|
|
cache-dependency-path: "**/*.sum"
|
|
- name: Install pulumictl
|
|
uses: jaxxstorm/action-install-gh-release@cd6b2b78ad38bdd294341cda064ec0692b06215b # v1.14.0
|
|
with:
|
|
repo: pulumi/pulumictl
|
|
- name: Install Pulumi CLI
|
|
uses: pulumi/actions@13b8b7177d6fb736766875dac9b78aab07bd785f # v6.0.1
|
|
- name: Setup Node
|
|
uses: actions/setup-node@39370e3970a6d050c480ffad4ff0ed4d3fdee5af # v4.1.0
|
|
with:
|
|
node-version: ${{ env.NODEVERSION }}
|
|
registry-url: https://registry.npmjs.org
|
|
- name: Setup DotNet
|
|
uses: actions/setup-dotnet@87b7050bc53ea08284295505d98d2aa94301e852 # v4.2.0
|
|
with:
|
|
dotnet-version: ${{ env.DOTNETVERSION }}
|
|
- name: Setup Python
|
|
uses: actions/setup-python@0b93645e9fea7318ecaed2b359559ac225c90a2b # v5.3.0
|
|
with:
|
|
python-version: ${{ env.PYTHONVERSION }}
|
|
- name: Setup Java
|
|
uses: actions/setup-java@7a6d8a8234af8eb26422e24e3006232cccaa061b # v4.6.0
|
|
with:
|
|
java-version: ${{ env.JAVAVERSION }}
|
|
distribution: temurin
|
|
cache: gradle
|
|
- name: Setup Gradle
|
|
uses: gradle/gradle-build-action@ac2d340dc04d9e1113182899e983b5400c17cda1 # v3.5.0
|
|
with:
|
|
gradle-version: "7.6"
|
|
- name: Download provider + tfgen binaries
|
|
uses: actions/download-artifact@fa0a91b85d4f404e444e00e005971372dc801d16 # v4.1.8
|
|
with:
|
|
name: pulumi-${{ env.PROVIDER }}-provider.tar.gz
|
|
path: ${{ github.workspace }}/bin
|
|
- name: UnTar provider binaries
|
|
run: tar -zxf ${{ github.workspace }}/bin/provider.tar.gz -C ${{
|
|
github.workspace}}/bin
|
|
- name: Restore Binary Permissions
|
|
run: find ${{ github.workspace }} -name "pulumi-*-${{ env.PROVIDER }}" -print
|
|
-exec chmod +x {} \;
|
|
- name: Generate SDK
|
|
run: make generate_${{ matrix.language }}
|
|
- name: Build SDK
|
|
run: make build_${{ matrix.language }}
|
|
- name: Check worktree clean
|
|
id: worktreeClean
|
|
uses: pulumi/git-status-check-action@54000b91124a8dd9fd6a872cb41f5dd246a46e7c # v1.1.1
|
|
with:
|
|
allowed-changes: |-
|
|
sdk/**/pulumi-plugin.json
|
|
sdk/dotnet/Pulumi.*.csproj
|
|
sdk/go/**/pulumiUtilities.go
|
|
sdk/nodejs/package.json
|
|
sdk/python/pyproject.toml
|
|
- name: Commit ${{ matrix.language }} SDK changes for Renovate
|
|
if: failure() && steps.worktreeClean.outcome == 'failure' &&
|
|
contains(github.actor, 'renovate') && github.event_name ==
|
|
'pull_request'
|
|
shell: bash
|
|
run: >
|
|
git diff --quiet -- sdk && echo "no changes to sdk" && exit
|
|
|
|
git config --global user.email "bot@pulumi.com"
|
|
|
|
git config --global user.name "pulumi-bot"
|
|
|
|
# Stash local changes and check out the PR's branch directly.
|
|
|
|
git stash
|
|
|
|
git fetch
|
|
|
|
git checkout "origin/$HEAD_REF"
|
|
|
|
|
|
# Apply and add our changes, but don't commit any files we expect to
|
|
|
|
# always change due to versioning.
|
|
|
|
git stash pop
|
|
|
|
git add sdk
|
|
|
|
git reset sdk/python/*/pulumi-plugin.json sdk/python/pyproject.toml sdk/dotnet/pulumi-plugin.json sdk/dotnet/Pulumi.*.csproj sdk/go/*/pulumi-plugin.json sdk/go/*/internal/pulumiUtilities.go sdk/nodejs/package.json
|
|
|
|
git commit -m 'Commit ${{ matrix.language }} SDK for Renovate'
|
|
|
|
|
|
# Push with pulumi-bot credentials to trigger a re-run of the
|
|
|
|
# workflow. https://github.com/orgs/community/discussions/25702
|
|
|
|
git push https://pulumi-bot:${{ secrets.PULUMI_BOT_TOKEN }}@github.com/${{ github.repository }} "HEAD:$HEAD_REF"
|
|
env:
|
|
HEAD_REF: ${{ github.head_ref }}
|
|
- run: git status --porcelain
|
|
- name: Tar SDK folder
|
|
run: tar -zcf sdk/${{ matrix.language }}.tar.gz -C sdk/${{ matrix.language }} .
|
|
- name: Upload artifacts
|
|
uses: actions/upload-artifact@65c4c4a1ddee5b72f698fdd19549f0f0fb45cf08 # v4.6.0
|
|
with:
|
|
name: ${{ matrix.language }}-sdk.tar.gz
|
|
path: ${{ github.workspace}}/sdk/${{ matrix.language }}.tar.gz
|
|
retention-days: 30
|
|
- if: failure() && github.event_name == 'push'
|
|
name: Notify Slack
|
|
uses: 8398a7/action-slack@28ba43ae48961b90635b50953d216767a6bea486 # v3.16.2
|
|
with:
|
|
author_name: Failure while building SDKs
|
|
fields: repo,commit,author,action
|
|
status: ${{ job.status }}
|
|
if: github.event_name == 'repository_dispatch' ||
|
|
github.event.pull_request.head.repo.full_name == github.repository
|
|
test:
|
|
runs-on: pulumi-ubuntu-8core
|
|
needs:
|
|
- build_sdks
|
|
strategy:
|
|
fail-fast: true
|
|
matrix:
|
|
language:
|
|
- nodejs
|
|
- python
|
|
- dotnet
|
|
- go
|
|
- java
|
|
name: test
|
|
permissions:
|
|
contents: read
|
|
id-token: write
|
|
steps:
|
|
- name: Checkout Repo
|
|
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
|
|
with:
|
|
lfs: true
|
|
persist-credentials: false
|
|
ref: ${{ env.PR_COMMIT_SHA }}
|
|
- id: version
|
|
name: Set Provider Version
|
|
uses: pulumi/provider-version-action@f96d032a2758fdda7939e5728eff6c0d980ae894 # v1.6.0
|
|
with:
|
|
set-env: PROVIDER_VERSION
|
|
- name: Install Go
|
|
uses: actions/setup-go@3041bf56c941b39c61721a86cd11f3bb1338122a # v5.2.0
|
|
with:
|
|
go-version: ${{ env.GOVERSION }}
|
|
cache-dependency-path: "**/*.sum"
|
|
- name: Install pulumictl
|
|
uses: jaxxstorm/action-install-gh-release@cd6b2b78ad38bdd294341cda064ec0692b06215b # v1.14.0
|
|
with:
|
|
repo: pulumi/pulumictl
|
|
- name: Install Pulumi CLI
|
|
uses: pulumi/actions@13b8b7177d6fb736766875dac9b78aab07bd785f # v6.0.1
|
|
- name: Setup Node
|
|
uses: actions/setup-node@39370e3970a6d050c480ffad4ff0ed4d3fdee5af # v4.1.0
|
|
with:
|
|
node-version: ${{ env.NODEVERSION }}
|
|
registry-url: https://registry.npmjs.org
|
|
- name: Setup DotNet
|
|
uses: actions/setup-dotnet@87b7050bc53ea08284295505d98d2aa94301e852 # v4.2.0
|
|
with:
|
|
dotnet-version: ${{ env.DOTNETVERSION }}
|
|
- name: Setup Python
|
|
uses: actions/setup-python@0b93645e9fea7318ecaed2b359559ac225c90a2b # v5.3.0
|
|
with:
|
|
python-version: ${{ env.PYTHONVERSION }}
|
|
- name: Setup Java
|
|
uses: actions/setup-java@7a6d8a8234af8eb26422e24e3006232cccaa061b # v4.6.0
|
|
with:
|
|
java-version: ${{ env.JAVAVERSION }}
|
|
distribution: temurin
|
|
cache: gradle
|
|
- name: Setup Gradle
|
|
uses: gradle/gradle-build-action@ac2d340dc04d9e1113182899e983b5400c17cda1 # v3.5.0
|
|
with:
|
|
gradle-version: "7.6"
|
|
- name: Download provider + tfgen binaries
|
|
uses: actions/download-artifact@fa0a91b85d4f404e444e00e005971372dc801d16 # v4.1.8
|
|
with:
|
|
name: pulumi-${{ env.PROVIDER }}-provider.tar.gz
|
|
path: ${{ github.workspace }}/bin
|
|
- name: UnTar provider binaries
|
|
run: tar -zxf ${{ github.workspace }}/bin/provider.tar.gz -C ${{
|
|
github.workspace}}/bin
|
|
- name: Restore Binary Permissions
|
|
run: find ${{ github.workspace }} -name "pulumi-*-${{ env.PROVIDER }}" -print
|
|
-exec chmod +x {} \;
|
|
- name: Download SDK
|
|
uses: actions/download-artifact@fa0a91b85d4f404e444e00e005971372dc801d16 # v4.1.8
|
|
with:
|
|
name: ${{ matrix.language }}-sdk.tar.gz
|
|
path: ${{ github.workspace}}/sdk/
|
|
- name: UnTar SDK folder
|
|
run: tar -zxf ${{ github.workspace}}/sdk/${{ matrix.language}}.tar.gz -C ${{
|
|
github.workspace}}/sdk/${{ matrix.language}}
|
|
- name: Update path
|
|
run: echo "${{ github.workspace }}/bin" >> $GITHUB_PATH
|
|
- name: Install Node dependencies
|
|
run: yarn global add typescript
|
|
- run: dotnet nuget add source ${{ github.workspace }}/nuget
|
|
- name: Install Python deps
|
|
run: |-
|
|
pip3 install virtualenv==20.0.23
|
|
pip3 install pipenv
|
|
- name: Install dependencies
|
|
run: make install_${{ matrix.language}}_sdk
|
|
- name: Configure AWS Credentials
|
|
uses: aws-actions/configure-aws-credentials@e3dd6a429d7300a6a4c196c26e071d42e0343502 # v4.0.2
|
|
with:
|
|
aws-access-key-id: ${{ secrets.AWS_ACCESS_KEY_ID }}
|
|
aws-region: ${{ env.AWS_REGION }}
|
|
aws-secret-access-key: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
|
|
role-duration-seconds: 3600
|
|
role-session-name: ${{ env.PROVIDER }}@githubActions
|
|
role-to-assume: ${{ secrets.AWS_CI_ROLE_ARN }}
|
|
- name: Authenticate to Google Cloud
|
|
uses: google-github-actions/auth@6fc4af4b145ae7821d527454aa9bd537d1f2dc5f # v2.1.7
|
|
with:
|
|
workload_identity_provider: projects/${{ env.GOOGLE_PROJECT_NUMBER
|
|
}}/locations/global/workloadIdentityPools/${{
|
|
env.GOOGLE_CI_WORKLOAD_IDENTITY_POOL }}/providers/${{
|
|
env.GOOGLE_CI_WORKLOAD_IDENTITY_PROVIDER }}
|
|
service_account: ${{ env.GOOGLE_CI_SERVICE_ACCOUNT_EMAIL }}
|
|
- name: Setup gcloud auth
|
|
uses: google-github-actions/setup-gcloud@6189d56e4096ee891640bb02ac264be376592d6a # v2.1.2
|
|
with:
|
|
install_components: gke-gcloud-auth-plugin
|
|
- name: Install gotestfmt
|
|
uses: GoTestTools/gotestfmt-action@v2
|
|
with:
|
|
version: v2.5.0
|
|
token: ${{ secrets.GITHUB_TOKEN }}
|
|
- name: Run tests
|
|
run: >-
|
|
set -euo pipefail
|
|
|
|
cd examples && go test -count=1 -cover -timeout 2h -tags=${{ matrix.language }} -parallel 4 .
|
|
- if: failure() && github.event_name == 'push'
|
|
name: Notify Slack
|
|
uses: 8398a7/action-slack@28ba43ae48961b90635b50953d216767a6bea486 # v3.16.2
|
|
with:
|
|
author_name: Failure in SDK tests
|
|
fields: repo,commit,author,action
|
|
status: ${{ job.status }}
|
|
if: github.event_name == 'repository_dispatch' ||
|
|
github.event.pull_request.head.repo.full_name == github.repository
|
|
sentinel:
|
|
runs-on: ubuntu-latest
|
|
name: sentinel
|
|
steps:
|
|
- name: Mark workflow as successful
|
|
uses: guibranco/github-status-action-v2@0849440ec82c5fa69b2377725b9b7852a3977e76 # v1.1.13
|
|
with:
|
|
authToken: ${{ secrets.GITHUB_TOKEN }}
|
|
context: Sentinel
|
|
state: success
|
|
description: Sentinel checks passed
|
|
sha: ${{ github.event.pull_request.head.sha || github.sha }}
|
|
permissions:
|
|
statuses: write
|
|
if: github.event_name == 'repository_dispatch' ||
|
|
github.event.pull_request.head.repo.full_name == github.repository
|
|
needs:
|
|
- test
|
|
- prerequisites
|
|
- lint
|
|
lint:
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- name: Checkout Repo
|
|
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
|
|
with:
|
|
lfs: true
|
|
persist-credentials: false
|
|
ref: ${{ env.PR_COMMIT_SHA }}
|
|
- name: Install Go
|
|
uses: actions/setup-go@3041bf56c941b39c61721a86cd11f3bb1338122a # v5.2.0
|
|
with:
|
|
go-version: ${{ env.GOVERSION }}
|
|
cache-dependency-path: "**/*.sum"
|
|
- name: Disarm go:embed directives to enable linters that compile source code
|
|
run: git grep -l 'go:embed' -- provider | xargs --no-run-if-empty sed -i
|
|
's/go:embed/ goembed/g'
|
|
- name: golangci-lint provider pkg
|
|
uses: golangci/golangci-lint-action@ec5d18412c0aeab7936cb16880d708ba2a64e1ae # v6.2.0
|
|
with:
|
|
version: ${{ env.GOLANGCI_LINT_VERSION }}
|
|
args: -c ../.golangci.yml
|
|
working-directory: provider
|
|
name: lint
|
|
if: github.event_name == 'repository_dispatch' ||
|
|
github.event.pull_request.head.repo.full_name == github.repository
|