Files
georelays/.github/workflows/relay-maps.yml
T

64 lines
1.9 KiB
YAML

name: Update Relay Maps
on:
# Run after the "Update Relay Data" workflow completes
workflow_run:
workflows: ["Track Relay Count Changes"]
types:
- completed
# Also allow manual triggering
workflow_dispatch:
permissions:
contents: write
jobs:
update-relay-maps:
runs-on: ubuntu-latest
if: ${{ github.event.workflow_run.conclusion == 'success' || github.event_name == 'workflow_dispatch' }}
steps:
- name: Checkout repository
uses: actions/checkout@v4
with:
fetch-depth: 100 # Need deeper history
- name: Set up Python
uses: actions/setup-python@v5
with:
python-version: '3.x'
- name: Install Python dependencies
run: |
python -m pip install --upgrade pip
# Matplotlib 3.11 raises a LinearRing error with Cartopy 0.25.0.
# Keep this at the last version known to render all three maps.
pip install matplotlib==3.10.9 pandas numpy folium scipy
# Install cartopy and its dependencies
sudo apt-get update
sudo apt-get install -y libproj-dev proj-bin proj-data libgeos-dev
pip install cartopy==0.25.0
- name: Generate relay maps
run: |
mkdir -p assets
# Execute the script
python scripts/generate_relay_map.py
- name: Check for changes
id: git-check
run: |
git add assets/relay_locations_static.png assets/relay_locations_heatmap.png assets/relay_locations_interactive.html
git diff --staged --exit-code || echo "changes=true" >> $GITHUB_OUTPUT
- name: Commit and push changes
if: steps.git-check.outputs.changes == 'true'
run: |
git config --local user.email "action@github.com"
git config --local user.name "GitHub Action"
git commit -m "Update relay location maps - $(date -u)"
git push
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}