Skip to content

Commit e60721c

Browse files
authored
Initial commit
0 parents  commit e60721c

File tree

132 files changed

+9320
-0
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

132 files changed

+9320
-0
lines changed

.ci-mgmt.yaml

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
template: native
2+
provider: provider-boilerplate
3+
major-version: 0
4+
providerDefaultBranch: main
5+
publishRegistry: false
6+
providerVersion: github.com/pulumi/pulumi-provider-boilerplate/provider.Version
7+
parallel: 3
8+
sdkModuleDir: sdk/go/pulumi-provider-boilerplate
9+
esc:
10+
enabled: true
11+
environment: imports/github-secrets
12+
# For some reason this is required. If it's omitted all of the env keys get duplicated.
13+
envOverride:
14+
FOO: BAR

.config/mise.test.toml

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
# WARNING: This file is autogenerated - changes will be overwritten when regenerated by https://github.com/pulumi/ci-mgmt
2+
3+
# Overrides for test workflows
4+
5+
[env]
6+
# Acceptance (specifically providertest) tests require that PULUMI_HOME be the default
7+
PULUMI_HOME = "{{ env.HOME }}/.pulumi"
8+
9+
[tools]
10+
# always use pulumi latest for tests
11+
pulumi = "latest"

.config/mise.toml

Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
# WARNING: This file is autogenerated - changes will be overwritten when regenerated by https://github.com/pulumi/ci-mgmt
2+
# You can create your own root-level mise.toml file to override/augment this. See https://mise.jdx.dev/configuration.html
3+
4+
[env]
5+
_.source = "{{config_root}}/scripts/get-versions.sh"
6+
PULUMI_HOME = "{{config_root}}/.pulumi"
7+
8+
[tools]
9+
10+
# Runtimes
11+
# TODO: we may not need 'get_env' once https://github.com/jdx/mise/discussions/6339 is fixed
12+
go = "{{ get_env(name='GO_VERSION_MISE', default='latest') }}"
13+
node = '20.19.5'
14+
python = '3.11.8'
15+
dotnet = '8.0.414'
16+
# Corretto version used as Java SE/OpenJDK version no longer offered
17+
java = 'corretto-11'
18+
19+
# Executable tools
20+
pulumi = "{{ get_env(name='PULUMI_VERSION_MISE', default='latest') }}"
21+
"github:pulumi/pulumictl" = '0.0.50'
22+
"github:pulumi/schema-tools" = "0.6.0"
23+
"aqua:gradle/gradle-distributions" = '7.6.6'
24+
golangci-lint = "1.64.8" # See note about about overrides if you need to customize this.
25+
"npm:yarn" = "1.22.22"
26+
27+
[settings]
28+
experimental = true # Required for Go binaries (e.g. pulumictl).
29+
lockfile = false
30+
31+
[plugins]
32+
vfox-pulumi = "https://github.com/pulumi/vfox-pulumi"

.github/ISSUE_TEMPLATE/bug.yaml

Lines changed: 69 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,69 @@
1+
name: Bug Report
2+
description: Report something that's not working correctly
3+
labels: ["kind/bug", "needs-triage"]
4+
body:
5+
- type: markdown
6+
attributes:
7+
value: |
8+
Thanks for taking the time to fill out this bug report!
9+
You can also ask questions on our [Community Slack](https://slack.pulumi.com/).
10+
- type: textarea
11+
id: what-happened
12+
attributes:
13+
label: Describe what happened
14+
description: Please summarize what happened, including what Pulumi commands you ran, as well as
15+
an inline snippet of any relevant error or console output.
16+
validations:
17+
required: true
18+
- type: textarea
19+
id: sample-program
20+
attributes:
21+
label: Sample program
22+
description: |
23+
<details><summary>Provide a reproducible sample program</summary>
24+
If this is a bug you encountered while running a Pulumi command, please provide us with a minimal,
25+
self-contained Pulumi program that reproduces this behavior so that we can investigate on our end.
26+
Without a functional reproduction, we will not be able to prioritize this bug.
27+
**Note:** If the program output is more than a few lines, please send us a Gist or a link to a file.
28+
</details>
29+
validations:
30+
required: true
31+
- type: textarea
32+
id: log-output
33+
attributes:
34+
label: Log output
35+
description: |
36+
<details><summary>How to Submit Logs</summary>
37+
If this is something that is dependent on your environment, please also provide us with the output of
38+
`pulumi up --logtostderr --logflow -v=10` from the root of your project.
39+
We may also ask you to supply us with debug output following [these steps](https://www.pulumi.com/docs/using-pulumi/pulumi-packages/debugging-provider-packages/).
40+
**Note:** If the log output is more than a few lines, please send us a Gist or a link to a file.
41+
</details>
42+
- type: textarea
43+
id: resources
44+
attributes:
45+
label: Affected Resource(s)
46+
description: Please list the affected Pulumi Resource(s) or Function(s).
47+
validations:
48+
required: false
49+
- type: textarea
50+
id: versions
51+
attributes:
52+
label: Output of `pulumi about`
53+
description: Provide the output of `pulumi about` from the root of your project.
54+
validations:
55+
required: true
56+
- type: textarea
57+
id: ctx
58+
attributes:
59+
label: Additional context
60+
description: Anything else you would like to add?
61+
validations:
62+
required: false
63+
- type: textarea
64+
id: voting
65+
attributes:
66+
label: Contributing
67+
value: |
68+
Vote on this issue by adding a 👍 reaction.
69+
To contribute a fix for this issue, leave a comment (and link to your pull request, if you've opened one already).

.github/ISSUE_TEMPLATE/epic.md

Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
1+
---
2+
name: Epic
3+
about: Tracks a shippable unit of work
4+
title: '[Epic] {your-title-here}'
5+
labels: kind/epic
6+
projects: ['pulumi/32']
7+
assignees: ''
8+
type: Epic
9+
---
10+
11+
## Overview
12+
<!-- Start with a one- to three-sentence summary that should be understandable by any Pulumian or community member, even those without any context on the work. -->
13+
14+
## Key KPIs
15+
<!-- What KPIs should this Epic will move; what could we measure to observe that this project was successful? -->
16+
17+
## Key Stakeholders
18+
- Product and Engineering: <!-- Teams and individuals involved in the design and implementation -->
19+
- Documentation: <!-- Representative from the docs team -->
20+
- Marketing/Partnerships: <!-- Representative from the Marketing team -->
21+
- Customers: <!-- [Tracking Issue](add-link-and-uncomment) -->
22+
23+
## Key Deliverables
24+
<!-- List any discrete chunks of work or milestones that are planned in the epic (eg. subcomponent A, dogfood release, beta, etc.) -->
25+
26+
### References 📔
27+
28+
<!-- Any project that is more than one iteration should have a Project Board using this [template](https://github.com/orgs/pulumi/projects/131). -->
29+
- [ ] Project View <!-- [Link](add-link-and-uncomment) -->
30+
- [ ] PR/FAQ <!-- [Link](add-link-and-uncomment) -->
31+
- [ ] Design Doc <!-- [Link](add-link-and-uncomment) -->
32+
- [ ] UX Designs <!-- [Link](add-link-and-uncomment) -->
33+
- [ ] Decision Log <!-- [Link](add-link-and-uncomment) -->
34+
35+
<!-- Work items should be added to the project board linked above -->
Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
name: Download Provider Binary
2+
description: Downloads the provider binary artifact and restores executable permissions
3+
4+
runs:
5+
using: "composite"
6+
steps:
7+
- name: Download provider
8+
uses: actions/download-artifact@018cc2cf5baa6db3ef3c5f8a56943fffe632ef53 # v6.0.0
9+
with:
10+
name: pulumi-${{ env.PROVIDER }}-provider.tar.gz
11+
path: ${{ github.workspace }}/bin
12+
13+
- name: UnTar provider binaries
14+
shell: bash
15+
run: tar -zxf ${{ github.workspace }}/bin/provider.tar.gz -C ${{ github.workspace}}/bin
16+
17+
- name: Restore Binary Permissions
18+
shell: bash
19+
run: find ${{ github.workspace }} -name "pulumi-*-${{ env.PROVIDER }}" -print -exec chmod +x {} \;
Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
name: Download SDK
2+
description: Downloads and extracts SDK artifacts for a specific language
3+
4+
inputs:
5+
language:
6+
description: 'The SDK language to download (nodejs, python, dotnet, java)'
7+
required: true
8+
9+
runs:
10+
using: "composite"
11+
steps:
12+
- name: Download SDK
13+
uses: actions/download-artifact@018cc2cf5baa6db3ef3c5f8a56943fffe632ef53 # v6.0.0
14+
with:
15+
name: ${{ inputs.language }}-sdk.tar.gz
16+
path: ${{ github.workspace }}/sdk/
17+
18+
- name: UnTar SDK folder
19+
shell: bash
20+
run: tar -zxf ${{ github.workspace }}/sdk/${{ inputs.language }}.tar.gz -C ${{ github.workspace }}/sdk/${{ inputs.language }}
Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
name: "Load secrets"
2+
description: |
3+
This is a temporary action which assists with our migration to ESC. Instead
4+
of surrounding every step that references secrets with an "if ESC" block, we
5+
instead modify those steps to consume their secrets from this step's outputs.
6+
Then, later, we can replace this action with esc-action to actually load
7+
secrets from ESC.
8+
inputs: {}
9+
outputs: {}
10+
runs:
11+
using: "node20"
12+
main: "index.js"
Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
const fs = require("fs");
2+
3+
const file = process.env["GITHUB_OUTPUT"];
4+
var stream = fs.createWriteStream(file, { flags: "a" });
5+
6+
for (const [name, value] of Object.entries(process.env)) {
7+
try {
8+
stream.write(`${name}<<EEEOOOFFF\n${value}\nEEEOOOFFF\n`); // << syntax accommodates multiline strings.
9+
} catch (err) {
10+
console.log(`error: failed to set output for ${name}: ${err.message}`);
11+
}
12+
}
13+
14+
stream.end();
Lines changed: 41 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,41 @@
1+
name: Setup Tools
2+
description: Installs all tools (Go, Node, Python, .NET, Java, Pulumi, etc.) using mise
3+
4+
inputs:
5+
cache:
6+
description: Enable caching
7+
required: false
8+
default: "false"
9+
github_token:
10+
description: GitHub token
11+
required: true
12+
13+
runs:
14+
using: "composite"
15+
steps:
16+
- name: Setup mise
17+
uses: jdx/mise-action@146a28175021df8ca24f8ee1828cc2a60f980bd5 # v3
18+
env:
19+
MISE_FETCH_REMOTE_VERSIONS_TIMEOUT: 30s
20+
with:
21+
version: 2025.11.6
22+
cache_save: ${{ inputs.cache }}
23+
github_token: ${{ inputs.github_token }}
24+
25+
- name: Setup Go Cache
26+
uses: actions/setup-go@4dc6199c7b1a012772edbd06daecab0f50c9053c # v6.1.0
27+
with:
28+
cache: ${{ inputs.cache }}
29+
cache-dependency-path: |
30+
provider/*.sum
31+
upstream/*.sum
32+
sdk/go/*.sum
33+
sdk/*.sum
34+
*.sum
35+
36+
- name: Setup Node
37+
uses: actions/setup-node@395ad3262231945c25e8478fd5baf05154b1d79f # v6
38+
with:
39+
# we don't set node-version because we install with mise.
40+
# this step is needed to setup npm auth
41+
registry-url: https://registry.npmjs.org

0 commit comments

Comments
 (0)