Skip to content

Weekly plugin candidate exceptions #5

Weekly plugin candidate exceptions

Weekly plugin candidate exceptions #5

name: Weekly plugin candidate exceptions
on:
schedule:
- cron: "13 4 * * 1"
workflow_dispatch:
permissions:
actions: read
contents: read
jobs:
summarize:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v6
- name: Restore the latest operational candidate ledger
env:
GH_TOKEN: ${{ github.token }}
run: |
mkdir -p data .candidate-state
restored=""
for run_id in $(gh run list --workflow sync-topic-plugins.yml --status success --limit 20 --json databaseId --jq '.[].databaseId'); do
if gh run download "$run_id" --name topic-candidate-ledger --dir .candidate-state 2>/dev/null; then
restored=$(find .candidate-state -name topic-candidates.json -print -quit)
break
fi
done
test -n "$restored"
cp "$restored" data/topic-candidates.json
- name: Generate the operational exception summary
id: summary
run: python3 scripts/sync_topic_plugins.py exceptions > candidate-exceptions.md
- name: Retain the actionable exception summary
if: steps.summary.outputs.actionable_count != '0'
uses: actions/upload-artifact@v7
with:
name: candidate-exceptions-${{ github.run_id }}
path: candidate-exceptions.md
if-no-files-found: error
retention-days: 30