Skip to content

Migrate javax.* → jakarta.* (Jakarta EE 9+ / Servlet 6.0 / Tomcat 10.1) #575

Migrate javax.* → jakarta.* (Jakarta EE 9+ / Servlet 6.0 / Tomcat 10.1)

Migrate javax.* → jakarta.* (Jakarta EE 9+ / Servlet 6.0 / Tomcat 10.1) #575

Workflow file for this run

name: Build and Test
on:
push:
branches:
- master
- dev
pull_request:
branches:
- master
- dev
workflow_dispatch:
permissions:
contents: read
concurrency:
group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }}
cancel-in-progress: true
jobs:
detect-changes:
runs-on: ubuntu-latest
outputs:
src: ${{ steps.filter.outputs.src }}
java: ${{ steps.filter.outputs.java }}
steps:
- uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3
- uses: dorny/paths-filter@fbd0ab8f3e69293af611ebaee6363fc25e6d187d # v4.0.1
id: filter
with:
filters: |
java:
- 'src/**/*.java'
src:
- 'src/**'
- 'pom.xml'
- 'docker-compose.yml'
- 'docker/**'
- '.env'
dependency-review:
if: github.event_name == 'pull_request'
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3
- uses: actions/dependency-review-action@a1d282b36b6f3519aa1f3fc636f609c47dddb294 # v5.0.0
with:
fail-on-severity: critical
lint-java:
needs: detect-changes
if: needs.detect-changes.outputs.java == 'true'
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3
- uses: actions/setup-java@be666c2fcd27ec809703dec50e508c2fdc7f6654 # v5.2.0
with:
distribution: temurin
java-version: '17'
cache: maven
- name: Check Java formatting (Google Java Format via Spotless)
run: mvn spotless:check -B
build:
needs: detect-changes
if: needs.detect-changes.outputs.src == 'true'
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3
- uses: actions/setup-java@be666c2fcd27ec809703dec50e508c2fdc7f6654 # v5.2.0
with:
distribution: temurin
java-version: '17'
cache: maven
- name: Build Maven with Docker Profile
run: mvn clean install -Pdocker -DskipTests -B
- name: Docker Compose Build
run: docker compose build
unit-tests:
needs: detect-changes
if: needs.detect-changes.outputs.src == 'true'
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3
- uses: actions/setup-java@be666c2fcd27ec809703dec50e508c2fdc7f6654 # v5.2.0
with:
distribution: temurin
java-version: '17'
cache: maven
- name: Run Unit Tests
run: mvn test -B -e
integration-tests:
needs: detect-changes
if: needs.detect-changes.outputs.src == 'true'
runs-on: ubuntu-latest
services:
mysql:
image: mysql:5.7
env:
MYSQL_ROOT_PASSWORD: password
MYSQL_DATABASE: core
ports:
- '8888:3306'
options: --health-cmd="mysqladmin ping" --health-interval=10s --health-timeout=5s --health-retries=3
steps:
- uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3
- uses: actions/setup-java@be666c2fcd27ec809703dec50e508c2fdc7f6654 # v5.2.0
with:
distribution: temurin
java-version: '17'
cache: maven
- name: Start MYSQL Server
run: sudo /etc/init.d/mysql start
- name: Modify MySQL Connection Variables
run: |
sed -i "s/'@'localhost'/'@'%'/g" ${GITHUB_WORKSPACE}/src/main/resources/database/moduleSchemas.sql
sed -i 's/TEST_MYSQL_PORT=3306/TEST_MYSQL_PORT=8888/g' ${GITHUB_WORKSPACE}/.env
- name: Prepare Integration Tests
run: |
sudo apt-get -y install libargon2-1
mvn -Pdocker validate
- name: Run Integration Tests
run: |
mvn verify -DskipUTs=true -DmongoDocker -B