Test Framework V2 Gradle Java 11 Retrofit #2
This file contains hidden or 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
| name: Test Framework V2 Gradle Java 11 Retrofit | |
| on: | |
| # execute on demand | |
| workflow_dispatch: | |
| branches: ['master'] | |
| jobs: | |
| # builds codegen cli and uploads its artifact | |
| build-codegen: | |
| runs-on: ubuntu-latest | |
| strategy: | |
| matrix: | |
| java: [ 8 ] | |
| steps: | |
| - uses: actions/checkout@v2 | |
| - uses: actions/setup-java@v1 | |
| with: | |
| java-version: ${{ matrix.java }} | |
| - name: build codegen | |
| run: | | |
| mkdir codegen-cli | |
| echo "BUILDING Codegen" | |
| mvn -version | |
| mvn -q -B package -DskipTests -Dhttp.keepAlive=false -Dmaven.wagon.http.pool=false -Dmaven.wagon.httpconnectionManager.ttlSeconds=120 -Dmaven.wagon.http.retryHandler.count=3 | |
| cp modules/swagger-codegen-cli/target/swagger-codegen-cli.jar codegen-cli | |
| - name: upload codegen cli | |
| uses: actions/upload-artifact@v4 | |
| with: | |
| name: codegen-cli | |
| path: codegen-cli | |
| - name: upload test files | |
| uses: actions/upload-artifact@v4 | |
| with: | |
| name: java-custom-test-files | |
| path: samples/custom-tests/java/v2/retrofit | |
| generate: | |
| needs: build-codegen | |
| runs-on: ubuntu-latest | |
| strategy: | |
| matrix: | |
| java: [ 8 ] | |
| outputs: | |
| generate_outcome: ${{ steps.outcome.outputs.generate_outcome }} | |
| steps: | |
| - uses: actions/checkout@v2 | |
| - uses: actions/setup-java@v1 | |
| with: | |
| java-version: ${{ matrix.java }} | |
| - name: Download codegen cli | |
| uses: actions/download-artifact@v4 | |
| with: | |
| name: codegen-cli | |
| - name: generate | |
| id: generate | |
| continue-on-error: true | |
| uses: ./.github/actions/generate | |
| with: | |
| language: "java" | |
| job-name: ${{ env.JOB_NAME }} | |
| spec-url: "https://petstore.swagger.io/v2/swagger.json" | |
| options: " --library retrofit --additional-properties java11=true,wiremock=true" | |
| - id: outcome | |
| run: | | |
| echo "generate_outcome=${{ steps.generate.outcome }}" >> $GITHUB_OUTPUT | |
| echo ${{ steps.generate.outcome }} > generate_outcome_${{ env.JOB_NAME }} | |
| - name: upload generate outcome | |
| uses: actions/upload-artifact@v4 | |
| with: | |
| name: ${{ env.JOB_NAME }}generate_outcome | |
| path: generate_outcome_${{ env.JOB_NAME }} | |
| - name: upload generate logs | |
| uses: actions/upload-artifact@v4 | |
| with: | |
| name: ${{ env.JOB_NAME }}generate_logs | |
| path: ${{ steps.generate.outputs.logs }} | |
| - name: upload generated code | |
| if: contains(steps.generate.outcome, 'success') | |
| uses: actions/upload-artifact@v4 | |
| with: | |
| name: ${{ env.JOB_NAME }}generated | |
| path: ${{ steps.generate.outputs.path }} | |
| env: | |
| JOB_NAME: "gradle-java11-retrofit-v2-sample" | |
| build: | |
| needs: generate | |
| if: contains(needs.generate.outputs.generate_outcome, 'success') | |
| runs-on: ubuntu-latest | |
| strategy: | |
| ############################################### | |
| ##### DYNAMIC: Dependent on build environment | |
| ############################################### | |
| matrix: | |
| java-version: [11] | |
| ############################################### | |
| ##### END DYNAMIC: Dependent on build environment | |
| ############################################### | |
| steps: | |
| - uses: actions/checkout@v2 | |
| - name: Download artifacts | |
| uses: actions/download-artifact@v4 | |
| with: | |
| name: ${{ env.JOB_NAME }}generated | |
| path: generated/${{ env.JOB_NAME }} | |
| - name: Download logs | |
| uses: actions/download-artifact@v4 | |
| with: | |
| name: ${{ env.JOB_NAME }}generate_logs | |
| ############################################### | |
| ##### DYNAMIC: Dependent on build environment | |
| ############################################### | |
| - name: Set up JDK 11 | |
| uses: actions/setup-java@v1 | |
| with: | |
| java-version: ${{ matrix.java-version }} | |
| ############################################### | |
| ##### END DYNAMIC: Dependent on build environment | |
| ############################################### | |
| - name: Download Java Feign Test Files | |
| uses: actions/download-artifact@v4 | |
| with: | |
| name: java-custom-test-files | |
| path: java-custom-test-files | |
| - name: setup test files | |
| id: test-files | |
| run: | | |
| echo "removing default test files (with not cases)" | |
| rm generated/${{ env.JOB_NAME }}/src/test/java/io/swagger/client/api/PetApiTest.java | |
| rm generated/${{ env.JOB_NAME }}/src/test/java/io/swagger/client/api/StoreApiTest.java | |
| rm generated/${{ env.JOB_NAME }}/src/test/java/io/swagger/client/api/UserApiTest.java | |
| echo "copying custom test files" | |
| cp java-custom-test-files/PetApiTest.java generated/${{ env.JOB_NAME }}/src/test/java/io/swagger/client/api/ | |
| cp java-custom-test-files/StoreApiTest.java generated/${{ env.JOB_NAME }}/src/test/java/io/swagger/client/api/ | |
| cp java-custom-test-files/UserApiTest.java generated/${{ env.JOB_NAME }}/src/test/java/io/swagger/client/api/ | |
| - name: build | |
| id: build | |
| uses: ./.github/actions/build | |
| continue-on-error: true | |
| with: | |
| path: generated/${{ env.JOB_NAME }} | |
| job-name: ${{ env.JOB_NAME }} | |
| build-commands: "gradle build" | |
| - id: outcome | |
| run: | | |
| echo "build_outcome=${{ steps.build.outcome }}" >> $GITHUB_OUTPUT | |
| echo ${{ steps.build.outcome }} > ${{ env.JOB_NAME }}build_outcome | |
| - name: upload build outcome | |
| uses: actions/upload-artifact@v4 | |
| with: | |
| name: ${{ env.JOB_NAME }}build_outcome | |
| path: ${{ env.JOB_NAME }}build_outcome | |
| - name: upload logs | |
| uses: actions/upload-artifact@v4 | |
| with: | |
| name: ${{ env.JOB_NAME }}logs | |
| path: ${{ steps.build.outputs.logs }} | |
| env: | |
| JOB_NAME: "gradle-java11-retrofit-v2-sample" |