appbaseio / appbaseio/reactivesearch
ci: add Node.js version matrix, caching, and lint step to test workflow
- Ngôn ngữ chính
- JavaScript
- Star
- 4.9k
- Fork
- 478
- Chỉ số merge pull request
- Không có pull request nào được merge trong 30 ngày
Mô tả
## 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
Hướng dẫn đóng góp
Hướng nghiên cứu
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.
Do mô hình lập chỉ mục viết ra từ nội dung của issue.
Đánh giá
- Công nghệ
- github-actions, javascript, nodejs
- Lĩnh vực
- ci-cd, devops, testing-qa
- Loại issue
- Tính năng
- Độ khó
- 2/5
- Thời gian dự kiến
- 1-3 giờ
- Mức độ hoạt động
- Ít trao đổi
- Độ rõ ràng
- Đặc tả rõ ràng
- Mức phù hợp với người mới
- 84/100