Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
20 changes: 9 additions & 11 deletions .ci-mgmt.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -6,16 +6,14 @@ gcp: true # need GCP credentials to test in GKE
pulumiVersionFile: .pulumi.version
major-version: 4
parallel: 3
toolVersions:
go: 1.24.x
esc:
enabled: true
enabled: true
envOverride:
PULUMI_API: https://api.pulumi-staging.io
AWS_REGION: us-west-2
PULUMI_TEST_OWNER: moolumi
GOLANGCI_LINT_VERSION: v1.64.8
GOOGLE_CI_SERVICE_ACCOUNT_EMAIL: [email protected]
GOOGLE_CI_WORKLOAD_IDENTITY_POOL: pulumi-ci
GOOGLE_CI_WORKLOAD_IDENTITY_PROVIDER: pulumi-ci
GOOGLE_PROJECT_NUMBER: 637339343727
PULUMI_API: https://api.pulumi-staging.io
AWS_REGION: us-west-2
PULUMI_TEST_OWNER: moolumi
GOLANGCI_LINT_VERSION: v1.64.8
GOOGLE_CI_SERVICE_ACCOUNT_EMAIL: [email protected]
GOOGLE_CI_WORKLOAD_IDENTITY_POOL: pulumi-ci
GOOGLE_CI_WORKLOAD_IDENTITY_PROVIDER: pulumi-ci
GOOGLE_PROJECT_NUMBER: 637339343727
87 changes: 87 additions & 0 deletions .config/mise.lock
Original file line number Diff line number Diff line change
@@ -0,0 +1,87 @@
[[tools.dotnet]]
version = "8.0.414"
backend = "asdf:dotnet"

[[tools."github:pulumi/pulumictl"]]
version = "0.0.50"
backend = "github:pulumi/pulumictl"

[tools."github:pulumi/pulumictl".platforms.linux-x64]
checksum = "sha256:a988418240d3a985bdcb9753b7c65ba4b06608deb359dc2942cb8c9374abc164"
name = "pulumictl-v0.0.50-linux-amd64.tar.gz"
size = 27744219
url = "https://github.com/pulumi/pulumictl/releases/download/v0.0.50/pulumictl-v0.0.50-linux-amd64.tar.gz"
url_api = "https://api.github.com/repos/pulumi/pulumictl/releases/assets/278054496"

[[tools."github:pulumi/schema-tools"]]
version = "0.6.0"
backend = "github:pulumi/schema-tools"

[tools."github:pulumi/schema-tools".platforms.linux-x64]
checksum = "blake3:82dfe616fee18b4258f6e3d2dc3c4e9f14afd43a0a4cc33eff2d2a04088d6ca3"
name = "schema-tools-v0.6.0-linux-amd64.tar.gz"
size = 14282746
url = "https://github.com/pulumi/schema-tools/releases/download/v0.6.0/schema-tools-v0.6.0-linux-amd64.tar.gz"
url_api = "https://api.github.com/repos/pulumi/schema-tools/releases/assets/118725905"

[[tools.go]]
version = "1.24.9"
backend = "core:go"

[tools.go.platforms.linux-x64]
checksum = "sha256:5b7899591c2dd6e9da1809fde4a2fad842c45d3f6b9deb235ba82216e31e34a6"
size = 78693175
url = "https://dl.google.com/go/go1.24.9.linux-amd64.tar.gz"

[[tools.golangci-lint]]
version = "1.64.8"
backend = "aqua:golangci/golangci-lint"

[tools.golangci-lint.platforms.linux-x64]
checksum = "sha256:b6270687afb143d019f387c791cd2a6f1cb383be9b3124d241ca11bd3ce2e54e"
size = 12364828
url = "https://github.com/golangci/golangci-lint/releases/download/v1.64.8/golangci-lint-1.64.8-linux-amd64.tar.gz"

[[tools.gradle]]
version = "7.6.6"
backend = "aqua:gradle/gradle"

[tools.gradle.platforms.linux-x64]
checksum = "sha256:673d9776f303bc7048fc3329d232d6ebf1051b07893bd9d11616fad9a8673be0"
size = 128439774
url = "https://github.com/gradle/gradle-distributions/releases/download/v7.6.6/gradle-7.6.6-bin.zip"

[[tools.java]]
version = "corretto-11.0.29.7.1"
backend = "core:java"

[tools.java.platforms.linux-x64]
checksum = "sha256:279c6d3124f8b0251b16297b16687fe8b3946410b05ed27de1259b5e5cea02ba"
size = 195379320
url = "https://corretto.aws/downloads/resources/11.0.29.7.1/amazon-corretto-11.0.29.7.1-linux-x64.tar.gz"

[[tools.node]]
version = "20.19.5"
backend = "core:node"

[tools.node.platforms.linux-x64]
checksum = "sha256:4eba5fbe1fb10753bc06e42f001a91c5cec16798b7764a3e9257adc59af47fe1"
size = 47041607
url = "https://nodejs.org/dist/v20.19.5/node-v20.19.5-linux-x64.tar.gz"

[[tools."npm:yarn"]]
version = "1.22.22"
backend = "npm:yarn"

[[tools.pulumi]]
version = "3.205.0"
backend = "aqua:pulumi/pulumi"

[tools.pulumi.platforms.linux-x64]
checksum = "sha256:210540f40df959f11e8fd5fb38e288c8b86f2a16a0511db9b812adb97160f892"
size = 94479557
url = "https://github.com/pulumi/pulumi/releases/download/v3.205.0/pulumi-v3.205.0-linux-x64.tar.gz"

[[tools.python]]
version = "3.11.8"
backend = "core:python"
11 changes: 11 additions & 0 deletions .config/mise.test.toml
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
# WARNING: This file is autogenerated - changes will be overwritten when regenerated by https://github.com/pulumi/ci-mgmt

# Overrides for test workflows

[env]
# Acceptance (specifically providertest) tests require that PULUMI_HOME be the default
PULUMI_HOME = "{{ env.HOME }}/.pulumi"

[tools]
# always use pulumi latest for tests
pulumi = "latest"
29 changes: 29 additions & 0 deletions .config/mise.toml
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
# WARNING: This file is autogenerated - changes will be overwritten when regenerated by https://github.com/pulumi/ci-mgmt
# You can create your own root-level mise.toml file to override/augment this. See https://mise.jdx.dev/configuration.html

[env]
_.source = "{{config_root}}/scripts/get-versions.sh"
PULUMI_HOME = "{{config_root}}/.pulumi"

[tools]

# Runtimes
# TODO: we may not need 'get_env' once https://github.com/jdx/mise/discussions/6339 is fixed
go = "{{ get_env(name='GO_VERSION_MISE', default='latest') }}"
node = '20.19.5'
python = '3.11.8'
dotnet = '8.0.414'
# Corretto version used as Java SE/OpenJDK version no longer offered
java = 'corretto-11'

# Executable tools
pulumi = "{{ get_env(name='PULUMI_VERSION_MISE', default='latest') }}"
"github:pulumi/pulumictl" = 'latest'
"github:pulumi/schema-tools" = "latest"
gradle = '7.6'
golangci-lint = "1.64.8" # See note about about overrides if you need to customize this.
"npm:yarn" = "1.22.22"

[settings]
experimental = true # Required for Go binaries (e.g. pulumictl).
lockfile = true
19 changes: 19 additions & 0 deletions .github/actions/download-provider/action.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
name: Download Provider Binary
description: Downloads the provider binary artifact and restores executable permissions

runs:
using: "composite"
steps:
- name: Download provider
uses: actions/download-artifact@018cc2cf5baa6db3ef3c5f8a56943fffe632ef53 # v6.0.0
with:
name: pulumi-${{ env.PROVIDER }}-provider.tar.gz
path: ${{ github.workspace }}/bin

- name: UnTar provider binaries
shell: bash
run: tar -zxf ${{ github.workspace }}/bin/provider.tar.gz -C ${{ github.workspace}}/bin

- name: Restore Binary Permissions
shell: bash
run: find ${{ github.workspace }} -name "pulumi-*-${{ env.PROVIDER }}" -print -exec chmod +x {} \;
20 changes: 20 additions & 0 deletions .github/actions/download-sdk/action.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
name: Download SDK
description: Downloads and extracts SDK artifacts for a specific language

inputs:
language:
description: 'The SDK language to download (nodejs, python, dotnet, java)'
required: true

runs:
using: "composite"
steps:
- name: Download SDK
uses: actions/download-artifact@018cc2cf5baa6db3ef3c5f8a56943fffe632ef53 # v6.0.0
with:
name: ${{ inputs.language }}-sdk.tar.gz
path: ${{ github.workspace }}/sdk/

- name: UnTar SDK folder
shell: bash
run: tar -zxf ${{ github.workspace }}/sdk/${{ inputs.language }}.tar.gz -C ${{ github.workspace }}/sdk/${{ inputs.language }}
38 changes: 38 additions & 0 deletions .github/actions/setup-tools/action.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
name: Setup Tools
description: Installs all tools (Go, Node, Python, .NET, Java, Pulumi, etc.) using mise

inputs:
cache:
description: Enable caching
required: false
default: 'false'

runs:
using: "composite"
steps:
- name: Setup mise
uses: jdx/mise-action@be3be2260bc02bc3fbf94c5e2fed8b7964baf074 # v3
with:
# Latest working version. See https://github.com/jdx/mise/discussions/6781
version: 2025.10.16
github_token: ${{ github.token }}
cache_key: "mise-{{platform}}-{{file_hash}}"
cache_save: ${{ inputs.cache }}

- name: Setup Go Cache
uses: actions/setup-go@44694675825211faa026b3c33043df3e48a5fa00 # v6.0.0
with:
cache: ${{ inputs.cache }}
cache-dependency-path: |
provider/*.sum
upstream/*.sum
sdk/go/*.sum
sdk/*.sum
*.sum

- name: Setup Node
uses: actions/setup-node@2028fbc5c25fe9cf00d9f06a71cc4710d4507903 # v6
with:
# we don't set node-version because we install with mise.
# this step is needed to setup npm auth
registry-url: https://registry.npmjs.org
Loading
Loading