name: validate on: push: branches: - '+([0-9])?(.{+([0-9]),x}).x' - 'main' - 'next' - 'next-major' - 'beta' - 'alpha' - '!all-contributors/**' pull_request: {} jobs: main: # ignore all-contributors PRs if: ${{ !contains(github.head_ref, 'all-contributors') }} strategy: matrix: node: [14, 16, 18, 20] runs-on: ubuntu-latest steps: - name: ⬇️ Checkout repo uses: actions/checkout@v2 - name: ⎔ Setup node uses: actions/setup-node@v2 with: node-version: ${{ matrix.node }} - name: 📥 Download deps uses: bahmutov/npm-install@v1 with: useLockFile: false - name: ▶️ Run validate script run: npm run validate env: FORCE_COLOR: true - name: ⬆️ Upload coverage report uses: codecov/codecov-action@v1 release: needs: main runs-on: ubuntu-latest if: ${{ github.repository == 'testing-library/jest-dom' && contains('refs/heads/main,refs/heads/beta,refs/heads/next,refs/heads/alpha', github.ref) && github.event_name == 'push' }} steps: - name: ⬇️ Checkout repo uses: actions/checkout@v2 - name: ⎔ Setup node uses: actions/setup-node@v2 with: node-version: 14 - name: 📥 Download deps uses: bahmutov/npm-install@v1 with: useLockFile: false - name: 🏗 Run build script run: npm run build - name: 🚀 Release uses: cycjimmy/semantic-release-action@v2 with: semantic_version: 17 branches: | [ '+([0-9])?(.{+([0-9]),x}).x', 'main', 'next', 'next-major', {name: 'beta', prerelease: true}, {name: 'alpha', prerelease: true} ] env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} NPM_TOKEN: ${{ secrets.NPM_TOKEN }}