diff --git a/.github/workflows/checks.yml b/.github/workflows/checks.yml new file mode 100644 index 0000000..9cfda27 --- /dev/null +++ b/.github/workflows/checks.yml @@ -0,0 +1,60 @@ +name: Checks + +on: + pull_request: + types: [opened, labeled, unlabeled, synchronize] + push: + branches: [main] + +jobs: + lint: + name: Lint + steps: + - uses: actions/checkout@v3 + - uses: actions/setup-node@v3 + with: + node-version-file: .nvmrc + cache: npm + - name: Install package dependencies + run: npm ci + - name: Run ESLint + run: npm run lint + build: + name: Build + needs: [lint] + steps: + - uses: actions/checkout@v3 + - uses: actions/setup-node@v3 + with: + node-version-file: .nvmrc + cache: npm + - name: Install package dependencies + run: npm ci + - name: Run ESLint + run: npm run build + test: + name: Tests + needs: [build] + steps: + - uses: actions/checkout@v3 + - uses: actions/setup-node@v3 + with: + node-version-file: .nvmrc + cache: npm + - name: Install package dependencies + run: npm ci + - name: Run tests + run: npm run test + coverage: + name: Coverage + needs: [build] + steps: + - uses: actions/checkout@v3 + - uses: actions/setup-node@v3 + with: + node-version-file: .nvmrc + cache: npm + - name: Install package dependencies + run: npm ci + - name: Run coverage + run: npm run cover