appbaseio / appbaseio/reactivesearch

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

未关闭 适合新手
#2,322 0 条评论 0 个 reaction 已指派 0 人 在 GitHub 查看
主要语言
JavaScript
星标
4.9k
派生
478
PR 合并指标
30 天内没有已合并 PR

描述

## 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

贡献指南

打开贡献指南

调研方向

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.

由索引模型根据 Issue 内容生成。

评估

技术栈
github-actions, javascript, nodejs
领域
ci-cd, devops, testing-qa
Issue 类型
功能
难度
2/5
预计耗时
1-3 小时
活跃度
冷清
描述清晰度
描述清楚
新手友好度
84/100

把新 issue 发到你的邮箱

精选适合新手参与的 GitHub issue 摘要。