name: Samples Java Spring on: push: paths: - 'samples/server/petstore/spring*/**' - 'samples/openapi3/server/petstore/spring*/**' pull_request: paths: - 'samples/server/petstore/spring*/**' - 'samples/openapi3/server/petstore/spring*/**' jobs: build: name: Build Java Spring runs-on: ubuntu-latest strategy: fail-fast: false matrix: sample: # clients - samples/client/petstore/spring-cloud - samples/openapi3/client/petstore/spring-cloud - samples/client/petstore/spring-cloud-date-time - samples/openapi3/client/petstore/spring-cloud-date-time - samples/client/petstore/spring-stubs - samples/openapi3/client/petstore/spring-stubs - samples/openapi3/client/petstore/spring-stubs-skip-default-interface # servers - samples/server/petstore/springboot - samples/openapi3/server/petstore/springboot - samples/server/petstore/springboot-beanvalidation - samples/server/petstore/springboot-useoptional - samples/openapi3/server/petstore/springboot-useoptional - samples/server/petstore/springboot-reactive - samples/openapi3/server/petstore/springboot-reactive - samples/server/petstore/springboot-implicitHeaders - samples/openapi3/server/petstore/springboot-implicitHeaders - samples/server/petstore/springboot-delegate - samples/openapi3/server/petstore/springboot-delegate - samples/server/petstore/spring-boot-nullable-set - samples/server/petstore/spring-boot-defaultInterface-unhandledException - samples/openapi3/server/petstore/spring-boot-oneof - samples/server/petstore/springboot-virtualan - samples/server/petstore/springboot-implicitHeaders-annotationLibrary steps: - uses: actions/checkout@v3 - uses: actions/setup-java@v3 with: distribution: 'temurin' java-version: 8 - name: Cache maven dependencies uses: actions/cache@v3 env: cache-name: maven-repository with: path: | ~/.m2 key: ${{ runner.os }}-${{ github.job }}-${{ env.cache-name }}-${{ hashFiles('**/pom.xml') }} - name: Build working-directory: ${{ matrix.sample }} run: mvn clean package