Skip to content

Update GeoJSON File #10

Update GeoJSON File

Update GeoJSON File #10

name: Update GeoJSON File
on:
schedule:
- cron: '0 0 * * *' # Runs every day at midnight UTC
workflow_dispatch: # Allows manual triggering of the workflow
jobs:
fetch-and-update-geojson:
runs-on: ubuntu-latest
steps:
# Step 1: Check out the repository
- name: Checkout repository
uses: actions/checkout@v3
with:
fetch-depth: 0 # Fetch the entire history to handle rebase
# Step 2: Download the GeoJSON files from Google Drive
- name: Download GeoJSON files from Google Drive
run: |
curl -L -o data/aba_alert.json "https://drive.google.com/uc?export=download&id=${{ secrets.GDRIVE_FILE_ID_ABA_ALERT }}"
curl -L -o data/life_needs_alert.json "https://drive.google.com/uc?export=download&id=${{ secrets.GDRIVE_FILE_ID_LIFE_NEEDS_ALERT }}"
curl -L -o data/year_needs_alert.json "https://drive.google.com/uc?export=download&id=${{ secrets.GDRIVE_FILE_ID_YEAR_NEEDS_ALERT }}"
# Step 3: Commit and push the changes
- name: Commit and push changes
run: |
git config --global user.name "GitHub Actions"
git config --global user.email "actions@github.com"
# Pull the latest changes with rebase to avoid conflicts
git pull --rebase origin main || echo "No changes to rebase"
# Add and commit the downloaded files
git add data/aba_alert.json data/life_needs_alert.json data/year_needs_alert.json
git commit -m "Update GeoJSON files from Google Drive" || echo "No changes to commit"
# Push the changes. Retry with force if necessary.
git push || (git pull --rebase origin main && git push --force)