name: Check Supported Java Versions on: push: branches: - master jobs: build: name: 'Build: JDK ${{ matrix.java }} (${{ matrix.os }})' runs-on: ${{ matrix.os }} strategy: matrix: java: [8, 11] os: [ubuntu-latest] include: - java: 8 os: windows-latest - java: 17 os: ubuntu-latest # Need to update to Gradle version with v17 support in modules/openapi-generator-gradle-plugin/pom.xml flags: -am -pl modules/openapi-generator-cli -Dmaven.javadoc.skip=true -Dmaven.test.skip=true steps: - name: Check out code uses: actions/checkout@v3 - name: Set up JDK ${{ matrix.java }} uses: actions/setup-java@v3 with: distribution: 'temurin' java-version: ${{ matrix.java }} - uses: actions/cache@v3 with: path: ~/.m2/repository key: ${{ runner.os }}-maven-${{ hashFiles('pom.xml', 'modules/**/pom.xml') }} restore-keys: | ${{ runner.os }}-maven- - uses: actions/cache@v3 with: path: | ~/.gradle/caches ~/.gradle/wrapper key: ${{ runner.os }}-gradle-${{ hashFiles('modules/openapi-generator-gradle-plugin/pom.xml') }} restore-keys: | ${{ runner.os }}-gradle- - name: Build with Maven shell: bash run: mvn -nsu -B --quiet -Djacoco.skip=true -Dorg.slf4j.simpleLogger.defaultLogLevel=error --no-transfer-progress clean install --file pom.xml ${{ matrix.flags }} - name: Upload Maven build artifact uses: actions/upload-artifact@v3 if: matrix.java == '8' && matrix.os == 'ubuntu-latest' with: name: artifact path: modules/openapi-generator-cli/target/openapi-generator-cli.jar - name: Test Gradle plugin usage shell: bash run: gradle -b modules/openapi-generator-gradle-plugin/samples/local-spec/build.gradle buildGoSdk --stacktrace - name: Test Maven plugin integration if: matrix.java == '8' shell: bash run: | cd modules/openapi-generator-maven-plugin mvn verify -Pintegration verify: name: Verify outputs on ${{ matrix.os }} needs: build runs-on: ${{ matrix.os }} strategy: matrix: os: [ubuntu-latest] # include: # - os: windows-latest # flags: --skip-docs steps: - name: Check out code uses: actions/checkout@v3 - name: Download build artifact uses: actions/download-artifact@v3 with: name: artifact - name: Run Ensures Script shell: bash run: | git config --global core.fileMode false git config --global core.safecrlf false git config --global core.autocrlf true mvn clean package -Dmaven.test.skip=true -Dmaven.javadoc.skip=true # test with java (jersey2) client generation only as ensure-up-to-date script is run in another job instead ./bin/generate-samples.sh ./bin/configs/java-jersey2-8.yaml # test debugSupportingFiles ./bin/generate-samples.sh ./bin/configs/python.yaml -- --global-property debugSupportingFiles