Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Organise template directories #1346

Open
wants to merge 4 commits into
base: master
Choose a base branch
from
Open
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
22 changes: 10 additions & 12 deletions provider-ci/internal/pkg/templates.go
Original file line number Diff line number Diff line change
Expand Up @@ -10,18 +10,16 @@ type TemplateDir string

// Template directories
const (
// configuration to run the repository in a dev container
devContainer TemplateDir = "dev-container"
// git attributes, go config, CI reusable workflows
provider TemplateDir = "provider"
// CoC, upgrade-provider config, issue templates, command dispatch workflows
pulumiProvider TemplateDir = "pulumi-provider"
// ci-mgmt pull-based updates workflow
externalProvider TemplateDir = "external-provider"
// Globally relevant: git attributes, go config, CI reusable workflows
base TemplateDir = "base"
// Pulumi-managed providers only: CoC, upgrade-provider config, issue templates, command dispatch workflows
internal TemplateDir = "internal"
// 3rd party managed providers only: ci-mgmt pull-based updates workflow
external TemplateDir = "external"
// Generic provider CI templates
providerCi = "provider-ci"
// Makefile for bridged providers (internal & external)
bridgedProvider TemplateDir = "bridged-provider"
bridged TemplateDir = "bridged"
)

// getTemplateDirs returns a list of directories in the embedded filesystem that form the overall template.
Expand All @@ -34,13 +32,13 @@ func getTemplateDirs(templateName string) ([]TemplateDir, error) {
switch templateName {
case "bridged-provider":
// Any Pulumi-owned bridged provider
return []TemplateDir{devContainer, provider, pulumiProvider, providerCi, bridgedProvider}, nil
return []TemplateDir{base, internal, providerCi, bridged}, nil
case "external-bridged-provider":
// third-party bridged providers
return []TemplateDir{devContainer, provider, externalProvider, providerCi, bridgedProvider}, nil
return []TemplateDir{base, external, providerCi, bridged}, nil
case "generic":
// currently almost identical to the bridged-provider template
return []TemplateDir{provider, pulumiProvider, providerCi, bridgedProvider}, nil
return []TemplateDir{base, internal, providerCi, bridged}, nil
default:
return nil, fmt.Errorf("unknown template: %s", templateName)
}
Expand Down
12 changes: 12 additions & 0 deletions provider-ci/test-providers/eks/.devcontainer/Dockerfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
FROM jetpackio/devbox:latest

# Installing your devbox project
WORKDIR /code
COPY devbox.json devbox.json
COPY devbox.lock devbox.lock
RUN sudo chown -R "${DEVBOX_USER}:${DEVBOX_USER}" /code


RUN devbox run -- echo "Installed Packages."

RUN devbox shellenv --init-hook >> ~/.profile
16 changes: 16 additions & 0 deletions provider-ci/test-providers/eks/.devcontainer/devcontainer.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
{
"name": "Devbox Remote Container",
"build": {
"dockerfile": "./Dockerfile",
"context": ".."
},
"customizations": {
"vscode": {
"settings": {},
"extensions": [
"jetpack-io.devbox"
]
}
},
"remoteUser": "devbox"
}
22 changes: 22 additions & 0 deletions provider-ci/test-providers/eks/devbox.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
{
"packages": [
"yarn@latest",
"pulumictl@latest",
"[email protected].",
"nodejs@20.",
"[email protected]",
"[email protected].",
"[email protected]",
"curl@8"
],
"shell": {
"init_hook": [
"export PATH=\"$(pwd)/bin/:$PATH\""
],
"scripts": {
"test": [
"echo \"Error: no test specified\" && exit 1"
]
}
}
}
1 change: 1 addition & 0 deletions provider-ci/test-providers/eks/devbox.lock
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
{}
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

should that be committed?

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yup ... from #721

  • add an empty devbox.lock file to the bridged provider template so that the devcontainer will build.

Loading