diff --git a/.github/workflows/master.yml b/.github/workflows/master.yml
index d3bef6b4..6a4fa787 100644
--- a/.github/workflows/master.yml
+++ b/.github/workflows/master.yml
@@ -102,6 +102,13 @@ jobs:
run: make build_${{ matrix.language }}
- name: Check worktree clean
uses: pulumi/git-status-check-action@v1
+ with:
+ allowed-changes: |
+ sdk/**/pulumi-plugin.json
+ sdk/dotnet/Pulumi.*.csproj
+ sdk/go/*/internal/pulumiUtilities.go
+ sdk/nodejs/package.json
+ sdk/python/pyproject.toml
- name: Compress SDK folder
run: tar -zcf sdk/${{ matrix.language }}.tar.gz -C sdk/${{ matrix.language }} .
- name: Upload artifacts
diff --git a/.github/workflows/prerelease.yml b/.github/workflows/prerelease.yml
index 958ce930..5469c4d5 100644
--- a/.github/workflows/prerelease.yml
+++ b/.github/workflows/prerelease.yml
@@ -103,6 +103,13 @@ jobs:
run: make build_${{ matrix.language }}
- name: Check worktree clean
uses: pulumi/git-status-check-action@v1
+ with:
+ allowed-changes: |
+ sdk/**/pulumi-plugin.json
+ sdk/dotnet/Pulumi.*.csproj
+ sdk/go/*/internal/pulumiUtilities.go
+ sdk/nodejs/package.json
+ sdk/python/pyproject.toml
- name: Compress SDK folder
run: tar -zcf sdk/${{ matrix.language }}.tar.gz -C sdk/${{ matrix.language }} .
- name: Upload artifacts
@@ -306,6 +313,42 @@ jobs:
if: failure()
name: Send Publish Failure To Slack
uses: rtCamp/action-slack-notify@v2
+ publish_go_sdk:
+ name: publish_go_sdk
+ needs: publish_sdk
+ runs-on: ubuntu-latest
+ steps:
+ - name: Checkout Repo
+ uses: actions/checkout@v4
+ - name: Install pulumictl
+ uses: jaxxstorm/action-install-gh-release@v1.11.0
+ 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:
+ name: go-sdk.tar.gz
+ path: ${{ github.workspace }}/sdk/
+ - name: Uncompress Go SDK
+ run: tar -zxf ${{ github.workspace }}/sdk/go.tar.gz -C
+ ${{ github.workspace }}/sdk/go
+ shell: bash
+ - uses: pulumi/publish-go-sdk-action@v1
+ with:
+ repository: ${{ github.repository }}
+ base-ref: ${{ github.sha }}
+ source: sdk
+ path: sdk
+ version: ${{ steps.version.outputs.version }}
+ additive: false
+ # Avoid including other language SDKs & artifacts in the commit
+ files: |
+ go.*
+ go/**
+ !*.tar.gz
test:
name: test
needs: build_sdk
diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml
index 794dbf68..d4d75153 100644
--- a/.github/workflows/release.yml
+++ b/.github/workflows/release.yml
@@ -102,6 +102,13 @@ jobs:
run: make build_${{ matrix.language }}
- name: Check worktree clean
uses: pulumi/git-status-check-action@v1
+ with:
+ allowed-changes: |
+ sdk/**/pulumi-plugin.json
+ sdk/dotnet/Pulumi.*.csproj
+ sdk/go/*/internal/pulumiUtilities.go
+ sdk/nodejs/package.json
+ sdk/python/pyproject.toml
- name: Compress SDK folder
run: tar -zcf sdk/${{ matrix.language }}.tar.gz -C sdk/${{ matrix.language }} .
- name: Upload artifacts
@@ -333,9 +340,28 @@ jobs:
repo: pulumi/pulumictl
- id: version
uses: pulumi/provider-version-action@v1
- - name: Add SDK version tag
- run: git tag "sdk/v${{ steps.version.outputs.version }}" && git push origin
- "sdk/v${{ steps.version.outputs.version }}"
+ - name: Download Go SDK
+ uses: actions/download-artifact@v4
+ with:
+ name: go-sdk.tar.gz
+ path: ${{ github.workspace }}/sdk/
+ - name: Uncompress Go SDK
+ run: tar -zxf ${{ github.workspace }}/sdk/go.tar.gz -C
+ ${{ github.workspace }}/sdk/go
+ shell: bash
+ - uses: pulumi/publish-go-sdk-action@v1
+ with:
+ repository: ${{ github.repository }}
+ base-ref: ${{ github.sha }}
+ source: sdk
+ path: sdk
+ version: ${{ steps.version.outputs.version }}
+ additive: false
+ # Avoid including other language SDKs & artifacts in the commit
+ files: |
+ go.*
+ go/**
+ !*.tar.gz
clean_up_release_labels:
name: Clean up release labels
diff --git a/.github/workflows/run-acceptance-tests.yml b/.github/workflows/run-acceptance-tests.yml
index 045a9418..b9e4b001 100644
--- a/.github/workflows/run-acceptance-tests.yml
+++ b/.github/workflows/run-acceptance-tests.yml
@@ -112,6 +112,13 @@ jobs:
run: make build_${{ matrix.language }}
- name: Check worktree clean
uses: pulumi/git-status-check-action@v1
+ with:
+ allowed-changes: |
+ sdk/**/pulumi-plugin.json
+ sdk/dotnet/Pulumi.*.csproj
+ sdk/go/*/internal/pulumiUtilities.go
+ sdk/nodejs/package.json
+ sdk/python/pyproject.toml
- name: Compress SDK folder
run: tar -zcf sdk/${{ matrix.language }}.tar.gz -C sdk/${{ matrix.language }} .
- name: Upload artifacts
diff --git a/provider/cmd/pulumi-resource-vsphere/schema.json b/provider/cmd/pulumi-resource-vsphere/schema.json
index d23ea9e2..faab523f 100644
--- a/provider/cmd/pulumi-resource-vsphere/schema.json
+++ b/provider/cmd/pulumi-resource-vsphere/schema.json
@@ -20,12 +20,14 @@
"namespaces": {
"vsphere": "VSphere"
},
- "compatibility": "tfbridge20"
+ "compatibility": "tfbridge20",
+ "respectSchemaVersion": true
},
"go": {
"importBasePath": "github.com/pulumi/pulumi-vsphere/sdk/v4/go/vsphere",
"generateResourceContainerTypes": true,
- "generateExtraInputTypes": true
+ "generateExtraInputTypes": true,
+ "respectSchemaVersion": true
},
"nodejs": {
"packageDescription": "A Pulumi package for creating vsphere resources",
@@ -40,7 +42,8 @@
"@types/node": "^10.9.2"
},
"compatibility": "tfbridge20",
- "disableUnionOutputTypes": true
+ "disableUnionOutputTypes": true,
+ "respectSchemaVersion": true
},
"python": {
"requires": {
@@ -48,6 +51,7 @@
},
"readme": "\u003e This provider is a derived work of the [Terraform Provider](https://github.com/hashicorp/terraform-provider-vsphere)\n\u003e distributed under [MPL 2.0](https://www.mozilla.org/en-US/MPL/2.0/). If you encounter a bug or missing feature,\n\u003e first check the [`pulumi-vsphere` repo](https://github.com/pulumi/pulumi-vsphere/issues); however, if that doesn't turn up anything,\n\u003e please consult the source [`terraform-provider-vsphere` repo](https://github.com/hashicorp/terraform-provider-vsphere/issues).",
"compatibility": "tfbridge20",
+ "respectSchemaVersion": true,
"pyproject": {
"enabled": true
}
diff --git a/provider/resources.go b/provider/resources.go
index 1b52807e..fe1fef4c 100644
--- a/provider/resources.go
+++ b/provider/resources.go
@@ -181,12 +181,15 @@ func Provider() tfbridge.ProviderInfo {
Overlay: &tfbridge.OverlayInfo{
Modules: map[string]*tfbridge.OverlayInfo{},
},
+ RespectSchemaVersion: true,
},
Python: (func() *tfbridge.PythonInfo {
i := &tfbridge.PythonInfo{
+ RespectSchemaVersion: true,
Requires: map[string]string{
"pulumi": ">=3.0.0,<4.0.0",
- }}
+ },
+ }
i.PyProject.Enabled = true
return i
})(),
@@ -199,8 +202,10 @@ func Provider() tfbridge.ProviderInfo {
vspherePkg,
),
GenerateResourceContainerTypes: true,
+ RespectSchemaVersion: true,
},
CSharp: &tfbridge.CSharpInfo{
+ RespectSchemaVersion: true,
PackageReferences: map[string]string{
"Pulumi": "3.*",
},
diff --git a/sdk/dotnet/Pulumi.VSphere.csproj b/sdk/dotnet/Pulumi.VSphere.csproj
index 320ec5cc..ec85d61c 100644
--- a/sdk/dotnet/Pulumi.VSphere.csproj
+++ b/sdk/dotnet/Pulumi.VSphere.csproj
@@ -9,6 +9,7 @@
https://pulumi.io
https://github.com/pulumi/pulumi-vsphere
logo.png
+ 4.0.0-alpha.0+dev
net6.0
enable
diff --git a/sdk/dotnet/pulumi-plugin.json b/sdk/dotnet/pulumi-plugin.json
index 029b550c..f45fe14b 100644
--- a/sdk/dotnet/pulumi-plugin.json
+++ b/sdk/dotnet/pulumi-plugin.json
@@ -1,4 +1,5 @@
{
"resource": true,
- "name": "vsphere"
+ "name": "vsphere",
+ "version": "4.0.0-alpha.0+dev"
}
diff --git a/sdk/go/vsphere/internal/pulumiUtilities.go b/sdk/go/vsphere/internal/pulumiUtilities.go
index 76ff9417..72358adb 100644
--- a/sdk/go/vsphere/internal/pulumiUtilities.go
+++ b/sdk/go/vsphere/internal/pulumiUtilities.go
@@ -165,7 +165,7 @@ func callPlainInner(
func PkgResourceDefaultOpts(opts []pulumi.ResourceOption) []pulumi.ResourceOption {
defaults := []pulumi.ResourceOption{}
- version := SdkVersion
+ version := semver.MustParse("4.0.0-alpha.0+dev")
if !version.Equals(semver.Version{}) {
defaults = append(defaults, pulumi.Version(version.String()))
}
@@ -176,7 +176,7 @@ func PkgResourceDefaultOpts(opts []pulumi.ResourceOption) []pulumi.ResourceOptio
func PkgInvokeDefaultOpts(opts []pulumi.InvokeOption) []pulumi.InvokeOption {
defaults := []pulumi.InvokeOption{}
- version := SdkVersion
+ version := semver.MustParse("4.0.0-alpha.0+dev")
if !version.Equals(semver.Version{}) {
defaults = append(defaults, pulumi.Version(version.String()))
}
diff --git a/sdk/go/vsphere/pulumi-plugin.json b/sdk/go/vsphere/pulumi-plugin.json
index 029b550c..f45fe14b 100644
--- a/sdk/go/vsphere/pulumi-plugin.json
+++ b/sdk/go/vsphere/pulumi-plugin.json
@@ -1,4 +1,5 @@
{
"resource": true,
- "name": "vsphere"
+ "name": "vsphere",
+ "version": "4.0.0-alpha.0+dev"
}
diff --git a/sdk/nodejs/package.json b/sdk/nodejs/package.json
index 7eed73e1..70612aab 100644
--- a/sdk/nodejs/package.json
+++ b/sdk/nodejs/package.json
@@ -1,6 +1,6 @@
{
"name": "@pulumi/vsphere",
- "version": "${VERSION}",
+ "version": "4.0.0-alpha.0+dev",
"description": "A Pulumi package for creating vsphere resources",
"keywords": [
"pulumi",
@@ -24,6 +24,7 @@
},
"pulumi": {
"resource": true,
- "name": "vsphere"
+ "name": "vsphere",
+ "version": "4.0.0-alpha.0+dev"
}
}
diff --git a/sdk/python/pulumi_vsphere/pulumi-plugin.json b/sdk/python/pulumi_vsphere/pulumi-plugin.json
index 029b550c..f45fe14b 100644
--- a/sdk/python/pulumi_vsphere/pulumi-plugin.json
+++ b/sdk/python/pulumi_vsphere/pulumi-plugin.json
@@ -1,4 +1,5 @@
{
"resource": true,
- "name": "vsphere"
+ "name": "vsphere",
+ "version": "4.0.0-alpha.0+dev"
}
diff --git a/sdk/python/pyproject.toml b/sdk/python/pyproject.toml
index 67a2b5d3..914e8d09 100644
--- a/sdk/python/pyproject.toml
+++ b/sdk/python/pyproject.toml
@@ -5,7 +5,7 @@
keywords = ["pulumi", "vsphere"]
readme = "README.md"
requires-python = ">=3.8"
- version = "0.0.0"
+ version = "4.0.0a0+dev"
[project.license]
text = "Apache-2.0"
[project.urls]