name: Validate Plugin Licenses on: pull_request: paths: - 'plugins/**' push: branches: [main] paths: - 'plugins/**' permissions: contents: read jobs: validate-licenses: runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - name: Check every plugin has an Apache 2.0 LICENSE file run: | set -euo pipefail missing=() for plugin_dir in plugins/*/; do plugin="${plugin_dir%/}" if [[ ! -f "$plugin/LICENSE" ]]; then missing+=("$plugin") fi done if [[ "${#missing[@]}" -gt 0 ]]; then echo "::error::The following plugins are missing a LICENSE file:" for p in "${missing[@]}"; do echo " - $p" done exit 1 fi echo "All $(ls -d plugins/*/ | wc -l) plugins have a LICENSE file."