Files
home-assistant-addons/.github/workflows/ci.yaml

55 lines
1.8 KiB
YAML

name: CI
on:
push:
branches:
- main
pull_request:
jobs:
validate:
runs-on: ubuntu-latest
name: Validate Addon Config
steps:
- uses: actions/checkout@v4
- name: Install yq
run: |
sudo wget -qO /usr/local/bin/yq https://github.com/mikefarah/yq/releases/latest/download/yq_linux_amd64
sudo chmod +x /usr/local/bin/yq
- name: Validate hamh config
run: |
echo "Validating hamh/config.yaml..."
yq eval '.' hamh/config.yaml > /dev/null
echo " hamh config is valid YAML"
- name: Validate hamh-alpha config
run: |
echo "Validating hamh-alpha/config.yaml..."
yq eval '.' hamh-alpha/config.yaml > /dev/null
echo " hamh-alpha config is valid YAML"
- name: Validate hamh-testing config
run: |
echo "Validating hamh-testing/config.yaml..."
yq eval '.' hamh-testing/config.yaml > /dev/null
echo " hamh-testing config is valid YAML"
- name: Validate repository.yaml
run: |
echo "Validating repository.yaml..."
yq eval '.' repository.yaml > /dev/null
echo " repository.yaml is valid YAML"
- name: Check required fields
run: |
for addon in hamh hamh-alpha hamh-testing; do
echo "Checking $addon required fields..."
yq eval '.name' $addon/config.yaml > /dev/null || (echo "Missing name in $addon" && exit 1)
yq eval '.version' $addon/config.yaml > /dev/null || (echo "Missing version in $addon" && exit 1)
yq eval '.slug' $addon/config.yaml > /dev/null || (echo "Missing slug in $addon" && exit 1)
yq eval '.arch' $addon/config.yaml > /dev/null || (echo "Missing arch in $addon" && exit 1)
echo " $addon has all required fields"
done