Skip to content

Commit

Permalink
[internal] Update GitHub Actions workflow files
Browse files Browse the repository at this point in the history
  • Loading branch information
pulumi-bot committed Jun 22, 2024
1 parent 45f9a4a commit 69c9231
Show file tree
Hide file tree
Showing 8 changed files with 202 additions and 87 deletions.
10 changes: 6 additions & 4 deletions .github/workflows/build_sdk.yml
Original file line number Diff line number Diff line change
@@ -1,7 +1,11 @@
name: "Build SDK"

on:
workflow_call: {}
workflow_call:
inputs:
version:
required: true
type: string

env:
DATADOG_API_KEY: ${{ secrets.DATADOG_API_KEY }}
Expand All @@ -23,6 +27,7 @@ env:
SIGNING_PASSWORD: ${{ secrets.JAVA_SIGNING_PASSWORD }}
SLACK_WEBHOOK_URL: ${{ secrets.SLACK_WEBHOOK_URL }}
TF_APPEND_USER_AGENT: pulumi
PROVIDER_VERSION: ${{ inputs.version }}

jobs:
build_sdk:
Expand All @@ -40,9 +45,6 @@ jobs:
steps:
- name: Checkout Repo
uses: actions/checkout@v4
- uses: pulumi/provider-version-action@v1
with:
set-env: 'PROVIDER_VERSION'
- name: Cache examples generation
uses: actions/cache@v4
with:
Expand Down
41 changes: 22 additions & 19 deletions .github/workflows/master.yml
Original file line number Diff line number Diff line change
Expand Up @@ -21,11 +21,21 @@ env:
SLACK_WEBHOOK_URL: ${{ secrets.SLACK_WEBHOOK_URL }}
TF_APPEND_USER_AGENT: pulumi
jobs:
prerequisites:
uses: ./.github/workflows/prerequisites.yml
secrets: inherit
with:
default_branch: ${{ github.event.repository.default_branch }}
is_pr: ${{ github.event_name == 'pull_request' }}
is_automated: ${{ github.actor == 'dependabot[bot]' }}

build_sdk:
name: build_sdk
needs: prerequisites
uses: ./.github/workflows/build_sdk.yml
secrets: inherit
with:
version: ${{ needs.prerequisites.outputs.version }}

generate_coverage_data:
continue-on-error: true
Expand Down Expand Up @@ -85,17 +95,11 @@ jobs:
name: License Check
uses: ./.github/workflows/license.yml
secrets: inherit
prerequisites:
uses: ./.github/workflows/prerequisites.yml
secrets: inherit
with:
default_branch: ${{ github.event.repository.default_branch }}
is_pr: ${{ github.event_name == 'pull_request' }}
is_automated: ${{ github.actor == 'dependabot[bot]' }}

publish:
name: publish
needs:
- prerequisites
- test
- license_check
runs-on: ubuntu-latest
Expand Down Expand Up @@ -134,13 +138,11 @@ jobs:
role-external-id: upload-pulumi-release
role-session-name: datadog@githubActions
role-to-assume: ${{ secrets.AWS_UPLOAD_ROLE_ARN }}
- id: version
uses: pulumi/provider-version-action@v1
- name: Run GoReleaser
uses: goreleaser/goreleaser-action@v5
env:
GORELEASER_CURRENT_TAG: v${{ steps.version.outputs.version }}
PROVIDER_VERSION: ${{ steps.version.outputs.version }}
GORELEASER_CURRENT_TAG: v${{ needs.prerequisites.outputs.version }}
PROVIDER_VERSION: ${{ needs.prerequisites.outputs.version }}
with:
args: -p 3 -f .goreleaser.prerelease.yml --rm-dist --skip-validate --timeout
60m0s
Expand All @@ -154,16 +156,16 @@ jobs:
status: ${{ job.status }}
publish_sdk:
name: publish_sdk
needs: publish
needs:
- prerequisites
- publish
runs-on: ubuntu-latest
steps:
- id: version
uses: pulumi/provider-version-action@v1
- name: Publish SDKs
uses: pulumi/[email protected]
with:
sdk: all
version: ${{ steps.version.outputs.version }}
version: ${{ needs.prerequisites.outputs.version }}
dotnet-version: "6.0.x"
java-version: "11"
node-version: "20.x"
Expand Down Expand Up @@ -199,17 +201,18 @@ jobs:

test:
name: test
needs: build_sdk
needs:
- prerequisites
- build_sdk
permissions:
contents: read
id-token: write
runs-on: ubuntu-latest
env:
PROVIDER_VERSION: ${{ needs.prerequisites.outputs.version }}
steps:
- name: Checkout Repo
uses: actions/checkout@v4
- uses: pulumi/provider-version-action@v1
with:
set-env: 'PROVIDER_VERSION'
- name: Install Go
uses: actions/setup-go@v5
with:
Expand Down
63 changes: 40 additions & 23 deletions .github/workflows/prerelease.yml
Original file line number Diff line number Diff line change
Expand Up @@ -22,27 +22,31 @@ env:
SLACK_WEBHOOK_URL: ${{ secrets.SLACK_WEBHOOK_URL }}
TF_APPEND_USER_AGENT: pulumi
jobs:
prerequisites:
uses: ./.github/workflows/prerequisites.yml
secrets: inherit
with:
default_branch: ${{ github.event.repository.default_branch }}
is_pr: ${{ github.event_name == 'pull_request' }}
is_automated: ${{ github.actor == 'dependabot[bot]' }}

build_sdk:
name: build_sdk
needs: prerequisites
uses: ./.github/workflows/build_sdk.yml
secrets: inherit
with:
version: ${{ needs.prerequisites.outputs.version }}

license_check:
name: License Check
uses: ./.github/workflows/license.yml
secrets: inherit
prerequisites:
uses: ./.github/workflows/prerequisites.yml
secrets: inherit
with:
default_branch: ${{ github.event.repository.default_branch }}
is_pr: ${{ github.event_name == 'pull_request' }}
is_automated: ${{ github.actor == 'dependabot[bot]' }}

publish:
name: publish
needs:
- prerequisites
- test
- license_check
runs-on: ubuntu-latest
Expand Down Expand Up @@ -81,13 +85,11 @@ jobs:
role-external-id: upload-pulumi-release
role-session-name: datadog@githubActions
role-to-assume: ${{ secrets.AWS_UPLOAD_ROLE_ARN }}
- id: version
uses: pulumi/provider-version-action@v1
- name: Run GoReleaser
uses: goreleaser/goreleaser-action@v5
env:
GORELEASER_CURRENT_TAG: v${{ steps.version.outputs.version }}
PROVIDER_VERSION: ${{ steps.version.outputs.version }}
GORELEASER_CURRENT_TAG: v${{ needs.prerequisites.outputs.version }}
PROVIDER_VERSION: ${{ needs.prerequisites.outputs.version }}
with:
args: -p 3 -f .goreleaser.prerelease.yml --rm-dist --skip-validate --timeout
60m0s
Expand All @@ -101,16 +103,16 @@ jobs:
status: ${{ job.status }}
publish_sdk:
name: publish_sdk
needs: publish
needs:
- prerequisites
- publish
runs-on: ubuntu-latest
steps:
- id: version
uses: pulumi/provider-version-action@v1
- name: Publish SDKs
uses: pulumi/[email protected]
with:
sdk: all
version: ${{ steps.version.outputs.version }}
version: ${{ needs.prerequisites.outputs.version }}
dotnet-version: "6.0.x"
java-version: "11"
node-version: "20.x"
Expand All @@ -128,7 +130,9 @@ jobs:
uses: rtCamp/action-slack-notify@v2
publish_go_sdk:
name: publish_go_sdk
needs: publish_sdk
needs:
- prerequisites
- publish_sdk
runs-on: ubuntu-latest
steps:
- name: Checkout Repo
Expand All @@ -138,8 +142,6 @@ jobs:
with:
tag: v0.0.46
repo: pulumi/pulumictl
- id: version
uses: pulumi/provider-version-action@v1
- name: Download Go SDK
uses: actions/download-artifact@v4
with:
Expand All @@ -155,7 +157,7 @@ jobs:
base-ref: ${{ github.sha }}
source: sdk
path: sdk
version: ${{ steps.version.outputs.version }}
version: ${{ needs.prerequisites.outputs.version }}
additive: false
# Avoid including other language SDKs & artifacts in the commit
files: |
Expand All @@ -164,17 +166,18 @@ jobs:
!*.tar.gz
test:
name: test
needs: build_sdk
needs:
- prerequisites
- build_sdk
permissions:
contents: read
id-token: write
runs-on: ubuntu-latest
env:
PROVIDER_VERSION: ${{ needs.prerequisites.outputs.version }}
steps:
- name: Checkout Repo
uses: actions/checkout@v4
- uses: pulumi/provider-version-action@v1
with:
set-env: 'PROVIDER_VERSION'
- name: Install Go
uses: actions/setup-go@v5
with:
Expand Down Expand Up @@ -271,6 +274,20 @@ jobs:
- dotnet
- go
- java
verify-release:
name: verify-release
needs:
- prerequisites
- publish
- publish_sdk
- publish_go_sdk
uses: ./.github/workflows/verify-release.yml
secrets: inherit
with:
providerVersion: ${{ needs.prerequisites.outputs.version }}
# Prelease is run often but we only have 5 concurrent macos runners, so we only test after the stable release.
enableMacosRunner: false

name: prerelease
on:
push:
Expand Down
7 changes: 7 additions & 0 deletions .github/workflows/prerequisites.yml
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,10 @@ on:
default_branch:
type: string
required: true
outputs:
version:
description: "Provider version being built"
value: ${{ jobs.prerequisites.outputs.version }}

env:
DATADOG_API_KEY: ${{ secrets.DATADOG_API_KEY }}
Expand All @@ -38,10 +42,13 @@ jobs:
prerequisites:
name: prerequisites
runs-on: ubuntu-latest
outputs:
version: ${{ steps.provider-version.outputs.version }}
steps:
- name: Checkout Repo
uses: actions/checkout@v4
- uses: pulumi/provider-version-action@v1
id: provider-version
with:
set-env: 'PROVIDER_VERSION'
- name: Cache examples generation
Expand Down
Loading

0 comments on commit 69c9231

Please sign in to comment.