Enhance checks for invalid keyboard build targets (#26122)
Co-authored-by: フィルターペーパー <76888457+filterpaper@users.noreply.github.com>
This commit is contained in:
parent
933cb8cc35
commit
2bd8e43256
|
|
@ -89,23 +89,7 @@ jobs:
|
|||
if: always()
|
||||
shell: 'bash {0}'
|
||||
run: |
|
||||
exit_code=0
|
||||
|
||||
for file in $(find keyboards/ -name rules.mk | grep -v /keymaps/ | grep -v /common/ | grep -v /lib/); do
|
||||
dir=$(dirname $file)
|
||||
|
||||
$(find $dir -name keyboard.json -exec false {} +)
|
||||
if [[ $? == 0 ]]; then
|
||||
echo "$dir::Legacy target detected"
|
||||
|
||||
((++exit_code))
|
||||
fi
|
||||
done
|
||||
|
||||
if [[ $exit_code -gt 255 ]]; then
|
||||
exit 255
|
||||
fi
|
||||
exit $exit_code
|
||||
qmk ci-validate-keyboard-targets
|
||||
|
||||
- name: Verify keyboard aliases
|
||||
if: always()
|
||||
|
|
|
|||
|
|
@ -56,6 +56,7 @@ safe_commands = [
|
|||
|
||||
subcommands = [
|
||||
'qmk.cli.ci.validate_aliases',
|
||||
'qmk.cli.ci.validate_keyboard_targets',
|
||||
'qmk.cli.bux',
|
||||
'qmk.cli.c2json',
|
||||
'qmk.cli.cd',
|
||||
|
|
|
|||
|
|
@ -0,0 +1,28 @@
|
|||
"""Validates the list of keyboard targets.
|
||||
"""
|
||||
from milc import cli
|
||||
|
||||
from pathlib import Path
|
||||
|
||||
|
||||
@cli.subcommand('Validates the list of keyboard targets.', hidden=True)
|
||||
def ci_validate_keyboard_targets(cli):
|
||||
errors = set()
|
||||
|
||||
for rules_mk in Path('keyboards').glob('**/rules.mk'):
|
||||
if any({'keymaps', 'common', 'lib'} & set(rules_mk.parts)):
|
||||
continue
|
||||
|
||||
folder = rules_mk.parent
|
||||
if not any(folder.glob('**/keyboard.json')):
|
||||
errors.add(folder)
|
||||
|
||||
for keymap in Path('keyboards').glob('**/keymaps/'):
|
||||
folder = keymap.parent
|
||||
if not any(folder.glob('**/keyboard.json')):
|
||||
errors.add(folder)
|
||||
|
||||
for error in errors:
|
||||
print(f"{error}::Legacy target detected")
|
||||
|
||||
exit(min(len(errors), 255))
|
||||
Loading…
Reference in New Issue