35 lines
806 B
YAML
35 lines
806 B
YAML
|
|
name: CI
|
||
|
|
|
||
|
|
on:
|
||
|
|
push:
|
||
|
|
branches: [main]
|
||
|
|
pull_request:
|
||
|
|
|
||
|
|
jobs:
|
||
|
|
validate:
|
||
|
|
runs-on: ubuntu-latest
|
||
|
|
steps:
|
||
|
|
- uses: actions/checkout@v4
|
||
|
|
|
||
|
|
- name: Validate JSON files
|
||
|
|
run: |
|
||
|
|
set -e
|
||
|
|
for f in $(find . -name '*.json' -not -path './node_modules/*'); do
|
||
|
|
echo "Validating $f"
|
||
|
|
python3 -m json.tool "$f" > /dev/null
|
||
|
|
done
|
||
|
|
|
||
|
|
- name: Validate apps/ (manifest schema + compose shape)
|
||
|
|
run: python3 scripts/validate-catalog.py
|
||
|
|
|
||
|
|
shellcheck:
|
||
|
|
runs-on: ubuntu-latest
|
||
|
|
steps:
|
||
|
|
- uses: actions/checkout@v4
|
||
|
|
- name: Install shellcheck
|
||
|
|
run: |
|
||
|
|
sudo apt-get update
|
||
|
|
sudo apt-get install -y --no-install-recommends shellcheck
|
||
|
|
- name: Run shellcheck
|
||
|
|
run: shellcheck scripts/*.sh
|