Skip to content

audit: skip status:unsupported DEs + relocate audit scripts#826

Merged
igorpecovnik merged 1 commit intomainfrom
audit-exclude-unsupported-des
Apr 11, 2026
Merged

audit: skip status:unsupported DEs + relocate audit scripts#826
igorpecovnik merged 1 commit intomainfrom
audit-exclude-unsupported-des

Conversation

@igorpecovnik
Copy link
Copy Markdown
Member

Summary

Two related changes to the desktop matrix audit, kept in one commit because the script move and the new behaviour land together.

1. Skip `status: unsupported` DEs by default

The weekly audit (#824) was running against every YAML in `tools/modules/desktops/yaml/` — including the four flagged `status: unsupported`:

DE Why it's unsupported
`bianbu` SpacemiT riscv64 only, custom Bianbu archive
`kde-neon` Ubuntu noble/plucky only, custom KDE Neon repo
`budgie` community-maintained, mostly Ubuntu LTS
`deepin` community-maintained, sporadic distro coverage

Auditing them generates noise that isn't actionable: 'package not in the upstream archive' is the expected state for many of their (release, arch) combinations because the YAML doesn't intend to ship those combinations to begin with. The Claude apply step would then propose `tier_overrides` for combos nobody actually intends to install.

Filter them at the YAML enumeration step: read each file's `status:` field, skip `unsupported` by default. The list of skipped DEs is added to the JSON report and surfaced in the workflow's job summary so reviewers can see at a glance which DEs were excluded.

A new `--include-unsupported` CLI flag re-enables them for the rare case where someone wants to audit one before promoting it to `status: supported`.

Verified locally:

  • default run: audits 8 (cinnamon, enlightenment, gnome, i3-wm, kde-plasma, mate, xfce, xmonad), skips 4 (bianbu, budgie, deepin, kde-neon)
  • `--include-unsupported`: audits all 12 as before

2. Relocate the audit scripts

Move the two scripts from `tools/desktops/` to `tools/modules/desktops/github/` so all desktop-related code lives under `tools/modules/desktops/`. The `github/` subdir makes the intent clear (these are CI helpers, not runtime modules) and parallels the `.github/workflows/` layout.

```
tools/desktops/audit.py -> tools/modules/desktops/github/audit.py
tools/desktops/audit_apply.py -> tools/modules/desktops/github/audit_apply.py
```

The workflow's two python3 invocations and the `audit_apply.py` prompt template are updated to point at the new paths. The scripts themselves are unchanged on the move (only the path strings update). The empty `tools/desktops/` directory is removed.

Test plan

  • `python3 tools/modules/desktops/github/audit.py --build-repo ../build --configng-repo . --skip-network` runs cleanly from the new path, audits 8 DEs, skips 4
  • `--include-unsupported` audits all 12
  • Workflow YAML still validates
  • Trigger `.github/workflows/maintenance-desktop-audit.yml` manually with `dry_run=true` once this lands to verify the new path works in CI

Two changes to the desktop matrix audit, kept in one commit
because the script move and the new behaviour land together.

1) Skip status:unsupported DEs by default
-----------------------------------------

The weekly audit was running against every YAML in
tools/modules/desktops/yaml/, including the four flagged
'status: unsupported': bianbu, budgie, deepin, kde-neon.

These are typically vendor- or release-specific desktops:
  - bianbu   : SpacemiT riscv64, Bianbu archive, riscv64 only
  - kde-neon : Ubuntu noble/plucky only, custom KDE Neon repo
  - budgie   : community-maintained, mostly Ubuntu LTS
  - deepin   : community-maintained, sporadic distro coverage

Auditing them generates noise that isn't actionable: 'package
not in the upstream archive' is the expected state for many
of their (release, arch) combinations because the YAML doesn't
intend to ship those combinations to begin with. The Claude
apply step would then propose tier_overrides for combos that
nobody actually intends to install.

Filter them at the YAML enumeration step: read each file's
'status:' field, skip 'unsupported' by default. The list of
skipped DEs is added to the JSON report and surfaced in the
workflow's job summary so reviewers can see at a glance which
DEs were excluded.

Add a --include-unsupported CLI flag for the rare case where
someone wants to audit them anyway (e.g. before promoting one
to status: supported).

Verified locally:
  - default run: audits 8 (cinnamon, enlightenment, gnome,
    i3-wm, kde-plasma, mate, xfce, xmonad), skips 4
  - --include-unsupported: audits all 12 as before

2) Relocate the audit scripts
-----------------------------

Move the two scripts from tools/desktops/ to
tools/modules/desktops/github/ so all desktop-related code
lives under tools/modules/desktops/. The 'github/' subdir
makes the intent clear (these are CI helpers, not runtime
modules) and parallels the .github/workflows/ layout.

  tools/desktops/audit.py        -> tools/modules/desktops/github/audit.py
  tools/desktops/audit_apply.py  -> tools/modules/desktops/github/audit_apply.py

The workflow's two python3 invocations and the audit_apply.py
prompt template are updated to point at the new paths. The
scripts themselves are unchanged on the move (only the path
strings update).

Verified the workflow still validates as YAML and the script
still runs end-to-end from the new location.
@coderabbitai
Copy link
Copy Markdown
Contributor

coderabbitai bot commented Apr 11, 2026

Warning

Rate limit exceeded

@igorpecovnik has exceeded the limit for the number of commits that can be reviewed per hour. Please wait 2 minutes and 59 seconds before requesting another review.

Your organization is not enrolled in usage-based pricing. Contact your admin to enable usage-based pricing to continue reviews beyond the rate limit, or try again in 2 minutes and 59 seconds.

⌛ How to resolve this issue?

After the wait time has elapsed, a review can be triggered using the @coderabbitai review command as a PR comment. Alternatively, push new commits to this PR.

We recommend that you space out your commits to avoid hitting the rate limit.

🚦 How do rate limits work?

CodeRabbit enforces hourly rate limits for each developer per organization.

Our paid plans have higher rate limits than the trial, open-source and free plans. In all cases, we re-allow further reviews after a brief timeout.

Please see our FAQ for further information.

ℹ️ Review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro

Run ID: f980faa7-856c-4c6c-96bf-4484044b2e49

📥 Commits

Reviewing files that changed from the base of the PR and between e618912 and 22d067b.

📒 Files selected for processing (3)
  • .github/workflows/maintenance-desktop-audit.yml
  • tools/modules/desktops/github/audit.py
  • tools/modules/desktops/github/audit_apply.py
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch audit-exclude-unsupported-des

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

@github-actions github-actions bot added 05 Milestone: Second quarter release size/medium PR with more then 50 and less then 250 lines GitHub Actions GitHub Actions code GitHub GitHub-related changes like labels, templates, ... labels Apr 11, 2026
@igorpecovnik igorpecovnik merged commit 06e0e5c into main Apr 11, 2026
95 of 98 checks passed
@igorpecovnik igorpecovnik deleted the audit-exclude-unsupported-des branch April 11, 2026 22:21
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

05 Milestone: Second quarter release GitHub Actions GitHub Actions code GitHub GitHub-related changes like labels, templates, ... size/medium PR with more then 50 and less then 250 lines

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant