mirror of
https://github.com/permissionlesstech/georelays.git
synced 2026-07-24 22:45:18 +00:00
64 lines
1.9 KiB
YAML
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 }}
|