.github/workflows/main.yml
---
name: CI
on: [push, pull_request]
env:
MAIN_NODE_VERSION: "16"
jobs:
static-checks:
runs-on: ubuntu-latest
name: Run static checks
steps:
- uses: actions/checkout@v4
- name: Setup node
uses: actions/setup-node@v4
with:
node-version: ${{ env.MAIN_NODE_VERSION }}
- run: corepack enable
- run: yarn install
- run: yarn run lint
- run: yarn run types
tests:
needs: [static-checks]
runs-on: ubuntu-latest
name: Run tests
strategy:
matrix:
node: ["18", "20", "21"]
steps:
- uses: actions/checkout@v4
- name: Setup node
uses: actions/setup-node@v4
with:
node-version: ${{ matrix.node }}
- run: corepack enable
- name: Install dependencies
run: yarn install
- name: Run tests
run: yarn run test --coverage
- name: Publish code coverage
if: "${{ env.CC_TEST_REPORTER_ID != '' }}"
uses: paambaati/codeclimate-action@v5.0.0
build:
needs: [tests]
runs-on: ubuntu-latest
name: Build
steps:
- uses: actions/checkout@v4
- name: Setup node
uses: actions/setup-node@v4
with:
node-version: ${{ env.MAIN_NODE_VERSION }}
- run: corepack enable
- run: yarn install
- run: yarn run build
- uses: actions/upload-artifact@v4
with:
name: babel-plugin-i18next-extract
path: lib/