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 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; 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