chore: sync Discord channel inventory #28
This file contains hidden or 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: CI | |
| on: | |
| push: | |
| branches: [main] | |
| pull_request: | |
| branches: [main] | |
| concurrency: | |
| group: ci-${{ github.ref }} | |
| cancel-in-progress: true | |
| env: | |
| NODE_VERSION: 24.12.0 | |
| NPM_VERSION: 11.6.2 | |
| jobs: | |
| lint: | |
| name: Lint | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v4 | |
| with: | |
| submodules: true | |
| - uses: actions/setup-node@v4 | |
| with: | |
| node-version: ${{ env.NODE_VERSION }} | |
| cache: npm | |
| - run: npm install -g npm@${{ env.NPM_VERSION }} | |
| - run: npm ci | |
| - run: npm run lint | |
| prettier-config-sync: | |
| name: Prettier Config Sync | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v4 | |
| with: | |
| submodules: true | |
| - uses: actions/setup-node@v4 | |
| with: | |
| node-version: ${{ env.NODE_VERSION }} | |
| cache: npm | |
| - run: npm install -g npm@${{ env.NPM_VERSION }} | |
| - run: npm ci | |
| - run: npm run lint:prettier-sync | |
| format-check: | |
| name: Format Check | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v4 | |
| with: | |
| submodules: true | |
| - uses: actions/setup-node@v4 | |
| with: | |
| node-version: ${{ env.NODE_VERSION }} | |
| cache: npm | |
| - run: npm install -g npm@${{ env.NPM_VERSION }} | |
| - run: npm ci | |
| - run: npm run format:check | |
| typecheck: | |
| name: Type Check | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v4 | |
| with: | |
| submodules: true | |
| - uses: actions/setup-node@v4 | |
| with: | |
| node-version: ${{ env.NODE_VERSION }} | |
| cache: npm | |
| - run: npm install -g npm@${{ env.NPM_VERSION }} | |
| - run: npm ci | |
| - run: npx tsc --noEmit -p tsconfig.app.json | |
| - run: npx tsc --noEmit -p tsconfig.spec.json | |
| css-lint-duplicates: | |
| name: CSS Lint (duplicate selector check) | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v4 | |
| with: | |
| submodules: true | |
| - uses: actions/setup-node@v4 | |
| with: | |
| node-version: ${{ env.NODE_VERSION }} | |
| cache: npm | |
| - run: npm install -g npm@${{ env.NPM_VERSION }} | |
| - run: npm ci | |
| - run: npm run lint:css | |
| test: | |
| name: Test | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v4 | |
| with: | |
| submodules: true | |
| - uses: actions/setup-node@v4 | |
| with: | |
| node-version: ${{ env.NODE_VERSION }} | |
| cache: npm | |
| - run: npm install -g npm@${{ env.NPM_VERSION }} | |
| - run: npm ci | |
| - run: npx vitest run --coverage | |
| build: | |
| name: Build | |
| runs-on: ubuntu-latest | |
| needs: [lint, prettier-config-sync, format-check, typecheck, test] | |
| steps: | |
| - uses: actions/checkout@v4 | |
| with: | |
| submodules: true | |
| - uses: actions/setup-node@v4 | |
| with: | |
| node-version: ${{ env.NODE_VERSION }} | |
| cache: npm | |
| - run: npm install -g npm@${{ env.NPM_VERSION }} | |
| - run: npm ci | |
| - run: npm run build |