45 lines
1.2 KiB
YAML
45 lines
1.2 KiB
YAML
name: Hourly blackout check
|
|
|
|
on:
|
|
schedule:
|
|
- cron: "@hourly"
|
|
workflow_dispatch:
|
|
|
|
jobs:
|
|
check:
|
|
runs-on: ubuntu-latest
|
|
container:
|
|
image: daily-blackout-check-runner:latest
|
|
env:
|
|
PYTHONPATH: src
|
|
steps:
|
|
- name: Check out repository
|
|
uses: https://gitea.com/actions/checkout@v4
|
|
with:
|
|
fetch-depth: 0
|
|
|
|
- name: Check outages and persist state
|
|
env:
|
|
BARGHEMAN_TOKEN: ${{ secrets.BARGHEMAN_TOKEN }}
|
|
EITAAYAR_TOKEN: ${{ secrets.EITAAYAR_TOKEN }}
|
|
CHAT_ID: ${{ secrets.CHAT_ID }}
|
|
BILL_IDS: ${{ secrets.BILL_IDS }}
|
|
STATE_FILE: state/outages.json
|
|
run: |
|
|
set +e
|
|
python -m blackout_notifier check
|
|
checker_status=$?
|
|
set -e
|
|
|
|
if ! git diff --quiet -- state/outages.json; then
|
|
git config user.name "gitea-blackout-bot"
|
|
git config user.email "blackout-bot@mahgit.ir"
|
|
git add state/outages.json
|
|
git commit -m "chore(state): update outage notification state [skip ci]"
|
|
branch="$(git branch --show-current)"
|
|
git pull --rebase origin "$branch"
|
|
git push origin "$branch"
|
|
fi
|
|
|
|
exit "$checker_status"
|