# This workflow will do a clean install of node dependencies, build the source code and run tests across different versions of node
#
# For more information see: https://help.github.com/actions/language-and-framework-guides/using-nodejs-with-github-actions

name: Node.js CI

on:
  push:
    branches: [ master ]
  pull_request:
    branches: [ master ]

jobs:
  build:

    runs-on: ubuntu-latest

    strategy:
      matrix:
        node-version: [15.x]
        # See supported Node.js release schedule at https://nodejs.org/en/about/releases/

    steps:
    - uses: actions/checkout@v2
    - name: Use Node.js ${{ matrix.node-version }}
      uses: actions/setup-node@v1
      with:
        node-version: ${{ matrix.node-version }}
    - run: docker run -d --env NUN_USER=js --env NUN_PWD=js --env NUN_DBS_DIR="/data" --mount type=bind,source="/tmp",target=/data -it --rm -p 3013:3013 -p 3012:3012 -p 3014:3014 --name nun-test mateusfreira/nun-db
    - run: sleep 3 && docker exec nun-test  /bin/sh -c "nun-db -u js -p js create-db -d sample -t sample-pwd && nun-db -u js -p js exec 'use sample sample-pwd; create-user server server-pwd;create-user client client-pwd; use sample sample-pwd; set-permissions client r *|rwx client-*; use sample sample-pwd; set-permissions server rwx *; create-user test-uset test-user-pwd'"
    - run: npm ci
    - run: npm run build --if-present
    - run: npm test
