Weekly Plugin Scan #16
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| name: Weekly Plugin Scan | |
| on: | |
| schedule: | |
| # Run weekly on Sunday at 03:37 UTC. Avoid the top of the hour to reduce | |
| # the chance of GitHub Actions schedule delays during high-load windows. | |
| - cron: '37 3 * * 0' | |
| workflow_dispatch: # Allow manual trigger from the GitHub Actions UI | |
| permissions: | |
| contents: read | |
| jobs: | |
| scan-and-pr: | |
| permissions: | |
| contents: write | |
| pull-requests: write | |
| runs-on: ubuntu-latest | |
| steps: | |
| - name: Checkout repository | |
| uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0 | |
| with: | |
| persist-credentials: false | |
| - name: Set up Python | |
| uses: actions/setup-python@ece7cb06caefa5fff74198d8649806c4678c61a1 # v6.3.0 | |
| with: | |
| python-version: '3.11' | |
| - name: Run Plugin Scanner | |
| env: | |
| GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
| GITLAB_TOKEN: ${{ secrets.GITLAB_TOKEN }} | |
| run: | | |
| python .github/scripts/scan_github_plugins.py | |
| - name: Remove unavailable plugins | |
| env: | |
| GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
| GITLAB_TOKEN: ${{ secrets.GITLAB_TOKEN }} | |
| run: >- | |
| python .github/scripts/cleanup_registry.py --apply | |
| --tombstone-requests-output | |
| "${{ runner.temp }}/release-tombstone-requests.json" | |
| - name: Refresh platform metadata | |
| env: | |
| GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
| GITLAB_TOKEN: ${{ secrets.GITLAB_TOKEN }} | |
| run: python .github/scripts/detect_plugin_platforms.py | |
| - name: Preview release certification | |
| env: | |
| GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
| GITLAB_TOKEN: ${{ secrets.GITLAB_TOKEN }} | |
| run: >- | |
| python .github/scripts/generate_release_index.py --report-only | |
| --cache "${{ runner.temp }}/release-candidate-cache.json" | |
| --tombstone-requests | |
| "${{ runner.temp }}/release-tombstone-requests.json" | |
| - name: Update release index | |
| env: | |
| GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
| GITLAB_TOKEN: ${{ secrets.GITLAB_TOKEN }} | |
| run: >- | |
| python .github/scripts/generate_release_index.py --update | |
| --cache "${{ runner.temp }}/release-candidate-cache.json" | |
| --tombstone-requests | |
| "${{ runner.temp }}/release-tombstone-requests.json" | |
| - name: Validate registry and release-index binding | |
| run: python .github/scripts/validate_plugins.py | |
| - name: Create Pull Request | |
| uses: peter-evans/create-pull-request@5f6978faf089d4d20b00c7766989d076bb2fc7f1 # v8.1.1 | |
| with: | |
| token: ${{ secrets.GITHUB_TOKEN }} | |
| commit-message: "feat: update Domoticz Python plugin registry" | |
| title: "Update Domoticz Python plugin registry from weekly scan" | |
| body: | | |
| This automated PR updates the Domoticz Python plugin registry with newly discovered plugins, refreshed repository metadata, and inferred platform badges from supported Git forges. | |
| Newly discovered plugins use explicit package records with a certified Domoticz runtime key, a provider-neutral repository URL, and a reviewed release-first delivery policy. Git delivery remains available. | |
| The platform badge inference checks repository metadata, README and install text, selected source files, platform-specific imports, scripts, and OS-specific paths or commands. | |
| branch: "auto-add-plugins" | |
| delete-branch: true | |
| labels: "automated pr, enhancement" | |
| add-paths: | | |
| registry.json | |
| update_times.json | |
| release_index.json | |
| .github/platform_detection.json |