appbaseio / appbaseio/reactivesearch

ci: add Node.js version matrix, caching, and lint step to test workflow

Ouverte Adaptée aux débutants
#2,322 0 commentaires 0 réactions 0 personnes assignées Voir sur GitHub
Langage dominant
JavaScript
Étoiles
4.9k
Forks
478
Métriques de merge des PR
Aucune PR mergée en 30 j

Description

## Problem

The CI workflow at `.github/workflows/test.yml` has several gaps:

1. Only tests on Node.js 22.x (volta config says 16 — mismatch)
2. No dependency caching between runs (slow CI)
3. No lint step in CI (eslint only runs via pre-commit hook)
4. Uses `actions/checkout@v2` and `actions/setup-node@v2` (both outdated)

## Suggested Fix

```yaml
jobs:
build:
runs-on: ubuntu-latest
strategy:
matrix:
node-version: [18.x, 20.x, 22.x]
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
node-version: ${{ matrix.node-version }}
cache: 'yarn'
- run: yarn install --frozen-lockfile
- run: cd packages/web && yarn build
- run: cd packages/web && yarn lint
- run: cd packages/web && yarn test --verbose --maxWorkers=2
```

## Severity

Medium — CI reliability and speed

Guide de contribution

Ouvrir le guide de contribution

Piste de recherche

Start with .github/workflows/test.yml and inspect the existing test job, then compare its Node.js version with the Volta configuration mentioned in the issue. Update the workflow to cover the requested Node.js versions, dependency caching, current action versions, and the web lint command; run the workflow or its equivalent checks to confirm build, lint, and tests pass for every matrix entry.

Rédigé par le modèle d'indexation à partir du texte de l'issue.

Évaluation

Stack technique
github-actions, javascript, nodejs
Domaine
ci-cd, devops, testing-qa
Type d'issue
Fonctionnalité
Difficulté
2/5
Temps estimé
1-3 heures
Activité
Calme
Clarté
Clairement spécifiée
Accessibilité débutants
84/100

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.