-
Notifications
You must be signed in to change notification settings - Fork 3
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
0 parents
commit 9906a81
Showing
38 changed files
with
18,095 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,67 @@ | ||
ARG UBUNTU_VERSION=latest | ||
FROM ubuntu:${UBUNTU_VERSION} | ||
|
||
# Update apt-get and install various needed utilities | ||
RUN apt-get update && \ | ||
apt-get install -y curl && \ | ||
apt-get install -y wget && \ | ||
apt-get install -y xz-utils && \ | ||
apt-get install -y make && \ | ||
apt-get install -y gcc && \ | ||
apt-get install -y git | ||
|
||
# Install bridged provider prerequisites | ||
# See README.md | ||
|
||
# Install go | ||
ARG GO_VERSION=1.21.1 | ||
RUN rm -rf /usr/local/go && \ | ||
wget -O ${GO_VERSION}.tar.gz https://golang.org/dl/go${GO_VERSION}.linux-amd64.tar.gz && \ | ||
tar -C /usr/local -xzf ${GO_VERSION}.tar.gz && \ | ||
rm ${GO_VERSION}.tar.gz | ||
|
||
ENV GOPATH=/root/go | ||
ENV PATH=$PATH:/usr/local/go/bin | ||
|
||
# Install go linter | ||
RUN mkdir -p $GOPATH/bin && \ | ||
curl -sSfL https://raw.githubusercontent.com/golangci/golangci-lint/master/install.sh | sh -s -- -b $GOPATH/bin v1.46.2 | ||
|
||
ENV PATH=$PATH:$GOPATH/bin | ||
|
||
# Install pulumictl | ||
ARG PULUMICTL_VERSION=v0.0.32 | ||
RUN rm -rf /usr/local/bin/pulumictl && \ | ||
wget -O pulumictl.${PULUMICTL_VERSION}.tar.gz https://github.com/pulumi/pulumictl/releases/download/${PULUMICTL_VERSION}/pulumictl-${PULUMICTL_VERSION}-linux-amd64.tar.gz && \ | ||
tar -C /usr/local/bin -xzf pulumictl.${PULUMICTL_VERSION}.tar.gz | ||
|
||
# Install nodejs | ||
ARG NODEJS_VERSION=v16.16.0 | ||
ARG NODEJS_PKG=node-${NODEJS_VERSION}-linux-x64 | ||
ARG NODEJS_TARBALL=${NODEJS_PKG}.tar.xz | ||
RUN rm -rf /usr/local/node && \ | ||
wget -O ${NODEJS_TARBALL} https://nodejs.org/dist/${NODEJS_VERSION}/${NODEJS_TARBALL} && \ | ||
tar -C /usr/local -xf ${NODEJS_TARBALL} && \ | ||
mv /usr/local/${NODEJS_PKG} /usr/local/node | ||
|
||
ENV PATH=$PATH:/usr/local/node/bin | ||
|
||
# Install yarn | ||
RUN npm install --global yarn | ||
|
||
# Install python and related items | ||
RUN apt-get install -y python3 && \ | ||
apt-get install -y python3-setuptools | ||
|
||
# Install .NET | ||
# https://stackoverflow.com/questions/73753672/a-fatal-error-occurred-the-folder-usr-share-dotnet-host-fxr-does-not-exist | ||
RUN apt-get remove dotnet* && \ | ||
apt-get remove aspnetcore* && \ | ||
apt-get remove netstandard& | ||
|
||
RUN apt-get update && \ | ||
apt-get install dotnet-sdk-6.0 -y | ||
|
||
# Install Pulumi | ||
RUN curl -fsSL https://get.pulumi.com | sh | ||
ENV PATH=$PATH:/root/.pulumi/bin |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,8 @@ | ||
// For format details, see https://aka.ms/devcontainer.json. For config options, see the README at: | ||
// https://github.com/microsoft/vscode-dev-containers/tree/v0.202.3/containers/hugo | ||
{ | ||
"name": "TFProvider", | ||
"build": { | ||
"dockerfile": "Dockerfile" | ||
} | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,23 @@ | ||
name: main | ||
|
||
on: | ||
push: | ||
workflow_dispatch: | ||
|
||
jobs: | ||
prerequisites: | ||
permissions: | ||
pull-requests: write | ||
uses: pulumiverse/infra/.github/workflows/[email protected] | ||
with: | ||
provider: cpln | ||
goversion: 1.21.x | ||
build: | ||
needs: prerequisites | ||
uses: pulumiverse/infra/.github/workflows/[email protected] | ||
with: | ||
provider: cpln | ||
goversion: 1.21.x | ||
dotnetversion: 6.0.300 | ||
nodeversion: 14.x | ||
pythonversion: 3.9 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,148 @@ | ||
name: release | ||
on: | ||
push: | ||
branches: | ||
- main | ||
env: | ||
# THIS GITHUB_TOKEN IS A REQUIREMENT TO BE ABLE TO WRITE TO GH RELEASES | ||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | ||
# IF YOU NEED TO PUBLISH A NPM PACKAGE THEN ENSURE A NPM_TOKEN SECRET IS SET | ||
# AND PUBLISH_NPM: TRUE. IF YOU WANT TO PUBLISH TO A PRIVATE NPM REGISTRY | ||
# THEN ENSURE THE NPM_REGISTRY_URL IS CHANGED | ||
NPM_TOKEN: ${{ secrets.NPM_TOKEN }} | ||
PUBLISH_NPM: true | ||
NPM_REGISTRY_URL: https://registry.npmjs.org | ||
# IF YOU NEED TO PUBLISH A NUGET PACKAGE THEN ENSURE AN NUGET_PUBLISH_KEY | ||
# SECRET IS SET AND PUBLISH_NUGET: TRUE. IF YOU WANT TO PUBLISH TO AN ALTERNATIVE | ||
# NPM REGISTRY THEN ENSURE THE NPM_REGISTRY_URL IS CHANGED | ||
NUGET_PUBLISH_KEY: ${{ secrets.NUGET_PUBLISH_KEY }} | ||
NUGET_FEED_URL: https://api.nuget.org/v3/index.json | ||
PUBLISH_NUGET: true | ||
# IF YOU NEED TO PUBLISH A PYPI PACKAGE THEN ENSURE AN PYPI_PASSWORD | ||
# SECRET IS SET AND PUBLISH_PYPI: TRUE. IF YOU WANT TO PUBLISH TO AN ALTERNATIVE | ||
# PYPI REGISTRY THEN ENSURE THE PYPI_REPOSITORY_URL IS SET. IF YOU ARE USING AN API_TOKEN THEN | ||
# YOU DO NOT NEED TO CHANGE THE PYPI_USERNAME (__token__) , IF YOU ARE USING PASSWORD AUTHENTICATION THEN YOU WILL | ||
# NEED TO CHANGE TO USE THE CORRECT PASSWORD | ||
PYPI_PASSWORD: ${{ secrets.PYPI_PASSWORD }} | ||
PYPI_USERNAME: "__token__" | ||
PYPI_REPOSITORY_URL: "" | ||
PUBLISH_PYPI: true | ||
jobs: | ||
publish_binary: | ||
name: publish | ||
runs-on: ubuntu-latest | ||
permissions: | ||
contents: write | ||
steps: | ||
- name: Checkout Repo | ||
uses: actions/checkout@v2 | ||
- name: Bump version | ||
id: version | ||
uses: mapped/action-vtl@latest | ||
with: | ||
baseVersion: 0.1.3 | ||
gitHubToken: ${{ secrets.GITHUB_TOKEN }} | ||
# No need to create VERSION file | ||
versionFile: "" | ||
- name: Unshallow clone for tags | ||
run: git fetch --prune --unshallow --tags | ||
- name: Install Go | ||
uses: actions/setup-go@v2 | ||
with: | ||
go-version: ${{matrix.goversion}} | ||
- name: Install pulumictl | ||
uses: jaxxstorm/[email protected] | ||
with: | ||
repo: pulumi/pulumictl | ||
- name: Set PreRelease Version | ||
run: echo "GORELEASER_CURRENT_TAG=${{ steps.version.outputs.release_tag }}" >> $GITHUB_ENV | ||
- name: Run GoReleaser | ||
uses: goreleaser/goreleaser-action@v4 | ||
with: | ||
args: -p 3 release --rm-dist | ||
version: latest | ||
strategy: | ||
fail-fast: true | ||
matrix: | ||
goversion: | ||
- 1.21.x | ||
publish_sdk: | ||
name: Publish SDKs | ||
runs-on: ubuntu-latest | ||
needs: publish_binary | ||
permissions: | ||
id-token: write | ||
steps: | ||
- name: Checkout Repo | ||
uses: actions/checkout@v2 | ||
- name: Unshallow clone for tags | ||
run: git fetch --prune --unshallow --tags | ||
- name: Install Go | ||
uses: actions/setup-go@v2 | ||
with: | ||
go-version: ${{ matrix.goversion }} | ||
- name: Install pulumictl | ||
uses: jaxxstorm/[email protected] | ||
with: | ||
repo: pulumi/pulumictl | ||
- name: Install Pulumi CLI | ||
uses: pulumi/[email protected] | ||
- name: Setup Node | ||
uses: actions/setup-node@v1 | ||
with: | ||
node-version: ${{matrix.nodeversion}} | ||
registry-url: ${{env.NPM_REGISTRY_URL}} | ||
- name: Setup DotNet | ||
uses: actions/setup-dotnet@v1 | ||
with: | ||
dotnet-version: ${{matrix.dotnetversion}} | ||
- name: Setup Python | ||
uses: actions/setup-python@v1 | ||
with: | ||
python-version: ${{matrix.pythonversion}} | ||
- name: Build SDK | ||
run: make build_${{ matrix.language }} | ||
- name: Check worktree clean | ||
run: | | ||
git update-index -q --refresh | ||
if ! git diff-files --quiet; then | ||
>&2 echo "error: working tree is not clean, aborting!" | ||
git status | ||
git diff | ||
exit 1 | ||
fi | ||
- if: ${{ matrix.language == 'python' && env.PUBLISH_PYPI == 'true' }} | ||
name: Publish package to PyPI | ||
uses: pypa/gh-action-pypi-publish@release/v1 | ||
with: | ||
user: ${{ env.PYPI_USERNAME }} | ||
password: ${{ env.PYPI_PASSWORD }} | ||
packages_dir: ${{github.workspace}}/sdk/python/bin/dist | ||
- if: ${{ matrix.language == 'nodejs' && env.PUBLISH_NPM == 'true' }} | ||
uses: JS-DevTools/npm-publish@v1 | ||
with: | ||
access: "public" | ||
token: ${{ env.NPM_TOKEN }} | ||
package: ${{github.workspace}}/sdk/nodejs/bin/package.json | ||
- if: ${{ matrix.language == 'dotnet' && env.PUBLISH_NUGET == 'true' }} | ||
name: publish nuget package | ||
run: | | ||
dotnet nuget push ${{github.workspace}}/sdk/dotnet/bin/Debug/*.nupkg -s ${{ env.NUGET_FEED_URL }} -k ${{ env.NUGET_PUBLISH_KEY }} | ||
echo "done publishing packages" | ||
strategy: | ||
fail-fast: true | ||
matrix: | ||
dotnetversion: | ||
- 6.0.300 | ||
goversion: | ||
- 1.21.x | ||
language: | ||
- nodejs | ||
- python | ||
- dotnet | ||
- go | ||
nodeversion: | ||
- 14.x | ||
pythonversion: | ||
- "3.9" | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,58 @@ | ||
name: Upgrade provider | ||
on: | ||
workflow_dispatch: | ||
|
||
schedule: | ||
- cron: "0 5 * * *" | ||
|
||
env: | ||
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} | ||
jobs: | ||
# TODO: Switch to shared CI like here | ||
# https://github.com/pulumiverse/pulumi-vercel/blob/main/.github/workflows/upgrade-provider.yml | ||
# after this issue is fixed | ||
# https://github.com/pulumi/upgrade-provider/issues/179 | ||
# or when have time to fix failing go mod tidy in "all" mode. | ||
upgrade_provider: | ||
name: upgrade-provider | ||
runs-on: ubuntu-latest | ||
permissions: | ||
contents: write | ||
pull-requests: write | ||
issues: write | ||
steps: | ||
- name: Install Go | ||
uses: actions/setup-go@v3 | ||
with: | ||
go-version: 1.21.x | ||
- name: Install pulumictl | ||
uses: jaxxstorm/[email protected] | ||
with: | ||
repo: pulumi/pulumictl | ||
- name: Install Pulumi CLI | ||
uses: pulumi/actions@v4 | ||
- name: Checkout repo | ||
uses: actions/checkout@v3 | ||
with: | ||
ref: ${{ github.ref_name }} | ||
|
||
- name: Unshallow clone for tags | ||
run: git fetch --prune --unshallow --tags | ||
shell: bash | ||
- name: Install upgrade-provider | ||
run: go install github.com/pulumi/upgrade-provider@176a45cf2471d5fccd6235c385ba1ec17b74a37f | ||
shell: bash | ||
- name: Setup Gradle | ||
uses: gradle/gradle-build-action@v2 | ||
with: | ||
gradle-version: "7.6" | ||
- name: "Set up git identity: name" | ||
run: git config --global user.name 'vavsab' | ||
shell: bash | ||
- name: Run upgrade-provider | ||
run: | | ||
upgrade-provider "$REPO" --kind="provider" --pr-reviewers="vavsab" | ||
shell: bash | ||
env: | ||
GH_TOKEN: ${{ env.GH_TOKEN }} | ||
REPO: ${{ github.repository }} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,23 @@ | ||
.idea | ||
.code | ||
**/vendor/ | ||
.pulumi | ||
**/bin/ | ||
**/obj/ | ||
Pulumi.*.yaml | ||
**/node_modules/ | ||
.DS_Store | ||
|
||
**/command-output/ | ||
|
||
.idea/ | ||
*.iml | ||
|
||
yarn.lock | ||
**/pulumiManifest.go | ||
|
||
ci-scripts | ||
provider/**/schema-embed.json | ||
**/version.txt | ||
**/nuget | ||
**/dist |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,24 @@ | ||
linters: | ||
enable: | ||
- deadcode | ||
- errcheck | ||
- goconst | ||
- gofmt | ||
- golint | ||
- gosec | ||
- govet | ||
- ineffassign | ||
- interfacer | ||
- lll | ||
- megacheck | ||
- misspell | ||
- nakedret | ||
- structcheck | ||
- unconvert | ||
- varcheck | ||
enable-all: false | ||
run: | ||
skip-files: | ||
- schema.go | ||
- pulumiManifest.go | ||
timeout: 20m |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,28 @@ | ||
archives: | ||
- id: archive | ||
name_template: '{{ .Binary }}-{{ .Tag }}-{{ .Os }}-{{ .Arch }}' | ||
before: | ||
hooks: | ||
- make tfgen | ||
builds: | ||
- binary: pulumi-resource-cpln | ||
dir: provider | ||
env: | ||
- CGO_ENABLED=0 | ||
goarch: | ||
- amd64 | ||
- arm64 | ||
goos: | ||
- darwin | ||
- windows | ||
- linux | ||
ldflags: | ||
- -X github.com/pulumiverse/pulumi-cpln/provider/pkg/version.Version={{.Tag }} | ||
main: ./cmd/pulumi-resource-cpln/ | ||
changelog: | ||
skip: true | ||
release: | ||
disable: false | ||
prerelease: auto | ||
snapshot: | ||
name_template: '{{ .Tag }}-SNAPSHOT' |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,2 @@ | ||
upstream-provider-name: terraform-provider-cpln | ||
pr-assign: vavsab |
Oops, something went wrong.