From 8a26d4f9e3bd118fb3c59908ae0f18188bdd5a89 Mon Sep 17 00:00:00 2001 From: David Flanagan Date: Tue, 11 Jul 2023 14:01:16 +0100 Subject: [PATCH] feat: java sdk generation testing --- .github/workflows/java-test.yaml | 111 +++++++++++++++++++++++++++++++ 1 file changed, 111 insertions(+) create mode 100644 .github/workflows/java-test.yaml diff --git a/.github/workflows/java-test.yaml b/.github/workflows/java-test.yaml new file mode 100644 index 0000000..868f8bf --- /dev/null +++ b/.github/workflows/java-test.yaml @@ -0,0 +1,111 @@ +name: Java Tests +on: + push: {} + +permissions: + contents: write + +env: + PROVIDER: rediscloud + TF_APPEND_USER_AGENT: pulumi + + # GitHub Release Artifacts (Provider) + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + + # Go SDK + PULUMI_GO_DEP_ROOT: ${{ github.workspace }}/.. + + # NodeJS SDK + NPM_PUBLISH: false + NPM_TOKEN: ${{ secrets.NPM_TOKEN }} + NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }} + + # dotNet SDK + NUGET_PUBLISH: false + NUGET_API_KEY: ${{ secrets.NUGET_API_KEY }} + NUGET_FEED_URL: https://api.nuget.org/v3/index.json + PULUMI_LOCAL_NUGET: ${{ github.workspace }}/nuget + + # Python SDK + PYPI_PUBLISH: false + PYPI_PASSWORD: ${{ secrets.PYPI_TOKEN }} + PYPI_USERNAME: "__token__" + + # Java SDK + JAVA_VERSION: "11" + JAVA_PUBLISH: true + PUBLISH_REPO_PASSWORD: ${{ secrets.OSSRH_PASSWORD }} + PUBLISH_REPO_USERNAME: ${{ secrets.OSSRH_USERNAME }} + SIGNING_KEY: ${{ secrets.JAVA_SIGNING_KEY }} + SIGNING_KEY_ID: ${{ secrets.JAVA_SIGNING_KEY_ID }} + SIGNING_PASSWORD: ${{ secrets.JAVA_SIGNING_PASSWORD }}\ + +jobs: + publish-sdks: + name: Publish ${{ matrix.language }} SDK + runs-on: ubuntu-latest + steps: + - name: Checkout Repo + uses: actions/checkout@8e5e7e5ab8b370d6c329ec480221332ada57f0ab # tag=v3.5.2 + + - name: Unshallow clone for tags + run: git fetch --prune --unshallow --tags + + - name: Install Go + uses: actions/setup-go@4d34df0c2316fe8122ab82dc22947d607c0c91f9 # tag=v4.0.0 + with: + go-version: ${{ matrix.goversion }} + + - name: Install pulumictl + uses: jaxxstorm/action-install-gh-release@c5ead9a448b4660cf1e7866ee22e4dc56538031a # tag=v1.10.0 + with: + repo: pulumi/pulumictl + tag: v0.0.43 + + - name: Install Pulumi CLI + uses: pulumi/action-install-pulumi-cli@b374ceb6168550de27c6eba92e01c1a774040e11 # tag=v2.0.0 + + - name: AWS Provider + run: pulumi plugin install resource aws 5.40.0 + + - name: Google Provider + run: pulumi plugin install resource gcp 6.55.1 + + - name: Setup Java + uses: actions/setup-java@v3 + with: + cache: gradle + distribution: temurin + java-version: ${{ env.JAVA_VERSION }} + + - name: Setup Gradle + uses: gradle/gradle-build-action@v2 + with: + gradle-version: "7.6" + + - 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 == 'java' && env.JAVA_PUBLISH == 'true' }} + name: Publish Java SDK + uses: pulumi/pulumi-package-publisher@0058a106b68d8277f17bbea0cd29b2ff6e671adc + with: + sdk: java + + strategy: + fail-fast: true + matrix: + go-version: + - 1.20.1 + language: + - java