Skip to content

Merge join

Merge join #231

Workflow file for this run

name: Pull request Tests
on: [pull_request]
concurrency:
group: ${{ github.ref }}
cancel-in-progress: true
jobs:
find_changes:
name: Find changes
runs-on: ubuntu-latest
outputs:
core: ${{ steps.filter.outputs.core }}
frontend: ${{ steps.filter.outputs.frontend }}
backend: ${{ steps.filter.outputs.backend }}
store: ${{ steps.filter.outputs.store }}
steps:
- uses: actions/checkout@v3
- uses: dorny/paths-filter@v2
id: filter
with:
base: ${{ github.event.base_ref }}
filters: |
core:
- 'qendpoint-core/**'
frontend:
- 'qendpoint-frontend/**'
backend:
- 'qendpoint-backend/**'
store:
- 'qendpoint-store/**'
build_core:
name: Core (Linux)
needs: find_changes
if: needs.find_changes.outputs.core == 'true'
runs-on: ubuntu-latest
strategy:
matrix:
jdk: [17]
steps:
- uses: actions/checkout@v3
- name: Set up JDK
uses: actions/setup-java@v3
with:
distribution: 'microsoft'
java-version: ${{ matrix.jdk }}
- name: Cache local Maven repository
uses: actions/cache@v2
with:
path: ~/.m2/repository
key: ${{ runner.os }}-maven-${{ hashFiles('**/pom.xml') }}
restore-keys: ${{ runner.os }}-maven-
- name: Build tools
run: mvn install -DskipTests
- name: Validate format
run: mvn -B formatter:validate
working-directory: qendpoint-core
- name: Run tests
run: mvn -B -U clean install -Dmaven.javadoc.skip=true -DskipTests
working-directory: qendpoint-core
- name: Test
run: mvn -B clean test -Dmaven.javadoc.skip=true
working-directory: qendpoint-core
build_core_window:
name: Core (Windows)
runs-on: windows-latest
needs:
- build_core
- find_changes
if: needs.find_changes.outputs.core == 'true'
strategy:
matrix:
jdk: [17]
steps:
- uses: actions/checkout@v3
- name: Set up JDK
uses: actions/setup-java@v3
with:
distribution: 'microsoft'
java-version: ${{ matrix.jdk }}
- name: Cache local Maven repository
uses: actions/cache@v2
with:
path: ~/.m2/repository
key: ${{ runner.os }}-maven-${{ hashFiles('**/pom.xml') }}
restore-keys: ${{ runner.os }}-maven-
- name: Run tests
run: mvn -B -U clean install "-Dmaven.javadoc.skip=true" -DskipTests
- name: Test
run: mvn -B clean test "-Dmaven.javadoc.skip=true"
working-directory: qendpoint-core
build_store:
name: Store (Linux)
runs-on: ubuntu-latest
needs:
- find_changes
if: needs.find_changes.outputs.store == 'true'
strategy:
matrix:
jdk: [ 17 ]
steps:
- uses: actions/checkout@v3
- name: Set up JDK
uses: actions/setup-java@v3
with:
distribution: 'microsoft'
java-version: ${{ matrix.jdk }}
- name: Cache local Maven repository
uses: actions/cache@v2
with:
path: ~/.m2/repository
key: ${{ runner.os }}-maven-${{ hashFiles('**/pom.xml') }}
restore-keys: ${{ runner.os }}-maven-
- name: Validate format
run: mvn -B formatter:validate
working-directory: qendpoint-store
- name: Run tests
run: mvn -B -U clean install -Dmaven.javadoc.skip=true -DskipTests
- name: Test
run: mvn -B clean test -Dmaven.javadoc.skip=true
working-directory: qendpoint-store
build_store_window:
name: Store (Windows)
runs-on: windows-latest
needs:
- build_store
- find_changes
if: needs.find_changes.outputs.store == 'true'
strategy:
matrix:
jdk: [ 17 ]
steps:
- uses: actions/checkout@v3
- name: Set up JDK
uses: actions/setup-java@v3
with:
distribution: 'microsoft'
java-version: ${{ matrix.jdk }}
- name: Cache local Maven repository
uses: actions/cache@v2
with:
path: ~/.m2/repository
key: ${{ runner.os }}-maven-${{ hashFiles('**/pom.xml') }}
restore-keys: ${{ runner.os }}-maven-
- name: Run tests
run: mvn -B -U clean install "-Dmaven.javadoc.skip=true" -DskipTests
- name: Test
run: mvn -B clean test "-Dmaven.javadoc.skip=true"
working-directory: qendpoint-store
build_backend:
name: Backend (Linux)
runs-on: ubuntu-latest
needs:
- find_changes
if: needs.find_changes.outputs.store == 'true' || needs.find_changes.outputs.backend == 'true'
strategy:
matrix:
jdk: [ 17 ]
steps:
- uses: actions/checkout@v3
- name: Set up JDK
uses: actions/setup-java@v3
with:
distribution: 'microsoft'
java-version: ${{ matrix.jdk }}
- name: Cache local Maven repository
uses: actions/cache@v2
with:
path: ~/.m2/repository
key: ${{ runner.os }}-maven-${{ hashFiles('**/pom.xml') }}
restore-keys: ${{ runner.os }}-maven-
- name: Validate format
run: mvn -B formatter:validate
working-directory: qendpoint-backend
- name: Run tests
run: mvn -B -U clean install -Dmaven.javadoc.skip=true -DskipTests
- name: Test
run: mvn -B clean test -Dmaven.javadoc.skip=true
working-directory: qendpoint-backend
build_backend_window:
name: Backend (Windows)
runs-on: windows-latest
needs:
- build_backend
- find_changes
if: needs.find_changes.outputs.store == 'true' || needs.find_changes.outputs.backend == 'true'
strategy:
matrix:
jdk: [ 17 ]
steps:
- uses: actions/checkout@v3
- name: Set up JDK
uses: actions/setup-java@v3
with:
distribution: 'microsoft'
java-version: ${{ matrix.jdk }}
- name: Cache local Maven repository
uses: actions/cache@v2
with:
path: ~/.m2/repository
key: ${{ runner.os }}-maven-${{ hashFiles('**/pom.xml') }}
restore-keys: ${{ runner.os }}-maven-
- name: Run tests
run: mvn -B -U clean install "-Dmaven.javadoc.skip=true" -DskipTests
- name: Test
run: mvn -B clean test "-Dmaven.javadoc.skip=true"
working-directory: qendpoint-backend
build_frontend:
name: Frontend
runs-on: ubuntu-latest
needs:
- find_changes
if: needs.find_changes.outputs.frontend == 'true'
strategy:
matrix:
node-version: [16.x]
steps:
- uses: actions/checkout@v3
- name: Use Node.js ${{ matrix.node-version }}
uses: actions/setup-node@v3
with:
node-version: ${{ matrix.node-version }}
cache: "npm"
cache-dependency-path: qendpoint-frontend/package-lock.json
- run: npm ci --legacy-peer-deps
working-directory: qendpoint-frontend
- name: Validate format
run: npm run validate
working-directory: qendpoint-frontend
- name: Compiling
run: npm run build --if-present
working-directory: qendpoint-frontend