Skip to content

feat(ci): allow-unsupported input for the repo-eval workflow - #156

Open
napetrov wants to merge 2 commits into
intel:mainfrom
napetrov:repo-eval-allow-unsupported
Open

napetrov wants to merge 2 commits into
intel:mainfrom
napetrov:repo-eval-allow-unsupported

Conversation

@napetrov

Copy link
Copy Markdown
Contributor

Summary

 tasks-check job: repo tasks check
   flags=()
   if warm: flags+=(--warm)
+  if allow-unsupported: flags+=(--allow-unsupported)

New boolean input allow-unsupported (default false). A task whose task.json host block (D3, #112) the runner misses passes its job; broken tasks and failed host probes still fail (CLI semantics unchanged). Caller: oneDAL #3818 fix_cel_thread_race (needs 4+ Intel CPUs; hosted runners may be AMD).

Part of #41.

Evidence

  • Before: no way to pass --allow-unsupported from a caller; an unsupported task fails its job, so oneDAL excludes the task.
    After: allow-unsupported: true adds the flag; pytest tests/test_repo_eval_task_selection.py 37 passed.

Merge Danger

Door: two-way

Blast Radius: none (opt-in input)

🤖 Generated with Claude Code

Passes --allow-unsupported to repo tasks check, so a task whose task.json
host requirements the runner misses passes its job. Off by default.

Part of intel#41.

Signed-off-by: Nikolay Petrov <nikolay.a.petrov@intel.com>
@codecov-commenter

codecov-commenter commented Oct 22, 2026 •

Copy link
Copy Markdown

⚠️ Please install the 'codecov app svg image' to ensure uploads and comments are reliably processed by Codecov.

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 91.54%. Comparing base (ad1cbd0) to head (f127e78).
⚠️ Report is 10 commits behind head on main.
❗ Your organization needs to install the Codecov GitHub app to enable full functionality.

Additional details and impacted files
@@            Coverage Diff             @@
##             main     #156      +/-   ##
==========================================
+ Coverage   91.40%   91.54%   +0.13%     
==========================================
  Files         216      222       +6     
  Lines       26741    27369     +628     
  Branches     4377     4505     +128     
==========================================
+ Hits        24442    25054     +612     
- Misses       1635     1644       +9     
- Partials      664      671       +7     

see 32 files with indirect coverage changes

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@antonwolfy antonwolfy left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Review at 7d5e00a. The workflow change itself is right and small. The PR also adds dokimi/uv.lock (6,890 lines, 1.4 MB), which breaks CI. One thing to fix before merge.

What I ran, on a Linux review host at 7d5e00a:

  • make ci-local: 23 passed, 3 failed, 6 skipped. One failure is the PR's (the large-file hook). The other two do not come from this diff: pip-audit reports virtualenv 21.14.7 (CVE-2026-113722) from the existing locks (fixed on main by #152), and test_unbalanced_quote_in_hook_completes_quickly took 1.002 s against a 1 s limit (6,714 other tests passed).
  • zizmor on repo-eval.yml: no findings.

dokimi/uv.lock should not be in this PR. It is unrelated to the allow-unsupported input, and it fails CI as it stands.

  • check-added-large-files --enforce-all (.pre-commit-config.yaml:41) fails: dokimi/uv.lock (1377 KB) exceeds 500 KB.
  • The license-header check covers ** and ignores only the three requirements*.lock.txt files (.github/.licenserc.yaml:45-47). uv.lock starts with version = 1 and has no SPDX header: GitHub's Static checks job fails on it ("the following files don't have a valid license header: dokimi/uv.lock").
  • The repo's locks are the hashed requirements*.lock.txt files, which tests/test_dependency_locks.py and Renovate (renovate.json5:54) cover. Nothing generates, checks or installs from a uv.lock, so it would drift unnoticed.

Suggestion: drop the file from the PR (git rm dokimi/uv.lock). If a uv lock is wanted, do it in its own PR with the header, the ignore entries and a check.

Checked, no issues

  • Step script: flags=() with "${flags[@]}" expands correctly. The input arrives through env, as the string true or false, so [ "$ALLOW_UNSUPPORTED" = true ] works. Nothing is interpolated into run.
  • Behaviour claims: repo_run.py:152-159 lets only unsupported_by == "host" pass. Broken tasks and host-probe results still exit 1, as the changelog and docs say.
  • Default: the input is under workflow_call only, defaults to false, so existing callers are unchanged.

Signed-off-by: Nikolay Petrov <nikolay.a.petrov@intel.com>
@napetrov

Copy link
Copy Markdown
Contributor Author

Review at 7d5e00a: the one item (dokimi/uv.lock in the PR) is removed in f127e78; the PR diff against main is now the workflow input, its docs line and the changelog fragment only. The other two make ci-local failures were not from this diff (pip-audit is #152, the 1 s timing test is flaky).

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants