Skip to content

feat: workflow

feat: workflow #10

Workflow file for this run

name: Run Tests
on:
push:
branches:
- main
pull_request:
branches:
- main
jobs:
test:
runs-on: ubuntu-latest
services:
mongodb:
image: mongo
ports:
- 27017:27017
env:
MONGO_INITDB_ROOT_USERNAME: test
MONGO_INITDB_ROOT_PASSWORD: test
MONGO_INITDB_ROOT_ROLE: dbOwner
steps:
- name: Checkout code
uses: actions/checkout@v2
- name: Install dependencies
run: npm install
- name: Install MongoDB client
run: |
sudo apt-get update
wget -qO - https://www.mongodb.org/static/pgp/server-5.0.asc | sudo apt-key add -
echo "deb http://repo.mongodb.org/apt/ubuntu $(lsb_release -sc)/mongodb-org/5.0 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-5.0.list
sudo apt-get update
sudo apt-get install -y mongodb-org-tools
- name: Create .env.test file
env:
PORT: ${{ secrets.PORT }}
NODE_ENV: development
JWT_SECRET: ${{ secrets.JWT_SECRET }}
ORIGIN: "*"
run: |
echo "PORT=${PORT}" >> .env.test
echo "MONGODB_URI=mongodb://test:test@localhost:27017" >> .env.test
echo "NODE_ENV=${NODE_ENV}" >> .env.test
echo "JWT_SECRET=${JWT_SECRET}" >> .env.test
echo "ORIGIN=${ORIGIN}" >> .env.test
- name: Setup Admin Document
run: |
echo 'db.Admin.insertOne({username: "test", password: "test"})' | mongo mongodb://test:test@localhost:27017
- name: Run Jest tests
run: npm test