## # Run tests ## name: Tests on: pull_request: push: concurrency: group: ${{ github.workflow }}-${{ github.ref }} cancel-in-progress: true jobs: test: name: Run tests runs-on: ubuntu-latest steps: - name: Check out Git repository uses: actions/checkout@v6 - name: Install Node.js, NPM and Yarn uses: actions/setup-node@v6 with: node-version-file: '.nvmrc' cache: 'npm' - name: Install dependencies run: npm ci # Need this for linting Ruby - name: Install Ruby and gems uses: ruby/setup-ruby@v1 with: bundler-cache: true - name: Lint run: npm run lint - name: Unit tests run: npm run test:unit - name: Integration tests run: npm run test:integration notify: name: Notify Slack needs: test if: ${{ success() || failure() }} runs-on: ubuntu-latest steps: - uses: iRoachie/slack-github-actions@v2.3.0 if: env.SLACK_WEBHOOK_URL != null env: SLACK_WEBHOOK_URL: ${{ secrets.SLACK_BUILDS_WEBHOOK_URL }} GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}