49 lines
1.2 KiB
YAML
49 lines
1.2 KiB
YAML
name: Build Backend JAR
|
|
|
|
on:
|
|
push:
|
|
branches: [master]
|
|
workflow_dispatch:
|
|
inputs:
|
|
version:
|
|
description: Version tag
|
|
required: false
|
|
default: ""
|
|
|
|
jobs:
|
|
build:
|
|
runs-on: ubuntu-latest
|
|
container: maven:3.9-eclipse-temurin-21
|
|
timeout-minutes: 30
|
|
steps:
|
|
- name: Checkout
|
|
uses: actions/checkout@v4
|
|
- name: Test (Java: unit + contract + ArchUnit)
|
|
working-directory: backend-java
|
|
run: mvn test -q
|
|
- name: Package
|
|
working-directory: backend-java
|
|
run: mvn clean package -DskipTests -q
|
|
- name: Upload artifact
|
|
uses: actions/upload-artifact@v4
|
|
with:
|
|
name: backend-jar
|
|
path: backend-java/target/*.jar
|
|
|
|
frontend-test:
|
|
runs-on: ubuntu-latest
|
|
container: node:24-alpine
|
|
timeout-minutes: 15
|
|
steps:
|
|
- name: Checkout
|
|
uses: actions/checkout@v4
|
|
- name: Install dependencies
|
|
working-directory: frontend-vue
|
|
run: npm ci
|
|
- name: Type check (vue-tsc)
|
|
working-directory: frontend-vue
|
|
run: npm run build
|
|
- name: Frontend contract tests (node --test)
|
|
working-directory: frontend-vue
|
|
run: node --test tests/*.test.ts
|