Skip to content

docs(readme): added QA section #1

docs(readme): added QA section

docs(readme): added QA section #1

Workflow file for this run

# This workflow will do a clean installation of node dependencies, cache/restore them, build the source code and run tests across different versions of node
# For more information see: https://docs.github.com/en/actions/automating-builds-and-tests/building-and-testing-nodejs
name: Node.js CI
on:
push:
branches: ['main']
pull_request:
branches: ['main']
permissions:
checks: write
contents: write
jobs:
build:
runs-on: ubuntu-latest
strategy:
matrix:
node-version: [18.17.0]
environment: test
steps:
- uses: actions/checkout@v3
- name: Use Node.js ${{ matrix.node-version }}
uses: actions/setup-node@v3
with:
node-version: ${{ matrix.node-version }}
cache: 'npm'
- name: Install dependencies
run: yarn
- name: Create mongo Docker container
uses: DigiPie/mongo-action@v2.0.1
with:
image_version: latest
port: 27017
- name: Install mongosh command
run: |
sudo apt-get update
sudo apt-get install -y wget gnupg
wget -qO - https://www.mongodb.org/static/pgp/server-6.0.asc | sudo apt-key add -
echo "deb [ arch=amd64,arm64 ] https://repo.mongodb.org/apt/ubuntu jammy/mongodb-org/6.0 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-6.0.list
sudo apt-get update
sudo apt-get install -y mongodb-mongosh
- name: Test mongo connection
run: 'sudo mongosh localhost:27017'
- name: create env file
run: |
touch .env
echo GRAPHQL_PORT=$GRAPHQL_PORT >> .env
echo GRAPHQL_PORT_DEV=$GRAPHQL_PORT_DEV >> .env
echo HOSTNAME=$HOSTNAME >> .env d
echo DB_NAME=$DB_NAME >> .env
echo DB_HOST=$DB_HOST >> .env
echo DB_PORT=$DB_PORT >> .env
echo PORT=$PORT >> .env
echo JWTSECRET=$JWTSECRET >> .env
echo JWTKEY=$JWTKEY >> .env
echo USER_PASSWORD_TEST=$USER_PASSWORD_TEST >> .env
echo USER_PASSWORD_DUMMY_TEST=$USER_PASSWORD_DUMMY_TEST >> .env
echo USER_PASSWORD_ENCRYPTED_TEST=$USER_PASSWORD_ENCRYPTED_TEST >> .env
env:
GRAPHQL_PORT: ${{ vars.GRAPHQL_PORT }}
GRAPHQL_PORT_DEV: ${{ vars.GRAPHQL_PORT_DEV }}
DB_NAME: ${{ vars.DB_NAME }}
DB_HOST: ${{ vars.DB_HOST }}
DB_PORT: ${{ vars.DB_PORT }}
PORT: ${{ vars.PORT }}
JWTSECRET: ${{ secrets.JWTSECRET }}
JWTKEY: ${{ secrets.JWTKEY }}
USER_PASSWORD_TEST: ${{ secrets.USER_PASSWORD_TEST }}
USER_PASSWORD_DUMMY_TEST: ${{ secrets.USER_PASSWORD_DUMMY_TEST }}
USER_PASSWORD_ENCRYPTED_TEST: ${{ secrets.USER_PASSWORD_ENCRYPTED_TEST }}
- name: Run linters
uses: wearerequired/lint-action@v2
with:
eslint: true
prettier: true
- name: np build
run: npm run build --if-present
- name: Test and coverage
run: yarn jest --coverage
- name: Upload coverage reports to Codecov
uses: codecov/codecov-action@v3
env:
CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }}
- name: SonarCloud Scan
uses: SonarSource/sonarcloud-github-action@master
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
SONAR_TOKEN: ${{ secrets.SONARCLOUD_TOKEN }}