Skip to content

Commit e49aab2

Browse files
committed
🔧 chore[workflow]: setup github workflow
1 parent 317ec35 commit e49aab2

File tree

1 file changed

+45
-0
lines changed

1 file changed

+45
-0
lines changed

‎.github/workflows/node.js.yml

Lines changed: 45 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,45 @@
1+
name: Node.js CI with Docker
2+
3+
on:
4+
push:
5+
branches: ["master", "develop"]
6+
pull_request:
7+
branches: ["master", "develop"]
8+
9+
jobs:
10+
build:
11+
runs-on: self-hosted
12+
13+
strategy:
14+
matrix:
15+
node-version: [22.x]
16+
17+
steps:
18+
- name: Checkout repository
19+
uses: actions/checkout@v4
20+
21+
- name: Set up Docker Buildx
22+
uses: docker/setup-buildx-action@v2
23+
24+
- name: Build Docker image
25+
run: |
26+
docker build -t my-report-server:latest -f report-server/Dockerfile .
27+
28+
- name: Run Docker container
29+
run: |
30+
docker run --name my-report-server -d my-report-server:latest
31+
32+
- name: Install dependencies
33+
run: |
34+
docker exec my-report-server sh -c "if [ -f package-lock.json ]; then npm ci; else npm install; fi"
35+
36+
- name: Build the project
37+
run: docker exec my-report-server npm run build --if-present
38+
39+
- name: Run tests
40+
run: docker exec my-report-server npm test
41+
42+
- name: Clean up
43+
run: |
44+
docker stop my-report-server
45+
docker rm my-report-server

0 commit comments

Comments
 (0)