Skip to content

Commit

Permalink
Crane provider for pulumi
Browse files Browse the repository at this point in the history
  • Loading branch information
Zemnmez committed Oct 27, 2024
1 parent 4584ae7 commit 7bc6a53
Show file tree
Hide file tree
Showing 86 changed files with 4,719 additions and 4 deletions.
4 changes: 2 additions & 2 deletions MODULE.bazel.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

7 changes: 6 additions & 1 deletion gazelle_python.yaml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

4 changes: 4 additions & 0 deletions go/gazelle/ts/config/config.go
Original file line number Diff line number Diff line change
Expand Up @@ -309,6 +309,10 @@ func generateRule(fileName string, args language.GenerateArgs) (res *GenerateRul

r.SetAttr("src", fileName)

if args.File == nil {
return nil, nil
}

res = &GenerateRuleResult{
rule: r,
imports: NewDepSet(args.File.Pkg, conf.Extends.Strings()...),
Expand Down
81 changes: 81 additions & 0 deletions go/pulumi/plugin/crane/.github/actions/setup-tools/action.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,81 @@
name: Setup tools
description: Installs Go, Pulumi, pulumictl, schema-tools, Node.JS, Python, dotnet and Java.

inputs:
tools:
description: |
Comma separated list of tools to install. The default of "all" installs all tools. Available tools are:
go
pulumicli
pulumictl
schema-tools
nodejs
python
dotnet
java
default: all

runs:
using: "composite"
steps:
- name: Install Go
if: inputs.tools == 'all' || contains(inputs.tools, 'go')
uses: actions/setup-go@v5
with:
go-version: "1.21.x"
cache-dependency-path: |
provider/*.sum
upstream/*.sum
sdk/*.sum
- name: Install pulumictl
if: inputs.tools == 'all' || contains(inputs.tools, 'pulumictl')
uses: jaxxstorm/[email protected]
with:
tag: v0.0.46
repo: pulumi/pulumictl

- name: Install Pulumi CLI
if: inputs.tools == 'all' || contains(inputs.tools, 'pulumicli')
uses: pulumi/actions@v5
with:
pulumi-version: "dev"

- name: Install Schema Tools
if: inputs.tools == 'all' || contains(inputs.tools, 'schema-tools')
uses: jaxxstorm/[email protected]
with:
repo: pulumi/schema-tools

- name: Setup Node
if: inputs.tools == 'all' || contains(inputs.tools, 'nodejs')
uses: actions/setup-node@v4
with:
node-version: 20.x
registry-url: https://registry.npmjs.org

- name: Setup DotNet
if: inputs.tools == 'all' || contains(inputs.tools, 'dotnet')
uses: actions/setup-dotnet@v4
with:
dotnet-version: 6.0.x

- name: Setup Python
if: inputs.tools == 'all' || contains(inputs.tools, 'python')
uses: actions/setup-python@v5
with:
python-version: 3.11.8

- name: Setup Java
if: inputs.tools == 'all' || contains(inputs.tools, 'java')
uses: actions/setup-java@v4
with:
cache: gradle
distribution: temurin
java-version: 11

- name: Setup Gradle
if: inputs.tools == 'all' || contains(inputs.tools, 'java')
uses: gradle/gradle-build-action@v3
with:
gradle-version: 7.6
59 changes: 59 additions & 0 deletions go/pulumi/plugin/crane/.github/workflows/makefile.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,59 @@
name: Makefile

on:
workflow_dispatch:
push:
branches:
- main
pull_request:
branches:
- main
schedule:
- cron: "0 0 * * *"

jobs:
build:
runs-on: ubuntu-latest
container:
image: docker://ghcr.io/pulumi/devcontainer:latest
options: --user root
permissions:
contents: read
packages: read
actions: read
steps:
- name: Checkout repository
uses: actions/checkout@v4
id: git
with:
submodules: "recursive"
- name: Unshallow clone for tags
id: tags
run: |
sudo chown -R $(whoami) /__w/pulumi-provider-boilerplate/pulumi-provider-boilerplate
git config --global --add safe.directory /__w/pulumi-provider-boilerplate/pulumi-provider-boilerplate
git fetch --prune --unshallow --tags
- name: Setup tools
uses: ./.github/actions/setup-tools
with:
tools: go, pulumicli, pulumictl, nodejs, python, dotnet
- name: Build
id: build
run: |
make build
- name: Install
id: install
run: |
set -ex
make install
- name: PulumiUp
id: up
run: make up
- name: PulumiDown
id: down
run: make down
- name: Generate multi-language examples from yaml IaC program
id: examples
run: |
set -ex
make gen_examples
13 changes: 13 additions & 0 deletions go/pulumi/plugin/crane/.gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
/vendor/
**/bin/
**/obj/
**/node_modules/
**/.vs
**/.idea
**/.ionide
.pulumi
Pulumi.*.yaml
yarn.lock
ci-scripts
/nuget/
provider/**/schema-embed.json
Loading

0 comments on commit 7bc6a53

Please sign in to comment.