From 5f78c2fbe41d002087eadd83d5597f55f36a8f1e Mon Sep 17 00:00:00 2001 From: Pulumi Bot Date: Sat, 15 Jun 2024 06:14:14 +0000 Subject: [PATCH] [internal] Update GitHub Actions workflow files --- .github/actions/setup-tools/action.yml | 80 ++++++++++++++++++++++ .github/workflows/build_sdk.yml | 52 +++++++------- .github/workflows/master.yml | 6 +- .github/workflows/prerelease.yml | 4 +- .github/workflows/prerequisites.yml | 45 ++++++------ .github/workflows/release.yml | 4 +- .github/workflows/resync-build.yml | 2 +- .github/workflows/run-acceptance-tests.yml | 40 +---------- 8 files changed, 141 insertions(+), 92 deletions(-) create mode 100644 .github/actions/setup-tools/action.yml diff --git a/.github/actions/setup-tools/action.yml b/.github/actions/setup-tools/action.yml new file mode 100644 index 00000000..a3f170c8 --- /dev/null +++ b/.github/actions/setup-tools/action.yml @@ -0,0 +1,80 @@ +name: Setup tools +description: Installs Go, Pulumi, pulumictl, schema-tools, Node.JS, Python, dotnet and Java. + +inputs: + tools: + description: | + Comma separated list of tools to install. The default of "all" installs all tools. Available tools are: + go + pulumicli + pulumictl + schema-tools + node + python + dotnet + java + default: all + +runs: + using: "composite" + steps: + - name: Install Go + if: inputs.tools == 'all' || contains(inputs.tools, 'go') + uses: actions/setup-go@v5 + with: + go-version: "1.21.x" + cache-dependency-path: | + provider/*.sum + upstream/*.sum + + - name: Install pulumictl + if: inputs.tools == 'all' || contains(inputs.tools, 'pulumictl') + uses: jaxxstorm/action-install-gh-release@v1.11.0 + with: + tag: v0.0.46 + repo: pulumi/pulumictl + + - name: Install Pulumi CLI + if: inputs.tools == 'all' || contains(inputs.tools, 'pulumicli') + uses: pulumi/actions@v5 + with: + pulumi-version: "dev" + + - name: Install Schema Tools + if: inputs.tools == 'all' || contains(inputs.tools, 'schema-tools') + uses: jaxxstorm/action-install-gh-release@v1.11.0 + with: + repo: pulumi/schema-tools + + - name: Setup Node + if: inputs.tools == 'all' || contains(inputs.tools, 'node') + uses: actions/setup-node@v4 + with: + node-version: 20.x + registry-url: https://registry.npmjs.org + + - name: Setup DotNet + if: inputs.tools == 'all' || contains(inputs.tools, 'dotnet') + uses: actions/setup-dotnet@v4 + with: + dotnet-version: 6.0.x + + - name: Setup Python + if: inputs.tools == 'all' || contains(inputs.tools, 'python') + uses: actions/setup-python@v5 + with: + python-version: 3.11.8 + + - name: Setup Java + if: inputs.tools == 'all' || contains(inputs.tools, 'java') + uses: actions/setup-java@v4 + with: + cache: gradle + distribution: temurin + java-version: 11 + + - name: Setup Gradle + if: inputs.tools == 'all' || contains(inputs.tools, 'java') + uses: gradle/gradle-build-action@v3 + with: + gradle-version: 7.6 diff --git a/.github/workflows/build_sdk.yml b/.github/workflows/build_sdk.yml index 85d36ef3..5434f6fa 100644 --- a/.github/workflows/build_sdk.yml +++ b/.github/workflows/build_sdk.yml @@ -3,6 +3,28 @@ name: "Build SDK" on: workflow_call: {} +env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }} + NPM_TOKEN: ${{ secrets.NPM_TOKEN }} + NUGET_PUBLISH_KEY: ${{ secrets.NUGET_PUBLISH_KEY }} + PUBLISH_REPO_PASSWORD: ${{ secrets.OSSRH_PASSWORD }} + PUBLISH_REPO_USERNAME: ${{ secrets.OSSRH_USERNAME }} + PULUMI_ACCESS_TOKEN: ${{ secrets.PULUMI_ACCESS_TOKEN }} + PULUMI_API: https://api.pulumi-staging.io + PULUMI_GO_DEP_ROOT: ${{ github.workspace }}/.. + PULUMI_LOCAL_NUGET: ${{ github.workspace }}/nuget + PYPI_PASSWORD: ${{ secrets.PYPI_API_TOKEN }} + PYPI_USERNAME: __token__ + SIGNING_KEY: ${{ secrets.JAVA_SIGNING_KEY }} + SIGNING_KEY_ID: ${{ secrets.JAVA_SIGNING_KEY_ID }} + SIGNING_PASSWORD: ${{ secrets.JAVA_SIGNING_PASSWORD }} + SLACK_WEBHOOK_URL: ${{ secrets.SLACK_WEBHOOK_URL }} + SPLUNK_PASSWORD: password + SPLUNK_URL: localhost:8089 + SPLUNK_USERNAME: admin + TF_APPEND_USER_AGENT: pulumi + jobs: build_sdk: name: build_sdk @@ -28,34 +50,10 @@ jobs: path: | .pulumi/examples-cache key: ${{ runner.os }}-${{ hashFiles('provider/go.sum') }} - - name: Install pulumictl - uses: jaxxstorm/action-install-gh-release@v1.11.0 - with: - tag: v0.0.46 - repo: pulumi/pulumictl - - name: Setup Node - uses: actions/setup-node@v4 - with: - node-version: 20.x - registry-url: https://registry.npmjs.org - - name: Setup DotNet - uses: actions/setup-dotnet@v4 - with: - dotnet-version: 6.0.x - - name: Setup Python - uses: actions/setup-python@v5 - with: - python-version: 3.11.8 - - name: Setup Java - uses: actions/setup-java@v4 - with: - cache: gradle - distribution: temurin - java-version: 11 - - name: Setup Gradle - uses: gradle/gradle-build-action@v3 + - name: Setup tools + uses: ./.github/actions/setup-tools with: - gradle-version: 7.6 + tools: pulumictl, pulumicli, go, node, dotnet, python, java - name: Download provider + tfgen binaries uses: actions/download-artifact@v4 with: diff --git a/.github/workflows/master.yml b/.github/workflows/master.yml index b8b86966..8d21e45f 100644 --- a/.github/workflows/master.yml +++ b/.github/workflows/master.yml @@ -63,7 +63,7 @@ jobs: - name: Install Pulumi CLI uses: pulumi/actions@v5 with: - pulumi-version: "^3" + pulumi-version: "dev" - if: github.event_name == 'pull_request' name: Install Schema Tools uses: jaxxstorm/action-install-gh-release@v1.11.0 @@ -128,7 +128,7 @@ jobs: - name: Install Pulumi CLI uses: pulumi/actions@v5 with: - pulumi-version: "^3" + pulumi-version: "dev" - name: Configure AWS Credentials uses: aws-actions/configure-aws-credentials@v4 with: @@ -229,7 +229,7 @@ jobs: - name: Install Pulumi CLI uses: pulumi/actions@v5 with: - pulumi-version: "^3" + pulumi-version: "dev" - name: Setup Node uses: actions/setup-node@v4 with: diff --git a/.github/workflows/prerelease.yml b/.github/workflows/prerelease.yml index 78745a8d..84cea8ea 100644 --- a/.github/workflows/prerelease.yml +++ b/.github/workflows/prerelease.yml @@ -75,7 +75,7 @@ jobs: - name: Install Pulumi CLI uses: pulumi/actions@v5 with: - pulumi-version: "^3" + pulumi-version: "dev" - name: Configure AWS Credentials uses: aws-actions/configure-aws-credentials@v4 with: @@ -194,7 +194,7 @@ jobs: - name: Install Pulumi CLI uses: pulumi/actions@v5 with: - pulumi-version: "^3" + pulumi-version: "dev" - name: Setup Node uses: actions/setup-node@v4 with: diff --git a/.github/workflows/prerequisites.yml b/.github/workflows/prerequisites.yml index 656ae429..c629348b 100644 --- a/.github/workflows/prerequisites.yml +++ b/.github/workflows/prerequisites.yml @@ -13,6 +13,28 @@ on: type: string required: true +env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }} + NPM_TOKEN: ${{ secrets.NPM_TOKEN }} + NUGET_PUBLISH_KEY: ${{ secrets.NUGET_PUBLISH_KEY }} + PUBLISH_REPO_PASSWORD: ${{ secrets.OSSRH_PASSWORD }} + PUBLISH_REPO_USERNAME: ${{ secrets.OSSRH_USERNAME }} + PULUMI_ACCESS_TOKEN: ${{ secrets.PULUMI_ACCESS_TOKEN }} + PULUMI_API: https://api.pulumi-staging.io + PULUMI_GO_DEP_ROOT: ${{ github.workspace }}/.. + PULUMI_LOCAL_NUGET: ${{ github.workspace }}/nuget + PYPI_PASSWORD: ${{ secrets.PYPI_API_TOKEN }} + PYPI_USERNAME: __token__ + SIGNING_KEY: ${{ secrets.JAVA_SIGNING_KEY }} + SIGNING_KEY_ID: ${{ secrets.JAVA_SIGNING_KEY_ID }} + SIGNING_PASSWORD: ${{ secrets.JAVA_SIGNING_PASSWORD }} + SLACK_WEBHOOK_URL: ${{ secrets.SLACK_WEBHOOK_URL }} + SPLUNK_PASSWORD: password + SPLUNK_URL: localhost:8089 + SPLUNK_USERNAME: admin + TF_APPEND_USER_AGENT: pulumi + jobs: prerequisites: name: prerequisites @@ -31,27 +53,10 @@ jobs: key: ${{ runner.os }}-${{ hashFiles('provider/go.sum') }} - name: Prepare upstream code run: make upstream - - name: Install Go - uses: actions/setup-go@v5 - with: - go-version: "1.21.x" - cache-dependency-path: | - provider/*.sum - upstream/*.sum - - name: Install pulumictl - uses: jaxxstorm/action-install-gh-release@v1.11.0 - with: - tag: v0.0.46 - repo: pulumi/pulumictl - - name: Install Pulumi CLI - uses: pulumi/actions@v5 - with: - pulumi-version: "^3" - - if: inputs.is_pr - name: Install Schema Tools - uses: jaxxstorm/action-install-gh-release@v1.11.0 + - name: Setup tools + uses: ./.github/actions/setup-tools with: - repo: pulumi/schema-tools + tools: go, pulumictl, pulumicli, schema-tools - name: Build schema generator binary run: make tfgen_build_only - name: Install plugins diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index a890b0c8..91a10e94 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -91,7 +91,7 @@ jobs: - name: Install Pulumi CLI uses: pulumi/actions@v5 with: - pulumi-version: "^3" + pulumi-version: "dev" - name: Configure AWS Credentials uses: aws-actions/configure-aws-credentials@v4 with: @@ -227,7 +227,7 @@ jobs: - name: Install Pulumi CLI uses: pulumi/actions@v5 with: - pulumi-version: "^3" + pulumi-version: "dev" - name: Setup Node uses: actions/setup-node@v4 with: diff --git a/.github/workflows/resync-build.yml b/.github/workflows/resync-build.yml index 231fe5bf..2f9b9647 100644 --- a/.github/workflows/resync-build.yml +++ b/.github/workflows/resync-build.yml @@ -52,7 +52,7 @@ jobs: - name: Install Pulumi CLI uses: pulumi/actions@v5 with: - pulumi-version: "^3" + pulumi-version: "dev" - name: Setup DotNet uses: actions/setup-dotnet@v4 with: diff --git a/.github/workflows/run-acceptance-tests.yml b/.github/workflows/run-acceptance-tests.yml index b4ae1017..35219aab 100644 --- a/.github/workflows/run-acceptance-tests.yml +++ b/.github/workflows/run-acceptance-tests.yml @@ -112,44 +112,10 @@ jobs: with: repository: pulumi/examples path: p-examples - - name: Install Go - uses: actions/setup-go@v5 + - name: Setup tools + uses: ./.github/actions/setup-tools with: - go-version: "1.21.x" - cache-dependency-path: | - sdk/go.sum - - name: Install pulumictl - uses: jaxxstorm/action-install-gh-release@v1.11.0 - with: - tag: v0.0.46 - repo: pulumi/pulumictl - - name: Install Pulumi CLI - uses: pulumi/actions@v5 - with: - pulumi-version: "^3" - - name: Setup Node - uses: actions/setup-node@v4 - with: - node-version: "20.x" - registry-url: https://registry.npmjs.org - - name: Setup DotNet - uses: actions/setup-dotnet@v4 - with: - dotnet-version: "6.0.x" - - name: Setup Python - uses: actions/setup-python@v5 - with: - python-version: "3.11.8" - - name: Setup Java - uses: actions/setup-java@v4 - with: - cache: gradle - distribution: temurin - java-version: "11" - - name: Setup Gradle - uses: gradle/gradle-build-action@v3 - with: - gradle-version: "7.6" + tools: pulumictl, pulumicli, go, node, dotnet, python, java - name: Download provider + tfgen binaries uses: actions/download-artifact@v4 with: