Skip to content

Fix maintainers-sync / CODEOWNERS job errors - #10385

Merged
igorpecovnik merged 4 commits into
mainfrom
fix/maintainers-sync-no-wip
Aug 9, 2026
Merged

Fix maintainers-sync / CODEOWNERS job errors#10385
igorpecovnik merged 4 commits into
mainfrom
fix/maintainers-sync-no-wip

Conversation

@igorpecovnik

@igorpecovnik igorpecovnik commented Aug 9, 2026

Copy link
Copy Markdown
Member

Two fixes for the scheduled Data: Sync maintainers job.

1. Job fails: no .wip boards left

sed: can't read config/boards/*.wip: No such file or directory
##[error]Process completed with exit code 2

Now that the last .wip board became .csc, the brace-glob config/boards/*.{conf,wip,csc,eos,tvb} leaves *.wip literal (no nullglob), so sed / grep read a nonexistent path and GitHub's default bash -e -o pipefail aborts. Affects Update maintainers and Mark csc for no maintainer.

Fix: shopt -s nullglob in both steps (empty class → nothing), plus || true on the demote grep so "nothing to demote" (grep exit 1) doesn't trip pipefail.

2. expr: syntax error noise during CODEOWNERS generation

expr: syntax error: unexpected argument '.*\(rk[[:digit:]]\+.*\)_.*'

config/sources/families/include/rockchip64_common.inc had expr $BOOTCONFIG : '...' unquoted. For a board with no BOOTCONFIG, the empty operand vanishes and expr sees : REGEX → syntax error. The || true hid the exit code but not the stderr. Quote it ("${BOOTCONFIG}") so an empty value is a proper empty-string argument.

Verification

  • Reproduced the .wip failure with a fixture lacking .wip; after nullglob the reset sed, the per-board loop, and the demote grep all run clean.
  • Reproduced the expr error with empty BOOTCONFIG; quoted form yields empty (no error) and still extracts the SoC (rk3588-orangepi-5_defconfigrk3588-orangepi-5) for a real value.
  • YAML + bash -n clean.

The "Update maintainers" and "Mark csc for no maintainer" steps glob
config/boards/*.{conf,wip,csc,eos,tvb}. With no *.wip boards left, the
unmatched *.wip stays literal and sed/grep error with "No such file or
directory"; under GitHub's default bash -e -o pipefail that fails the job
(exit 2).

Enable `shopt -s nullglob` in both steps so an empty support-level class
expands to nothing, and guard the demote grep with `|| true` so no
empty-maintainer match doesn't trip pipefail either.

Signed-off-by: Igor Pecovnik <igor@armbian.com>
@coderabbitai

coderabbitai Bot commented Aug 9, 2026

Copy link
Copy Markdown
Contributor

Important

Review skipped

Auto reviews are limited based on label configuration.

🏷️ Required labels (at least one) (1)
  • Needs review

Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro Plus

Run ID: 8ca2df1d-4168-4a19-a26c-1eca1ef991be

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review

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.

@github-actions github-actions Bot added size/small PR with less then 50 lines 08 Milestone: Third quarter release Needs review Seeking for review GitHub Actions GitHub Actions code labels Aug 9, 2026
When a board has no BOOTCONFIG set, the unquoted `expr $BOOTCONFIG : ...`
drops the empty operand, so expr sees `: REGEX` and prints
"syntax error: unexpected argument ...". The `|| true` swallowed the exit
code but not the stderr noise (two lines during CODEOWNERS generation).
Quote it so an empty value is a proper empty-string argument.

Signed-off-by: Igor Pecovnik <igor@armbian.com>
@github-actions github-actions Bot added Hardware Hardware related like kernel, U-Boot, ... GitHub GitHub-related changes like labels, templates, ... labels Aug 9, 2026
@igorpecovnik igorpecovnik changed the title data-sync-maintainers: don't fail when there are no .wip boards Fix maintainers-sync / CODEOWNERS job errors Aug 9, 2026
Rewrite the generated PR body: an [!IMPORTANT] callout flagging it as
auto-generated, a short "what changed" list (maintainers synced,
unmaintained boards demoted to CSC, CODEOWNERS refreshed), the
become-a-maintainer link, and references.

Signed-off-by: Igor Pecovnik <igor@armbian.com>
@igorpecovnik igorpecovnik added Ready to merge Reviewed, tested and ready for merge and removed Needs review Seeking for review labels Aug 9, 2026
Note in the auto-PR body that active maintainers are listed automatically
on armbian.com/authors based on recent activity.

Signed-off-by: Igor Pecovnik <igor@armbian.com>
@github-actions github-actions Bot added Needs review Seeking for review and removed Ready to merge Reviewed, tested and ready for merge labels Aug 9, 2026
@igorpecovnik igorpecovnik added Ready to merge Reviewed, tested and ready for merge and removed Needs review Seeking for review labels Aug 9, 2026
@igorpecovnik
igorpecovnik merged commit 65669f8 into main Aug 9, 2026
14 checks passed
@igorpecovnik
igorpecovnik deleted the fix/maintainers-sync-no-wip branch August 9, 2026 19:33
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

08 Milestone: Third quarter release GitHub Actions GitHub Actions code GitHub GitHub-related changes like labels, templates, ... Hardware Hardware related like kernel, U-Boot, ... Ready to merge Reviewed, tested and ready for merge size/small PR with less then 50 lines

Development

Successfully merging this pull request may close these issues.

1 participant