| name: "Test" |
| on: |
| push: |
| branches: |
| - master |
| pull_request: |
| jobs: |
| lint: |
| runs-on: ubuntu-latest |
| steps: |
| - uses: actions/checkout@v1 |
| - uses: actions/setup-node@v1 |
| with: |
| node-version: "12" |
| - name: "Install dependencies" |
| run: npm install |
| - name: "Lint sources" |
| run: npm run lint:sources -- --max-warnings 0 |
| - name: "Lint types" |
| run: npm run lint:types |
| build: |
| runs-on: ubuntu-latest |
| needs: lint |
| steps: |
| - uses: actions/checkout@v1 |
| - uses: actions/setup-node@v1 |
| with: |
| node-version: "12" |
| - name: "Install dependencies" |
| run: npm install |
| - name: "Build distribution files" |
| run: npm run build |
| test: |
| runs-on: ubuntu-latest |
| needs: build |
| strategy: |
| matrix: |
| node_version: ["4", "4.3.2", "6", "8", "10", "12"] |
| steps: |
| - uses: actions/checkout@v1 |
| - uses: actions/setup-node@v1 |
| with: |
| node-version: ${{ matrix.node_version }} |
| - name: "Install dependencies" |
| run: npm install |
| - name: "Test sources" |
| run: npm run test:sources |
| - name: "Test types" |
| run: npm run test:types |
| bench: |
| runs-on: ubuntu-latest |
| needs: build |
| steps: |
| - uses: actions/checkout@v1 |
| - uses: actions/setup-node@v1 |
| with: |
| node-version: "12" |
| - name: "Install dependencies" |
| run: npm install |
| - name: "Run benchmark" |
| run: npm run bench |