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 (npm test → node --test) working-directory: frontend-vue run: npm test