# This workflow will do a clean install of node dependencies, build the source code and run tests # For more information see: https://help.github.com/actions/language-and-framework-guides/using-nodejs-with-github-actions name: CI Pipeline run-name: ${{ github.actor }} is running CI pipeline # trigger build when pushing, or when creating a pull request on: [push, pull_request] jobs: japa-tests: # run build on latest ubuntu runs-on: ubuntu-latest services: postgres: image: postgres env: POSTGRES_USER: ProjectName POSTGRES_PASSWORD: password POSTGRES_DB: ProjectName-test # Set health checks to wait until postgres has started options: >- --health-cmd pg_isready --health-interval 10s --health-timeout 5s --health-retries 5 steps: # this will check out the current branch (https://github.com/actions/checkout#Push-a-commit-using-the-built-in-token) - name: Check out repository code uses: actions/checkout@v3 # installing Node - name: Use Node.js 16.x uses: actions/setup-node@v1 with: # this will use the latest Node 12 version node-version: 16.x # install dependencies using clean install to avoid package lock updates # build the project if necessary # - run: npm run build # - run: cd build - name: Install dependencies run: npm ci # - run: npm ci --omit=dev # finally run the tests # - run: npm test - name: Run tests run: node ace test env: DB_CONNECTION: pg PG_HOST: postgres PG_PORT: 5432 PG_USER: ProjectName PG_PASSWORD: password PG_DB_NAME: ProjectName-test PORT: 3333 HOST: 0.0.0.0 APP_KEY: somefakekeythatis>16characters NODE_ENV: test ASSETS_DRIVER: fake SESSION_DRIVER: memory CACHE_VIEWS: false DRIVE_DISK: local # # Save coverage report in Coveralls # - name: Coveralls # uses: coverallsapp/github-action@master # with: # github-token: ${{ secrets.GITHUB_TOKEN }}