Skip to content

v1.4.3-SNAPSHOT

v1.4.3-SNAPSHOT #114

Workflow file for this run

name: Java CI with Maven
on:
push:
branches: "main"
pull_request:
branches: "*"
jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Set up Node 22
uses: actions/setup-node@v4
with:
node-version: '22.x'
cache: 'npm'
cache-dependency-path: ui/package-lock.json
- name: Set up JDK 21
uses: actions/setup-java@v4
with:
java-version: '21'
distribution: 'temurin'
cache: maven
- name: Build with Maven
run: mvn -B install --file pom.xml
- name: PMD with Maven
run: mvn pmd:pmd --file pom.xml
test-mssql:
runs-on: ubuntu-latest
needs: build
services:
sql-edge:
image: mcr.microsoft.com/azure-sql-edge
options: --cap-add SYS_PTRACE --name azuresqledge
env:
ACCEPT_EULA: Y
MSSQL_SA_PASSWORD: "veryStrong123"
ports:
- 1433:1433
steps:
- uses: actions/checkout@v4
- name: Set up JDK 21
uses: actions/setup-java@v4
with:
java-version: '21'
distribution: 'temurin'
cache: maven
- name: Run tests with MSSQL
run: mvn test -pl core -am -Dspring.profiles.active=mssql
test-postgres:
runs-on: ubuntu-latest
needs: build
services:
postgres:
image: postgres
options: --name pg-container
env:
POSTGRES_USER: sa
POSTGRES_PASSWORD: veryStrong123
ports:
- 5432:5432
steps:
- uses: actions/checkout@v4
- name: Set up JDK 21
uses: actions/setup-java@v4
with:
java-version: '21'
distribution: 'temurin'
cache: maven
- name: Run tests with postgres
run: mvn test -pl core -am -Dspring.profiles.active=postgres
test-mariadb:
runs-on: ubuntu-latest
needs: build
services:
postgres:
image: mariadb:latest
env:
MYSQL_USER: sa
MYSQL_ROOT_PASSWORD: veryStrong123
MYSQL_PASSWORD: veryStrong123
MYSQL_DATABASE: testdb
ports:
- 3306:3306
steps:
- uses: actions/checkout@v4
- name: Set up JDK 21
uses: actions/setup-java@v4
with:
java-version: '21'
distribution: 'temurin'
cache: maven
- name: Run tests with mariadb
run: mvn test -pl core -am -Dspring.profiles.active=mariadb
java-doc:
runs-on: ubuntu-latest
needs: [build]
if: ${{ github.ref == 'refs/heads/main' }}
permissions:
contents: write # if you have a protection rule on your repository, you'll need to give write permission to the workflow.
steps:
- uses: actions/checkout@v4
- name: Set up Node 22
uses: actions/setup-node@v4
with:
node-version: '22.x'
cache: 'npm'
cache-dependency-path: ui/package-lock.json
- name: Set up JDK 21
uses: actions/setup-java@v4
with:
java-version: '21'
distribution: 'temurin'
cache: maven
- name: Deploy JavaDoc 🚀
uses: MathieuSoysal/Javadoc-publisher.yml@v2.5.0
with:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
javadoc-branch: javadoc
java-version: 21
target-folder: javadoc-core # url will be https://<username>.github.io/<repo>/javadoc-core
project: maven # or gradle
maven-deploy:
runs-on: ubuntu-latest
needs: [build, test-mssql, test-postgres, test-mariadb]
if: ${{ github.ref == 'refs/heads/main' }}
steps:
- uses: actions/checkout@v4
- name: Set up Node 22
uses: actions/setup-node@v4
with:
node-version: '22.x'
cache: 'npm'
cache-dependency-path: ui/package-lock.json
- name: Set up JDK 21
uses: actions/setup-java@v4
with:
java-version: '21'
distribution: 'temurin'
cache: maven
server-id: ossrh
server-username: MAVEN_USERNAME
server-password: MAVEN_PASSWORD
- name: Deploy Nexus
run: mvn -B source:jar javadoc:jar deploy --file pom.xml -DskipTests
env:
MAVEN_USERNAME: ${{ secrets.OSSRH_USERNAME }}
MAVEN_PASSWORD: ${{ secrets.OSSRH_TOKEN }}