name: ci on: pull_request: push: branches: [main] tags: ['*'] jobs: eslint: runs-on: ubuntu-latest steps: - uses: actions/checkout@v2 - uses: actions/setup-node@v2 with: { node-version: 16 } - run: npm ci - run: npx eslint . pack: runs-on: ubuntu-latest steps: - uses: actions/checkout@v2 - uses: actions/setup-node@v2 with: { node-version: 16 } - run: npm ci - run: npm pack prettier: runs-on: ubuntu-latest steps: - uses: actions/checkout@v2 - uses: actions/setup-node@v2 with: { node-version: 16 } - run: npm ci - run: npx prettier --check . tsc: runs-on: ubuntu-latest steps: - uses: actions/checkout@v2 - uses: actions/setup-node@v2 with: { node-version: 16 } - run: npm ci - run: npx tsc release: runs-on: ubuntu-latest needs: [eslint, pack, prettier, tsc] if: startsWith(github.ref, 'refs/tags/') steps: - uses: actions/checkout@v2 - uses: actions/setup-node@v2 with: { node-version: 16 } - run: npm ci - run: npm publish env: NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}