Skip to content

Build workflow

Build workflow #6

Workflow file for this run

name: Build and Test
on:
push:
branches:
- master
pull_request:
branches:
- master
jobs:
backend-tests:
name: Backend - Build and Test
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v3
- name: 'Set up latest Oracle JDK 23'
uses: oracle-actions/setup-java@v1
with:
website: oracle.com
release: 23
- name: Cache Maven dependencies
uses: actions/cache@v3
with:
path: ~/.m2
key: ${{ runner.os }}-maven-${{ hashFiles('**/pom.xml') }}
restore-keys: |
${{ runner.os }}-maven-
- name: Grant execute permissions for mvnw
run: chmod +x ./notes-app-service/mvnw
- name: Build and test backend
run: |
cd notes-app-service
./mvnw clean install
frontend-tests:
name: Frontend - Build and Test
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v3
- name: Set up Node.js
uses: actions/setup-node@v3
with:
node-version: '22'
- name: Cache npm dependencies
uses: actions/cache@v3
with:
path: ~/.npm
key: ${{ runner.os }}-node-${{ hashFiles('**/package-lock.json') }}
restore-keys: |
${{ runner.os }}-node-
- name: Install dependencies
run: |
cd frontend
npm ci
- name: Run tests
run: |
npm run test -- --watch=false --no-progress
- name: Build frontend
run: |
npm run build -- --configuration production