Skip to content

Commit

Permalink
[internal] Adding support for Java SDK to the pulumi-eks repo
Browse files Browse the repository at this point in the history
  • Loading branch information
stack72 committed Jul 12, 2022
1 parent 361b1d1 commit 35bf6a3
Show file tree
Hide file tree
Showing 40 changed files with 12,272 additions and 1 deletion.
37 changes: 37 additions & 0 deletions .github/workflows/master.yml
Original file line number Diff line number Diff line change
Expand Up @@ -8,10 +8,16 @@ env:
NPM_TOKEN: ${{ secrets.NPM_TOKEN }}
NUGET_PUBLISH_KEY: ${{ secrets.NUGET_PUBLISH_KEY }}
PROVIDER: eks
PUBLISH_REPO_PASSWORD: ${{ secrets.OSSRH_PASSWORD }}
PUBLISH_REPO_URL: https://s01.oss.sonatype.org/service/local/staging/deploy/maven2/
PUBLISH_REPO_USERNAME: ${{ secrets.OSSRH_USERNAME }}
PULUMI_ACCESS_TOKEN: ${{ secrets.PULUMI_ACCESS_TOKEN }}
PULUMI_API: https://api.pulumi-staging.io
SLACK_WEBHOOK_URL: ${{ secrets.SLACK_WEBHOOK_URL }}
PYPI_PASSWORD: ${{ secrets.PYPI_PASSWORD }}
SIGNING_KEY: ${{ secrets.JAVA_SIGNING_KEY }}
SIGNING_KEY_ID: ${{ secrets.JAVA_SIGNING_KEY_ID }}
SIGNING_PASSWORD: ${{ secrets.JAVA_SIGNING_PASSWORD }}
PULUMI_ENABLE_RESOURCE_REFERENCES: 1
PULUMI_LOCAL_NUGET: ${{ github.workspace }}/nuget
jobs:
Expand Down Expand Up @@ -121,6 +127,12 @@ jobs:
with:
node-version: ${{matrix.nodeversion}}
registry-url: https://registry.npmjs.org
- name: Setup Java
uses: actions/setup-java@v3
with:
cache: gradle
distribution: temurin
java-version: ${{matrix.javaversion}}
- name: Install Yarn
run: curl -o- -L https://yarnpkg.com/install.sh | bash -s -- --version 1.13.0
- name: Update PATH for Yarn
Expand Down Expand Up @@ -149,6 +161,9 @@ jobs:
- nodejs
- python
- dotnet
- java
javaversion:
- 11
nodeversion:
- 14.x
pythonversion:
Expand Down Expand Up @@ -202,6 +217,9 @@ jobs:
steps:
- name: Checkout Repo
uses: actions/checkout@v2
- name: Set PACKAGE_VERSION to Env
run: echo "PACKAGE_VERSION=v$(pulumictl get version --language generic)" >>
$GITHUB_ENV
- name: Checkout Scripts Repo
uses: actions/checkout@v2
with:
Expand All @@ -226,6 +244,12 @@ jobs:
registry-url: https://registry.npmjs.org
- name: Setup Python
uses: actions/setup-python@v2
- name: Setup Java
uses: actions/setup-java@v3
with:
cache: gradle
distribution: temurin
java-version: 11
- name: Download NodeJS SDK
uses: actions/download-artifact@v2
with:
Expand All @@ -249,10 +273,23 @@ jobs:
path: ${{ github.workspace}}
- name: Uncompress DotNet SDK folder
run: tar -zxf ${{ github.workspace}}/dotnet.tar.gz -C ${{github.workspace}}/dotnet
- name: Download Java SDK
uses: actions/download-artifact@v2
with:
name: java-sdk.tar.gz
path: ${{ github.workspace}}
- name: Uncompress Java SDK folder
run: tar -zxf ${{ github.workspace}}/java.tar.gz -C ${{github.workspace}}/java
- env:
NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}
name: Publish SDK
run: ./scripts/publish_packages.sh
- name: Publish Java SDK
uses: gradle/gradle-build-action@9b814496b50909128c6a52622b416c5ffa04db49
with:
arguments: publish
build-root-directory: ./sdk/java
gradle-version: 7.4.1
test-nodejs:
name: Run NodeJS Tests
needs: build_sdk
Expand Down
37 changes: 37 additions & 0 deletions .github/workflows/release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -8,10 +8,16 @@ env:
NPM_TOKEN: ${{ secrets.NPM_TOKEN }}
NUGET_PUBLISH_KEY: ${{ secrets.NUGET_PUBLISH_KEY }}
PROVIDER: eks
PUBLISH_REPO_PASSWORD: ${{ secrets.OSSRH_PASSWORD }}
PUBLISH_REPO_URL: https://s01.oss.sonatype.org/service/local/staging/deploy/maven2/
PUBLISH_REPO_USERNAME: ${{ secrets.OSSRH_USERNAME }}
PULUMI_ACCESS_TOKEN: ${{ secrets.PULUMI_ACCESS_TOKEN }}
PULUMI_API: https://api.pulumi-staging.io
SLACK_WEBHOOK_URL: ${{ secrets.SLACK_WEBHOOK_URL }}
PYPI_PASSWORD: ${{ secrets.PYPI_PASSWORD }}
SIGNING_KEY: ${{ secrets.JAVA_SIGNING_KEY }}
SIGNING_KEY_ID: ${{ secrets.JAVA_SIGNING_KEY_ID }}
SIGNING_PASSWORD: ${{ secrets.JAVA_SIGNING_PASSWORD }}
PULUMI_ENABLE_RESOURCE_REFERENCES: 1
PULUMI_LOCAL_NUGET: ${{ github.workspace }}/nuget
jobs:
Expand Down Expand Up @@ -77,6 +83,12 @@ jobs:
with:
node-version: ${{matrix.nodeversion}}
registry-url: https://registry.npmjs.org
- name: Setup Java
uses: actions/setup-java@v3
with:
cache: gradle
distribution: temurin
java-version: ${{matrix.javaversion}}
- name: Install Yarn
run: curl -o- -L https://yarnpkg.com/install.sh | bash -s -- --version 1.13.0
- name: Update PATH for Yarn
Expand Down Expand Up @@ -105,6 +117,9 @@ jobs:
- nodejs
- python
- dotnet
- java
javaversion:
- 11
nodeversion:
- 14.x
pythonversion:
Expand Down Expand Up @@ -190,6 +205,9 @@ jobs:
steps:
- name: Checkout Repo
uses: actions/checkout@v2
- name: Set PACKAGE_VERSION to Env
run: echo "PACKAGE_VERSION=v$(pulumictl get version --language generic)" >>
$GITHUB_ENV
- name: Checkout Scripts Repo
uses: actions/checkout@v2
with:
Expand All @@ -214,6 +232,12 @@ jobs:
registry-url: https://registry.npmjs.org
- name: Setup Python
uses: actions/setup-python@v2
- name: Setup Java
uses: actions/setup-java@v3
with:
cache: gradle
distribution: temurin
java-version: 11
- name: Download NodeJS SDK
uses: actions/download-artifact@v2
with:
Expand All @@ -237,10 +261,23 @@ jobs:
path: ${{ github.workspace}}
- name: Uncompress DotNet SDK folder
run: tar -zxf ${{ github.workspace}}/dotnet.tar.gz -C ${{github.workspace}}/dotnet
- name: Download Java SDK
uses: actions/download-artifact@v2
with:
name: java-sdk.tar.gz
path: ${{ github.workspace}}
- name: Uncompress Java SDK folder
run: tar -zxf ${{ github.workspace}}/java.tar.gz -C ${{github.workspace}}/java
- env:
NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}
name: Publish SDK
run: ./scripts/publish_packages.sh
- name: Publish Java SDK
uses: gradle/gradle-build-action@9b814496b50909128c6a52622b416c5ffa04db49
with:
arguments: publish
build-root-directory: ./sdk/java
gradle-version: 7.4.1
create_docs_build:
name: Create docs build
needs: publish_sdk
Expand Down
15 changes: 15 additions & 0 deletions .github/workflows/run-acceptance-tests.yml
Original file line number Diff line number Diff line change
Expand Up @@ -15,11 +15,17 @@ env:
NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}
NPM_TOKEN: ${{ secrets.NPM_TOKEN }}
PROVIDER: eks
PUBLISH_REPO_PASSWORD: ${{ secrets.OSSRH_PASSWORD }}
PUBLISH_REPO_URL: https://s01.oss.sonatype.org/service/local/staging/deploy/maven2/
PUBLISH_REPO_USERNAME: ${{ secrets.OSSRH_USERNAME }}
PULUMI_ACCESS_TOKEN: ${{ secrets.PULUMI_ACCESS_TOKEN }}
PULUMI_API: https://api.pulumi-staging.io
PULUMI_GO_DEP_ROOT: ${{ github.workspace }}/..
SLACK_WEBHOOK_URL: ${{ secrets.SLACK_WEBHOOK_URL }}
PR_COMMIT_SHA: ${{ github.event.client_payload.pull_request.head.sha }}
SIGNING_KEY: ${{ secrets.JAVA_SIGNING_KEY }}
SIGNING_KEY_ID: ${{ secrets.JAVA_SIGNING_KEY_ID }}
SIGNING_PASSWORD: ${{ secrets.JAVA_SIGNING_PASSWORD }}
PULUMI_ENABLE_RESOURCE_REFERENCES: 1
PULUMI_LOCAL_NUGET: ${{ github.workspace }}/nuget
jobs:
Expand Down Expand Up @@ -159,6 +165,12 @@ jobs:
with:
node-version: ${{matrix.nodeversion}}
registry-url: https://registry.npmjs.org
- name: Setup Java
uses: actions/setup-java@v3
with:
cache: gradle
distribution: temurin
java-version: ${{matrix.javaversion}}
- name: Install Yarn
run: curl -o- -L https://yarnpkg.com/install.sh | bash -s -- --version 1.13.0
- name: Update PATH for Yarn
Expand Down Expand Up @@ -192,6 +204,9 @@ jobs:
- python
- dotnet
- go
- java
javaversion:
- 11
nodeversion:
- 14.x
pythonversion:
Expand Down
6 changes: 6 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -21,3 +21,9 @@ ci-scripts/
/PulumiPlugin.yaml

**/venv

java/build
java/.gradle
java/gradle
java/gradlew
java/gradlew.bat
22 changes: 21 additions & 1 deletion Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,10 @@ CODEGEN := pulumi-gen-${PACK}

WORKING_DIR := $(shell pwd)

build:: schema provider build_nodejs build_python build_go build_dotnet
JAVA_GEN := pulumi-java-gen
JAVA_GEN_VERSION := v0.4.1

build:: schema provider build_nodejs build_python build_go build_dotnet build_java

schema::
(cd provider/cmd/$(CODEGEN) && go run main.go schema ../$(PROVIDER))
Expand All @@ -31,6 +34,17 @@ build_nodejs::
cp -R cni bin/ && \
cp ../../provider/cmd/pulumi-resource-eks/schema.json bin/cmd/provider/

bin/pulumi-java-gen::
mkdir -p bin/
pulumictl download-binary -n pulumi-language-java -v $(JAVA_GEN_VERSION) -r pulumi/pulumi-java

build_java:: PACKAGE_VERSION := $(shell pulumictl get version --language generic)
build_java:: bin/pulumi-java-gen schema
rm -rf java
$(WORKING_DIR)/bin/$(JAVA_GEN) generate --schema provider/cmd/$(PROVIDER)/schema.json --out java
cd java && \
gradle --console=plain build

build_python:: PYPI_VERSION := $(shell pulumictl get version --language python)
build_python:: schema
rm -rf python
Expand Down Expand Up @@ -90,6 +104,9 @@ install_go_sdk::
install_python_sdk::
#Intentionall empty for CI / CD templating

install_java_sdk::
#Intentionall empty for CI / CD templating

test_build::
cd examples/utils/testvpc && yarn install && yarn run tsc

Expand All @@ -102,6 +119,9 @@ test_python:: install_provider test_build
test_dotnet:: install_provider
cd examples && go test -tags=dotnet -v -json -count=1 -cover -timeout 3h -parallel ${TESTPARALLELISM} . 2>&1 | tee /tmp/gotest.log | gotestfmt

test_java:: install_provider
cd examples && go test -tags=java -v -json -count=1 -cover -timeout 3h -parallel ${TESTPARALLELISM} . 2>&1 | tee /tmp/gotest.log | gotestfmt

specific_test:: install_nodejs_sdk test_build
cd examples && go test -tags=$(LanguageTags) -v -json -count=1 -cover -timeout 3h -parallel ${TESTPARALLELISM} . --run=TestAcc$(TestName) 2>&1 | tee /tmp/gotest.log | gotestfmt

Expand Down
1 change: 1 addition & 0 deletions java/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
Pulumi Amazon Web Services (AWS) EKS Components.
Loading

0 comments on commit 35bf6a3

Please sign in to comment.