fix: move stuff to base class and use name option #17
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: Continuous Integration | |
on: | |
push: | |
branches: | |
- main | |
pull_request: | |
jobs: | |
Linting: | |
name: Linting | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout Project | |
uses: actions/checkout@v4 | |
- name: Add problem matcher | |
run: echo "::add-matcher::.github/problemMatchers/eslint.json" | |
- name: Use Node.js v20 | |
uses: actions/setup-node@v4 | |
with: | |
node-version: 20 | |
cache: yarn | |
registry-url: https://registry.npmjs.org/ | |
- name: Install Dependencies | |
run: yarn --immutable | |
- name: Run ESLint | |
run: yarn lint --fix=false | |
docs: | |
name: Generate Documentation | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout Project | |
uses: actions/checkout@v4 | |
- name: Use Node.js v20 | |
uses: actions/setup-node@v4 | |
with: | |
node-version: 20 | |
cache: yarn | |
registry-url: https://registry.npmjs.org/ | |
- name: Install Dependencies | |
run: yarn --immutable | |
- name: Generate Documentation | |
run: yarn docs | |
BuildingAndTesting: | |
name: Building and Testing with node v${{ matrix.node }} | |
runs-on: ubuntu-latest | |
strategy: | |
fail-fast: false | |
matrix: | |
node: [18, 19, 20, 21] | |
steps: | |
- name: Checkout Project | |
uses: actions/checkout@v4 | |
- name: Add problem matcher | |
run: echo "::add-matcher::.github/problemMatchers/tsc.json" | |
- name: Use Node.js ${{ matrix.node }} | |
uses: actions/setup-node@v4 | |
with: | |
node-version: ${{ matrix.node }} | |
cache: yarn | |
registry-url: https://registry.npmjs.org/ | |
- name: Install Dependencies | |
run: yarn --immutable | |
- name: Typecheck And Build Code | |
run: yarn typecheck && yarn build | |
- name: Run tests | |
run: yarn test | |
- name: Codecov Upload ${{ matrix.node }} | |
uses: codecov/codecov-action@v4 | |
with: | |
token: ${{ secrets.CODECOV_TOKEN }} | |
files: coverage/cobertura-coverage.xml | |
flags: ${{ matrix.node }} | |
fail_ci_if_error: true |