2024-09-25 07:14:54 +00:00
|
|
|
name: "Quality Check"
|
|
|
|
|
|
|
|
on:
|
|
|
|
- push
|
|
|
|
- pull_request
|
|
|
|
|
|
|
|
jobs:
|
|
|
|
oas:
|
|
|
|
name: "Validate OAS"
|
|
|
|
runs-on: "ubuntu-latest"
|
|
|
|
container:
|
|
|
|
image: "openjdk:21-jdk"
|
|
|
|
steps:
|
2024-09-25 07:18:29 +00:00
|
|
|
- uses: actions/setup-node@v4
|
|
|
|
with:
|
|
|
|
node-version: 18
|
2024-09-25 07:14:54 +00:00
|
|
|
- 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: "openjdk:21-jdk"
|
|
|
|
steps:
|
2024-09-25 07:18:29 +00:00
|
|
|
- uses: actions/setup-node@v4
|
|
|
|
with:
|
|
|
|
node-version: 18
|
2024-09-25 07:14:54 +00:00
|
|
|
- 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: "openjdk:21-jdk"
|
|
|
|
steps:
|
2024-09-25 07:18:29 +00:00
|
|
|
- uses: actions/setup-node@v4
|
|
|
|
with:
|
|
|
|
node-version: 18
|
2024-09-25 07:14:54 +00:00
|
|
|
- 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: "openjdk:21-jdk"
|
|
|
|
steps:
|
2024-09-25 07:18:29 +00:00
|
|
|
- uses: actions/setup-node@v4
|
|
|
|
with:
|
|
|
|
node-version: 18
|
2024-09-25 07:14:54 +00:00
|
|
|
- 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
|
|
|
|
|