microsoft / microsoft/hve-core
fix: add lint rule to detect bare pip install and fix beval.yml violation
Nobody has claimed this yet.
- Dominant language
- Python
- Stars
- 1.5k
- Forks
- 301
- Avg merge
- 3d 3h
- Merged PRs (30d)
- 92
Description
### Component
Scripts / Workflows
### Description
A companion to #1313, which narrows scope to instruction file updates. This issue owns the enforcement backstop and the one known existing violation.
**Background:** #1313 adds explicit `pip install` prohibitions to the Python instruction files. Without a validation mechanism, those rules have no CI enforcement and regressions can silently appear.
**Known violation:** `.github/workflows/beval.yml` contains a bare `pip install --no-cache-dir "beval[all] @ git+..."` call that should be replaced with a `uv`-managed equivalent to comply with the repo's uv-first Python convention.
### Acceptance Criteria
- [ ] A new reusable workflow (`.github/workflows/pip-install-lint.yml`) runs a script that detects bare `pip install` calls in `.github/workflows/`, `scripts/`, and `.py` files
- [ ] A corresponding job is added to `pr-validation.yml` to invoke the new reusable workflow on every PR targeting `main`
- [ ] The lint check excludes: `uv pip install`/`uv pip freeze` forms, files under `evals/` that reference `pip install` as failure-signal strings, and `THIRD-PARTY-NOTICES`
- [ ] `.github/workflows/beval.yml` is updated to use the `uv`-managed equivalent of the `beval` install
- [ ] The new lint check passes clean against the updated repo
### Additional Context
`npm run lint:all` is a local developer convenience aggregator and is not called by any CI workflow. New lint checks require both a reusable workflow file and an explicit job entry in `pr-validation.yml` to run on PRs.
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by reviewing .github/workflows/pr-validation.yml and the existing workflow conventions, then inspect .github/workflows/beval.yml and the scoped workflow, scripts, and Python files for bare pip install calls. The work is done when .github/workflows/pip-install-lint.yml and its PR-validation job enforce the stated exclusions, beval.yml uses the uv-managed form, and the check passes cleanly.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- github-actions, python
- Domain
- ci-cd, tooling
- Issue type
- Feature
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Quiet
- Clarity
- Clearly specified
- Newbie friendliness
- 68/100