Skip to content

Commit 5610283

Browse files
authored
Adding mise.toml file generation. (#1629)
1 parent 31ebf52 commit 5610283

File tree

20 files changed

+277
-12
lines changed

20 files changed

+277
-12
lines changed

.github/workflows/test-provider-ci.yml

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,10 @@ jobs:
3636
# Set the default branch to silence the warnings about the default branch name changing
3737
# The branch doesn't matter here because it's only used for a temp repo for actionlint
3838
run: git config --global init.defaultBranch master
39+
- name: Install mise
40+
uses: jdx/mise-action@v2
41+
with:
42+
version: 2025.7.12
3943
- name: Build & test
4044
run: cd provider-ci && make all
4145
- name: Check worktree clean

provider-ci/Makefile

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -51,6 +51,9 @@ test-provider/%: bin/provider-ci $(ACTIONLINT)
5151
cp -r test-providers/$(PROVIDER_NAME) bin/test-provider
5252
cd bin/test-provider/$(PROVIDER_NAME) && git init
5353
cd bin/test-provider/$(PROVIDER_NAME) && ../../../$(ACTIONLINT) -config-file ../../../../.github/actionlint.yaml
54+
# Experimental mise flag required to support building golang binaries (e.g. pulumictl)
55+
mise settings experimental=true
56+
cd bin/test-provider/$(PROVIDER_NAME) && mise trust && mise install && mise env
5457

5558
# Fetch the latest .ci-mgmt.yaml from the provider repositories ready for testing.
5659
update-provider-configs:

provider-ci/internal/pkg/templates.go

Lines changed: 9 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,8 @@ const (
2727
native = "native"
2828
// workflows for aws-native provider
2929
awsNative = "aws-native"
30+
// mise.toml file generation
31+
mise = "mise"
3032
)
3133

3234
// getTemplateDirs returns a list of directories in the embedded filesystem that form the overall template.
@@ -39,21 +41,21 @@ func getTemplateDirs(templateName string) ([]TemplateDir, error) {
3941
switch templateName {
4042
case "bridged-provider":
4143
// Any Pulumi-owned bridged provider
42-
return []TemplateDir{base, internal, bridged, internalBridged}, nil
44+
return []TemplateDir{base, internal, bridged, internalBridged, mise}, nil
4345
case "external-bridged-provider":
4446
// third-party bridged providers
45-
return []TemplateDir{base, external, bridged}, nil
47+
return []TemplateDir{base, external, bridged, mise}, nil
4648
case "external-native-provider":
47-
return []TemplateDir{native, external}, nil // Can't use base because it has a Makefile that would conflict
49+
return []TemplateDir{native, external, mise}, nil // Can't use base because it has a Makefile that would conflict
4850
case "generic":
4951
// Pulumi-owned providers not based on tf-bridge
50-
return []TemplateDir{base, internal}, nil
52+
return []TemplateDir{base, internal, mise}, nil
5153
case "parameterized-go":
52-
return []TemplateDir{base, parameterizedGo /* overrides Makefile */}, nil
54+
return []TemplateDir{base, parameterizedGo, mise /* overrides Makefile */}, nil
5355
case "native":
54-
return []TemplateDir{native, internal}, nil // Can't use base because it has a Makefile that would conflict
56+
return []TemplateDir{native, internal, mise}, nil // Can't use base because it has a Makefile that would conflict
5557
case "aws-native":
56-
return []TemplateDir{native, internal, awsNative}, nil // AWS native has 2 extra workflows
58+
return []TemplateDir{native, internal, awsNative, mise}, nil // AWS native has 2 extra workflows
5759
default:
5860
return nil, fmt.Errorf("unknown template: %s", templateName)
5961
}

provider-ci/internal/pkg/templates/base/devbox.json

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -2,11 +2,11 @@
22
"packages": [
33
"yarn@latest",
44
"pulumictl@latest",
5-
"go@#{{ trimAll "x" .Config.ToolVersions.Go }}#",
6-
"nodejs@#{{ trimAll "x" .Config.ToolVersions.Nodejs }}#",
7-
"python3@#{{ trimAll "x" .Config.ToolVersions.Python }}#",
8-
"dotnet-sdk@#{{ trimAll "x" .Config.ToolVersions.Dotnet }}#",
9-
"gradle_7@#{{ trimAll "x" .Config.ToolVersions.Gradle }}#",
5+
"go@#{{ trimSuffix "x" .Config.ToolVersions.Go }}#",
6+
"nodejs@#{{ trimSuffix "x" .Config.ToolVersions.Nodejs }}#",
7+
"python3@#{{ trimSuffix "x" .Config.ToolVersions.Python }}#",
8+
"dotnet-sdk@#{{ trimSuffix "x" .Config.ToolVersions.Dotnet }}#",
9+
"gradle_7@#{{ trimSuffix "x" .Config.ToolVersions.Gradle }}#",
1010
"curl@8"
1111
],
1212
"shell": {
Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
# WARNING: This file is autogenerated - changes will be overwritten when regenerated by https://github.com/pulumi/ci-mgmt
2+
3+
[tools]
4+
5+
# Runtimes
6+
go = '#{{ trimSuffix ".x" .Config.ToolVersions.Go }}#'
7+
node = '#{{ trimSuffix ".x" .Config.ToolVersions.Nodejs }}#'
8+
python = '#{{ trimSuffix ".x" .Config.ToolVersions.Python }}#'
9+
dotnet = '#{{ trimSuffix ".x" .Config.ToolVersions.Dotnet }}#'
10+
# Corretto version used as Java SE/OpenJDK version no longer offered
11+
java = 'corretto-#{{trimSuffix ".x" .Config.ToolVersions.Java }}#'
12+
13+
# Executable tools
14+
pulumi = 'latest'
15+
"go:github.com/pulumi/pulumictl/cmd/pulumictl" = 'latest'
16+
gradle = '#{{ trimSuffix ".x" .Config.ToolVersions.Gradle }}#'
Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
# WARNING: This file is autogenerated - changes will be overwritten when regenerated by https://github.com/pulumi/ci-mgmt
2+
3+
[tools]
4+
5+
# Runtimes
6+
go = '1.21'
7+
node = '20'
8+
python = '3.11.8'
9+
dotnet = '8.0'
10+
# Corretto version used as Java SE/OpenJDK version no longer offered
11+
java = 'corretto-11'
12+
13+
# Executable tools
14+
pulumi = 'latest'
15+
"go:github.com/pulumi/pulumictl/cmd/pulumictl" = 'latest'
16+
gradle = '7.6'
Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
# WARNING: This file is autogenerated - changes will be overwritten when regenerated by https://github.com/pulumi/ci-mgmt
2+
3+
[tools]
4+
5+
# Runtimes
6+
go = '1.21'
7+
node = '20'
8+
python = '3.11.8'
9+
dotnet = '8.0'
10+
# Corretto version used as Java SE/OpenJDK version no longer offered
11+
java = 'corretto-11'
12+
13+
# Executable tools
14+
pulumi = 'latest'
15+
"go:github.com/pulumi/pulumictl/cmd/pulumictl" = 'latest'
16+
gradle = '7.6'
Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
# WARNING: This file is autogenerated - changes will be overwritten when regenerated by https://github.com/pulumi/ci-mgmt
2+
3+
[tools]
4+
5+
# Runtimes
6+
go = '1.23'
7+
node = '20'
8+
python = '3.11.8'
9+
dotnet = '6.0'
10+
# Corretto version used as Java SE/OpenJDK version no longer offered
11+
java = 'corretto-11'
12+
13+
# Executable tools
14+
pulumi = 'latest'
15+
"go:github.com/pulumi/pulumictl/cmd/pulumictl" = 'latest'
16+
gradle = '7.6'
Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
# WARNING: This file is autogenerated - changes will be overwritten when regenerated by https://github.com/pulumi/ci-mgmt
2+
3+
[tools]
4+
5+
# Runtimes
6+
go = '1.21'
7+
node = '20'
8+
python = '3.11.8'
9+
dotnet = '8.0'
10+
# Corretto version used as Java SE/OpenJDK version no longer offered
11+
java = 'corretto-11'
12+
13+
# Executable tools
14+
pulumi = 'latest'
15+
"go:github.com/pulumi/pulumictl/cmd/pulumictl" = 'latest'
16+
gradle = '7.6'
Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
# WARNING: This file is autogenerated - changes will be overwritten when regenerated by https://github.com/pulumi/ci-mgmt
2+
3+
[tools]
4+
5+
# Runtimes
6+
go = '1.21'
7+
node = '20'
8+
python = '3.11.8'
9+
dotnet = '8.0'
10+
# Corretto version used as Java SE/OpenJDK version no longer offered
11+
java = 'corretto-11'
12+
13+
# Executable tools
14+
pulumi = 'latest'
15+
"go:github.com/pulumi/pulumictl/cmd/pulumictl" = 'latest'
16+
gradle = '7.6'

0 commit comments

Comments
 (0)