Skip to content

Commit

Permalink
chore: configure merge queues (#867)
Browse files Browse the repository at this point in the history
  • Loading branch information
Belco90 committed Jan 12, 2024
1 parent acb98e2 commit c74b006
Show file tree
Hide file tree
Showing 4 changed files with 121 additions and 109 deletions.
23 changes: 23 additions & 0 deletions .github/workflows/ci.yml
@@ -0,0 +1,23 @@
name: CI

on:
pull_request:
merge_group:

concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true

jobs:
verifications:
name: Verifications
uses: ./.github/workflows/verifications.yml

required-checks:
name: Require CI status checks
runs-on: ubuntu-latest
if: ${{ !cancelled() && github.event.action != 'closed' }}
needs: [verifications]
steps:
- run: ${{ !contains(needs.*.result, 'failure') }}
- run: ${{ !contains(needs.*.result, 'cancelled') }}
109 changes: 0 additions & 109 deletions .github/workflows/pipeline.yml

This file was deleted.

43 changes: 43 additions & 0 deletions .github/workflows/release.yml
@@ -0,0 +1,43 @@
name: Release

on:
push:
branches:
# semantic-release valid branches
- '+([0-9])?(.{+([0-9]),x}).x'
- 'main'
- 'next'
- 'next-major'
- 'beta'
- 'alpha'

concurrency:
group: release
cancel-in-progress: false

jobs:
publish:
name: Publish NPM package
runs-on: ubuntu-latest
# Avoid publishing in forks
if: github.repository == 'testing-library/eslint-plugin-testing-library'
steps:
- name: Checkout
uses: actions/checkout@v4

- name: Set up Node
uses: actions/setup-node@v4
with:
node-version-file: '.nvmrc'

- name: Install dependencies
uses: bahmutov/npm-install@v1

- name: Build package
run: npm run build

- name: Release new version
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
NPM_TOKEN: ${{ secrets.NPM_AUTOMATION_TOKEN }}
run: npx semantic-release
55 changes: 55 additions & 0 deletions .github/workflows/verifications.yml
@@ -0,0 +1,55 @@
name: Verifications

on:
workflow_call:

jobs:
code-validation:
name: 'Code Validation: ${{ matrix.validation-script }}'
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
validation-script:
['lint', 'type-check', 'format:check', 'generate-all:check']
steps:
- name: Checkout
uses: actions/checkout@v4

- name: Set up Node
uses: actions/setup-node@v4
with:
node-version-file: '.nvmrc'

- name: Install dependencies
uses: bahmutov/npm-install@v1

- name: Run script
run: npm run ${{ matrix.validation-script }}

tests:
name: Tests (Node v${{ matrix.node }} - ESLint v${{ matrix.eslint }})
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
# The .x indicates "the most recent one"
node: [19.x, 18.x, 17.x, 16.x, 14.x, 14.17.0, 12.x, 12.22.0]
eslint: [7.5, 7, 8]
steps:
- name: Checkout
uses: actions/checkout@v4

- name: Set up Node
uses: actions/setup-node@v4
with:
node-version: ${{ matrix.node }}

- name: Install dependencies
uses: bahmutov/npm-install@v1

- name: Install ESLint v${{ matrix.eslint }}
run: npm install --no-save --force eslint@${{ matrix.eslint }}

- name: Run tests
run: npm run test:ci

0 comments on commit c74b006

Please sign in to comment.