name: "Quality Check" on: - push - pull_request jobs: oas: name: "Validate OAS" runs-on: "ubuntu-latest" container: image: "cimg/openjdk:21.0-node" steps: - name: "Checkout" uses: actions/checkout@v3 - uses: actions/cache@v3 with: path: | ~/.gradle/caches ~/.gradle/wrapper key: ${{ runner.os }}-gradle-${{ hashFiles('**/*.gradle*', '**/gradle-wrapper.properties') }} restore-keys: | ${{ runner.os }}-gradle- - name: "Prepare Gradle" run: gradle clean - name: "Validate OAS Spec" run: gradle validateSwagger - name: "Stop Gradle" run: gradle --stop linting: name: "Linting" runs-on: "ubuntu-latest" container: image: "cimg/openjdk:21.0-node" steps: - name: "Checkout" uses: actions/checkout@v3 - uses: actions/cache@v3 with: path: | ~/.gradle/caches ~/.gradle/wrapper key: ${{ runner.os }}-gradle-${{ hashFiles('**/*.gradle*', '**/gradle-wrapper.properties') }} restore-keys: | ${{ runner.os }}-gradle- - name: "Prepare Gradle" run: gradle clean - name: "Generate OAS Boilerplate" run: gradle generateSwaggerCode - name: "Linting Main" run: gradle checkstyleMain - name: "Linting Test" run: gradle checkstyleTest - name: "Stop Gradle" run: gradle --stop static: name: "Static Analysis" runs-on: "ubuntu-latest" container: image: "cimg/openjdk:21.0-node" steps: - name: "Checkout" uses: actions/checkout@v3 - uses: actions/cache@v3 with: path: | ~/.gradle/caches ~/.gradle/wrapper key: ${{ runner.os }}-gradle-${{ hashFiles('**/*.gradle*', '**/gradle-wrapper.properties') }} restore-keys: | ${{ runner.os }}-gradle- - name: "Prepare Gradle" run: gradle clean - name: "Generate OAS Boilerplate" run: gradle generateSwaggerCode - name: "Static Analysis Main" run: gradle spotbugsMain - name: "Static Analysis Test" run: gradle spotbugsTest - name: "Stop Gradle" run: gradle --stop test: name: "Testing" runs-on: "ubuntu-latest" container: image: "cimg/openjdk:21.0-node" steps: - name: "Checkout" uses: actions/checkout@v3 - uses: actions/cache@v3 with: path: | ~/.gradle/caches ~/.gradle/wrapper key: ${{ runner.os }}-gradle-${{ hashFiles('**/*.gradle*', '**/gradle-wrapper.properties') }} restore-keys: | ${{ runner.os }}-gradle- - name: "Prepare Gradle" run: gradle clean - name: "Generate OAS Boilerplate" run: gradle generateSwaggerCode - name: "Run Tests" run: gradle test - name: "Stop Gradle" run: gradle --stop