Skip to content

Commit b28fd74

Browse files
committed
Add CI workflows for Java and Express
1 parent a9d8c6c commit b28fd74

2 files changed

Lines changed: 101 additions & 0 deletions

File tree

Lines changed: 43 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,43 @@
1+
name: Run Express Tests
2+
3+
on:
4+
pull_request:
5+
branches:
6+
- development
7+
push:
8+
branches:
9+
- development
10+
11+
jobs:
12+
test:
13+
name: Run Express Tests
14+
runs-on: ubuntu-latest
15+
16+
defaults:
17+
run:
18+
working-directory: server/express
19+
20+
steps:
21+
- name: Checkout code
22+
uses: actions/checkout@v5
23+
24+
- name: Set up Node.js
25+
uses: actions/setup-node@v4
26+
with:
27+
node-version: '20'
28+
29+
- name: Install dependencies
30+
run: npm install
31+
32+
- name: Run tests
33+
run: npm test
34+
env:
35+
MONGODB_URI: ${{ secrets.MFLIX_URI }}
36+
37+
- name: Upload test results
38+
uses: actions/upload-artifact@v4
39+
if: always()
40+
with:
41+
name: test-results
42+
path: server/express/coverage/
43+
retention-days: 30
Lines changed: 58 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,58 @@
1+
name: Run Java Spring Boot Tests
2+
3+
on:
4+
pull_request:
5+
branches:
6+
- development
7+
push:
8+
branches:
9+
- development
10+
11+
jobs:
12+
test:
13+
name: Run Java Spring Boot Tests
14+
runs-on: ubuntu-latest
15+
16+
defaults:
17+
run:
18+
working-directory: server/java-spring
19+
20+
steps:
21+
- name: Checkout code
22+
uses: actions/checkout@v5
23+
24+
- name: Set up JDK 21
25+
uses: actions/setup-java@v5
26+
with:
27+
java-version: '21'
28+
distribution: 'temurin'
29+
cache: 'maven'
30+
31+
- name: Make mvnw executable
32+
run: chmod +x mvnw
33+
34+
- name: Run unit tests
35+
run: ./mvnw test
36+
env:
37+
MONGODB_URI: ${{ secrets.MFLIX_URI }}
38+
39+
- name: Run integration tests
40+
run: ./mvnw test -Dtest=MongoDBSearchIntegrationTest
41+
env:
42+
MONGODB_URI: ${{ secrets.MFLIX_URI }}
43+
ENABLE_SEARCH_TESTS: true
44+
continue-on-error: true
45+
46+
- name: Upload test results
47+
uses: actions/upload-artifact@v4
48+
if: always()
49+
with:
50+
name: test-results
51+
path: server/java-spring/target/surefire-reports/
52+
retention-days: 30
53+
54+
- name: Test Summary
55+
uses: test-summary/action@v2
56+
if: always()
57+
with:
58+
paths: server/java-spring/target/surefire-reports/TEST-*.xml

0 commit comments

Comments
 (0)