Files
weather-alerts/.gitea/workflows/weather-alerts.yml

43 lines
1.3 KiB
YAML

name: Weather Alerts
on:
schedule:
- cron: '0 * * * *' # Every hour at :00
workflow_dispatch: {} # Manual trigger
jobs:
check-weather:
runs-on: ubuntu-latest
steps:
- name: Install Python
run: |
apt-get update
apt-get install -y python3 python3-pip python3-venv git
- name: Checkout repository
env:
GITEA_TOKEN: ${{ secrets.GITEA_TOKEN }}
SERVER_URL: ${{ github.server_url }}
REPOSITORY: ${{ github.repository }}
run: |
SERVER_HOST="${SERVER_URL#https://}"
SERVER_HOST="${SERVER_HOST#http://}"
git clone --depth 1 "https://oauth2:${GITEA_TOKEN}@${SERVER_HOST}/${REPOSITORY}.git" .
git config user.name "Gitea Actions"
git config user.email "actions@gitea.local"
- name: Install dependencies
run: pip install --break-system-packages -r requirements.txt
- name: Run weather alerts
env:
VISUALCROSSING_API_KEY: ${{ secrets.VISUALCROSSING_API_KEY }}
NTFY_ACCESS_TOKEN: ${{ secrets.NTFY_ACCESS_TOKEN }}
run: python3 -m app.main
- name: Commit state changes
run: |
git add data/state.json
git diff --staged --quiet || git commit -m "chore: update weather alert state [skip ci]"
git push