Daniel Schaefer d9f68c42c5 lotus: Try to fix gh actions
Current error:

```
1s
Run trilom/file-changes-action@v1.2.4
/usr/bin/docker exec  e94fda2c6b79f2a3fda6ad3973fb2452092507da89442d782b39afc8b41f24a4 sh -c "cat /etc/*release | grep ^ID"
Warning: Received event from pull_request, but also received a before(50eff5af7dc04b0a4875f13f14be50f1e279774c) or after(8bd0db74a78f63e77553e5800add3fad45783a1e) value.
 I am assuming you want to use a Push event but forgot something, so I'm giving you a message.
Error: undefined
Exception: {
  "error": "403/Unknown Error:HttpError",
  "from": "undefined/Error",
  "message": "There was an error getting change files for repo:qmk_firmware owner:FrameworkComputer pr:1",
  "payload": "Resource not accessible by integration"
}
(node:128) UnhandledPromiseRejectionWarning: Error: {"error":"403/Unknown Error:HttpError","from":"undefined/Error","message":"There was an error getting change files for repo:qmk_firmware owner:FrameworkComputer pr:1","payload":"Resource not accessible by integration"}
    at run (/__w/_actions/trilom/file-changes-action/v1.2.4/dist/index.js:1:19989)
    at processTicksAndRejections (internal/process/task_queues.js:97:5)
(node:128) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). To terminate the node process on unhandled promise rejection, use the CLI flag `--unhandled-rejections=strict` (see https://nodejs.org/api/cli.html#cli_unhandled_rejections_mode). (rejection id: 1)
(node:128) [DEP0018] DeprecationWarning: Unhandled promise rejections
are deprecated. In the future, promise rejections that are not handled
will terminate the Node.js process with a non-zero exit code.
```

Signed-off-by: Daniel Schaefer <dhs@frame.work>
2023-02-02 15:04:56 +08:00

62 lines
1.4 KiB
YAML

name: PR Lint keyboards
#permissions:
# contents: read
on:
pull_request:
paths:
- 'keyboards/**'
jobs:
lint:
runs-on: ubuntu-latest
container: qmkfm/qmk_cli
steps:
- uses: actions/checkout@v3
with:
fetch-depth: 0
- name: Install dependencies
run: pip3 install -r requirements-dev.txt
- uses: trilom/file-changes-action@v1.2.4
id: file_changes
with:
output: '\n'
- name: Print info
run: |
git rev-parse --short HEAD
echo ${{ github.event.pull_request.base.sha }}
echo '${{ steps.file_changes.outputs.files}}'
- name: Run qmk lint
shell: 'bash {0}'
run: |
QMK_CHANGES=$(echo -e '${{ steps.file_changes.outputs.files}}')
QMK_KEYBOARDS=$(qmk list-keyboards)
exit_code=0
for KB in $QMK_KEYBOARDS; do
KEYBOARD_CHANGES=$(echo "$QMK_CHANGES" | grep -E '^(keyboards/'${KB}'/)')
if [[ -z "$KEYBOARD_CHANGES" ]]; then
# skip as no changes for this keyboard
continue
fi
KEYMAP_ONLY=$(echo "$KEYBOARD_CHANGES" | grep -cv /keymaps/)
if [[ $KEYMAP_ONLY -gt 0 ]]; then
echo "linting ${KB}"
qmk lint --keyboard ${KB} && qmk info -l --keyboard ${KB}
exit_code=$(($exit_code + $?))
fi
done
if [[ $exit_code -gt 255 ]]; then
exit 255
fi
exit $exit_code