surinkwon is building DevServer #489
Workflow file for this run
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: Dev Server Backend/Frontend CI | |
run-name: ${{ github.actor }} is building DevServer | |
on: | |
push: | |
paths: | |
- 'backend/**' | |
- 'frontend/**' | |
workflow_dispatch: | |
jobs: | |
build: | |
runs-on: ubuntu-latest | |
services: | |
mysql: | |
image: mysql:latest | |
env: | |
MYSQL_ROOT_PASSWORD: password | |
MYSQL_DATABASE: test | |
MYSQL_USER: user | |
MYSQL_PASSWORD: password | |
ports: | |
- 3306:3306 | |
options: >- | |
--health-cmd="mysqladmin ping" | |
--health-interval=10s | |
--health-timeout=5s | |
--health-retries=3 | |
steps: | |
- name: Checkout repository | |
uses: actions/checkout@v4 | |
- name: Filter Backend/Frontend | |
uses: dorny/[email protected] | |
id: changes | |
with: | |
filters: | | |
backend: | |
- 'backend/**' | |
frontend: | |
- 'frontend/**' | |
- name: install node | |
uses: actions/setup-node@v3 | |
with: | |
node-version: '20' | |
- name: DevServer Backend CI(Unit Test) | |
if: steps.changes.outputs.backend == 'true' | |
run: | | |
cd ./backend | |
npm install | |
npm run build | |
NODE_ENV=CI npm run test | |
cd .. | |
- name: DevServer Backend CI(E2E Test) | |
if: steps.changes.outputs.backend == 'true' | |
env: | |
DATABASE_HOST: 127.0.0.1 | |
DATABASE_PORT: 3306 | |
DATABASE_USER: root | |
DATABASE_PASSWORD: password | |
DATABASE_NAME: test | |
JWT_SECRET: JWT_SECRET | |
GITHUB_CLIENT_ID: GITHUB_CLIENT_ID | |
GITHUB_CLIENT_SECRETS: GITHUB_CLIENT_SECRETS | |
run: | | |
cd ./backend | |
npm install | |
npm run build | |
NODE_ENV=CI npm run test:e2e | |
cd .. | |
- name: DevServer Frontend CI | |
if: steps.changes.outputs.frontend == 'true' && always() | |
run: | | |
cd ./frontend | |
npm install | |
npm run build | |
npm run test | |
cd .. |