name: CI on: push: branches: - master pull_request: branches: - master jobs: lint: runs-on: ubuntu-latest steps: - uses: actions/checkout@v2 - uses: actions/setup-node@v1 with: node-version: 14.x - run: npm ci --ignore-scripts - run: npm run lint test: runs-on: ubuntu-latest strategy: matrix: node-version: - 12.x - 14.x env: TEST_DOCKER: true services: sparql-endpoint: image: tenforce/virtuoso env: SPARQL_UPDATE: true ports: - 4000:8890 steps: - name: Use Node.js ${{ matrix.node-version }} uses: actions/setup-node@v1 with: node-version: ${{ matrix.node-version }} - name: Check out repository uses: actions/checkout@v2 - name: Install dependencies run: npm ci --ignore-scripts - name: Run build scripts run: npm run build - name: Validate components files run: npm run validate - name: Type-check tests run: npm run test:ts - name: Run unit tests run: npm run test:unit - name: Submit unit test coverage uses: coverallsapp/github-action@master with: github-token: ${{ secrets.github_token }} flag-name: run-${{ matrix.node-version }} parallel: true - name: Run integration tests run: npm run test:integration - name: Run deployment tests run: npm run test:deploy coveralls: needs: test runs-on: ubuntu-latest steps: - name: Consolidate test coverage from different jobs uses: coverallsapp/github-action@master with: github-token: ${{ secrets.github_token }} parallel-finished: true