diff --git a/.github/workflows/ci.yaml b/.github/workflows/ci.yaml index fed36f6..e9fa8d1 100644 --- a/.github/workflows/ci.yaml +++ b/.github/workflows/ci.yaml @@ -121,3 +121,35 @@ jobs: run: | . .venv/bin/activate make test + + main-java: + name: CI [Java] + runs-on: ubuntu-latest + strategy: + matrix: + java-version: ["11", "17", "21"] + steps: + - name: Install SSH Key + uses: shimataro/ssh-key-action@v2 + with: + key: ${{ secrets.SSH_PRIVATE_KEY }} + known_hosts: ${{ vars.SSH_KNOWN_HOSTS }} + - name: Install Java + uses: actions/setup-java@v4 + with: + distribution: "temurin" + java-version: ${{ matrix.java-version }} + - name: Checkout + uses: actions/checkout@v5 + - name: Download OAS + run: make download-oas + - name: Generate SDK + run: make generate-sdk + env: + LANGUAGE: java + - name: Lint + working-directory: ./sdk-repo-updated + run: make lint + - name: Test + working-directory: ./sdk-repo-updated + run: make test diff --git a/.github/workflows/sdk-pr.yaml b/.github/workflows/sdk-pr.yaml index 7ce266a..e61837a 100644 --- a/.github/workflows/sdk-pr.yaml +++ b/.github/workflows/sdk-pr.yaml @@ -78,3 +78,35 @@ jobs: poetry config virtualenvs.create false (cd ./sdk-repo-updated && make install-dev) scripts/sdk-create-pr.sh "generator-bot-${{ github.run_id }}" "Generated from GitHub run [${{ github.run_id }}](${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }})" "git@github.com:stackitcloud/stackit-sdk-python.git" "python" + + main-java: + name: "[Java] Update SDK Repo" + runs-on: ubuntu-latest + permissions: + pull-requests: write + contents: write + steps: + - name: Install SSH Key + uses: shimataro/ssh-key-action@v2 + with: + key: ${{ secrets.SSH_PRIVATE_KEY }} + known_hosts: ${{ vars.SSH_KNOWN_HOSTS }} + - name: Install Java + uses: actions/setup-java@v4 + with: + distribution: "temurin" + java-version: ${{ env.JAVA_VERSION }} + - name: Checkout + uses: actions/checkout@v5 + - name: Download OAS + run: make download-oas + - name: Generate SDK + run: make generate-sdk + env: + LANGUAGE: java + - name: Push SDK + env: + GH_REPO: "stackitcloud/stackit-sdk-java" + GH_TOKEN: ${{ secrets.SDK_PR_TOKEN }} + run: | + scripts/sdk-create-pr.sh "generator-bot-${{ github.run_id }}" "Generated from GitHub run [${{ github.run_id }}](${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }})" "git@github.com:stackitcloud/stackit-sdk-java.git" "java" diff --git a/scripts/generate-sdk/languages/java.sh b/scripts/generate-sdk/languages/java.sh index 2e98ed1..0adb37c 100644 --- a/scripts/generate-sdk/languages/java.sh +++ b/scripts/generate-sdk/languages/java.sh @@ -40,9 +40,10 @@ generate_java_sdk() { GIT_REPO_ID="stackit-sdk-java" fi + # TODO: Change to use the https url when repo is public if [[ -z ${SDK_REPO_URL} ]]; then echo "SDK_REPO_URL not specified, default will be used." - SDK_REPO_URL="https://github.com/stackitcloud/stackit-sdk-java.git" + SDK_REPO_URL="git@github.com:stackitcloud/stackit-sdk-java.git" fi # Prepare folders diff --git a/scripts/project.sh b/scripts/project.sh index a29840a..f9eb69e 100755 --- a/scripts/project.sh +++ b/scripts/project.sh @@ -26,6 +26,8 @@ elif [ "$action" = "tools" ]; then go install golang.org/x/tools/cmd/goimports@latest elif [ "${LANGUAGE}" == "python" ]; then pip install black==24.8.0 isort~=5.13.2 autoimport~=1.6.1 + elif [ "${LANGUAGE}" == "java" ]; then + echo "No additional project setup for java needed" else echo "! Invalid language: $($LANGUAGE), please use $0 help for help" fi