# 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: Build and lint on: push: branches: # Run actions when code is committed to these branches - master pull_request: branches: # Run actions when a PR is pushed based on one of these branches - master jobs: checkout_and_test: runs-on: ubuntu-latest strategy: matrix: include: - node-version: 12.x lint: true # Linter is run only once to shorten the total build time - node-version: 14.x steps: - name: Checkout code from ${{ github.repository }} uses: actions/checkout@v2 - name: Setup node uses: actions/setup-node@v2 with: node-version: ${{ matrix.node-version }} - name: MongoDB in GitHub Actions uses: supercharge/mongodb-github-action@1.3.0 with: mongodb-version: 3.4 - name: Install dependencies run: npm i - name: Run linter if: ${{ matrix.lint }} run: make lint - name: Create test config run: cp config/test.sample.json config/test.json - name: Start test app run: NODE_ENV=test node index.js & - name: Wait / Sleep uses: jakejarvis/wait-action@v0.1.0 with: time: '10s' - name: Run tests run: make ci