77 branches : ["main"]
88
99jobs :
10- build :
10+ backend :
11+ name : Build & Test Backend
1112 runs-on : ubuntu-latest
12- container : python:3.9-slim
13+
14+ steps :
15+ - name : Checkout repository
16+ uses : actions/checkout@v3
17+
18+ - name : Set up Java
19+ uses : actions/setup-java@v3
20+ with :
21+ distribution : temurin
22+ java-version : ' 21'
23+
24+ - name : Build backend with Maven
25+ working-directory : backend
26+ run : mvn clean package
27+
28+ - name : Run backend tests
29+ working-directory : backend
30+ run : mvn test
31+
32+ frontend :
33+ name : Build & Lint Frontend
34+ runs-on : ubuntu-latest
35+
1336 steps :
14- - name : Checkout
37+ - name : Checkout repository
1538 uses : actions/checkout@v3
1639
17- - name : Install dependencies
18- run : |
19- python -m pip install --upgrade pip
20- pip install -r requirements.txt
40+ - name : Set up Node.js
41+ uses : actions/setup-node@v3
42+ with :
43+ node-version : ' 20'
44+
45+ - name : Install frontend dependencies
46+ working-directory : frontend
47+ run : npm install
48+
49+ - name : Lint frontend
50+ working-directory : frontend
51+ run : npm run lint
52+
53+ - name : Build frontend
54+ working-directory : frontend
55+ run : npm run build
56+
57+ docker :
58+ name : Docker Build Check
59+ runs-on : ubuntu-latest
60+ needs : [backend,frontend]
61+
62+ steps :
63+ - name : Checkout repository
64+ uses : actions/checkout@v3
2165
22- - name : Lint with flake8
23- run : |
24- flake8 service --count --select=E9,F63,F7,F82 --show-source --statistics
25- flake8 service --count --max-complexity=10 --max-line-length=127 --statistics
66+ - name : Set up Docker Buildx
67+ uses : docker/setup-buildx-action@v2
2668
27- - name : Run unit tests with nose
28- run : nosetests -v --with-spec --spec-color --with-coverage --cover-package=app
69+ - name : Build Docker images
70+ run : docker compose build
0 commit comments