name: Tests on: [push, pull_request] jobs: unit_tests: name: Unit tests runs-on: ubuntu-latest strategy: matrix: node-version: [12.x, 14.x, 16.x] steps: - name: Checkout sources uses: actions/checkout@v2 - name: Install Node.js uses: actions/setup-node@v2-beta with: node-version: ${{matrix.node-version}} - name: Install npm 7 run: npm install --global npm@7 - name: Install dependencies run: npm ci - name: Run tests run: npm run test:unit lint_js: name: Lint JavaScript runs-on: ubuntu-latest steps: - name: Checkout sources uses: actions/checkout@v2 - name: Install Node.js uses: actions/setup-node@v2-beta with: node-version: 14.x - name: Install npm 7 run: npm install --global npm@7 - name: Install dependencies run: npm ci - name: Run linter run: npm run lint lint_md: name: Lint Markdown runs-on: ubuntu-latest steps: - name: Checkout sources uses: actions/checkout@v2 - name: Install Node.js uses: actions/setup-node@v2-beta with: node-version: 14.x - name: Install npm 7 run: npm install --global npm@7 - name: Install dependencies run: npm ci - name: Run linter run: npm run lint:markdown types: name: Type tests runs-on: ubuntu-latest steps: - name: Checkout sources uses: actions/checkout@v2 - name: Install Node.js uses: actions/setup-node@v2-beta with: node-version: 16.x - name: Install npm 7 run: npm install --global npm@7 - name: Install dependencies run: npm ci - name: Run type tests run: npm run lint:markdown # Need to do a bunch of work to generate the locale typings 🙃 - name: Prepare type declarations run: | npm run build:lib npm run build:companion npm run build:locale-pack - name: Run type tests run: npm run test:type