Skip to content

Merge pull request #1 from AkaCoder404/workflows_setup #17

Merge pull request #1 from AkaCoder404/workflows_setup

Merge pull request #1 from AkaCoder404/workflows_setup #17

Workflow file for this run

name: Node.js CI with MySQL
on:
push:
branches: [main, workflows_setup]
pull_request:
branches: [main]
jobs:
test:
runs-on: ubuntu-latest
environment: main_env
services:
mysql:
image: mysql:5.7
env:
MYSQL_HOST: "%"
MYSQL_ROOT_PASSWORD: root
MYSQL_DATABASE: test
ports:
- 3306:3306
options: >-
--health-cmd="mysqladmin ping"
--health-interval=10s
--health-timeout=5s
--health-retries=5
steps:
- uses: actions/checkout@v3
- name: Set up Node.js
uses: actions/setup-node@v3
with:
node-version: "14"
- name: Install MySQL client
run: sudo apt-get install mysql-client
- name: Install dependencies
run: npm install
- name: Wait for MySQL to start
run: |
until mysqladmin ping -h "127.0.0.1" --silent; do
echo "waiting for mysql..."
sleep 2
done
- name: Import SQL Schema
run: mysql -h 127.0.0.1 -u root -proot test < ./public/mysql_db_schema.sql
- name: Run tests
run: npm test
env:
PORT: 8001
MYSQL_HOST: "%"
MYSQL_USER: root
MYSQL_PASSWORD: root
MYSQL_DATABASE: test
MYSQL_PORT: 3306
JWT_SECRET: ${{ secrets.JWT_SECRET }}
JWT_EXPIRES_IN: 1h