name: Samples Java Client JDK17 on: push: paths: - samples/client/petstore/java/resttemplate-jakarta/** - samples/client/petstore/java/webclient-jakarta/** - samples/client/petstore/java/restclient-*/** - samples/client/others/java/webclient-sealedInterface/** - samples/client/petstore/java/webclient-useSingleRequestParameter/** - samples/client/others/java/restclient-enum-in-multipart/** pull_request: paths: - samples/client/petstore/java/resttemplate-jakarta/** - samples/client/petstore/java/webclient-jakarta/** - samples/client/petstore/java/restclient-*/** - samples/client/others/java/webclient-sealedInterface/** - samples/client/petstore/java/webclient-useSingleRequestParameter/** - samples/client/others/java/restclient-enum-in-multipart/** jobs: build: name: Build Java Client JDK17 runs-on: ubuntu-latest strategy: fail-fast: false matrix: sample: # clients - samples/client/petstore/java/resttemplate-jakarta - samples/client/petstore/java/webclient-jakarta - samples/client/petstore/java/restclient - samples/client/petstore/java/restclient-nullable-arrays - samples/client/petstore/java/restclient-swagger2 - samples/client/petstore/java/restclient-useSingleRequestParameter - samples/client/petstore/java/restclient-useSingleRequestParameter-static - samples/client/others/java/webclient-sealedInterface - samples/client/petstore/java/webclient-useSingleRequestParameter - samples/client/others/java/restclient-enum-in-multipart steps: - uses: actions/checkout@v5 - uses: actions/setup-java@v5 with: distribution: 'temurin' java-version: 17 cache: gradle - name: Cache maven dependencies uses: actions/cache@v4 env: cache-name: maven-repository with: path: | ~/.m2 key: ${{ runner.os }}-${{ github.job }}-${{ env.cache-name }}-${{ hashFiles('**/pom.xml') }} - name: Build with Maven working-directory: ${{ matrix.sample }} run: mvn clean package --no-transfer-progress - name: Cache gradle dependencies uses: actions/cache@v4 env: cache-name: gradle-caches with: path: ~/.gradle/caches key: ${{ runner.os }}-${{ github.job }}-${{ env.cache-name }}-${{ hashFiles('**/*.gradle', '**/*.gradle.kts') }} - name: Cache gradle wrapper uses: actions/cache@v4 env: cache-name: gradle-wrapper with: path: ~/.gradle/wrapper key: ${{ runner.os }}-${{ github.job }}-${{ env.cache-name }}-${{ hashFiles('**/gradle/wrapper/gradle-wrapper.properties') }} - name: Build working-directory: ${{ matrix.sample }} run: ./gradlew build -x test