Update GeoJSON File #13
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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.geojson "https://drive.google.com/uc?export=download&id=${{ secrets.GDRIVE_FILE_ID_ABA_ALERT }}" | |
curl -L -o data/life_needs_alert.geojson "https://drive.google.com/uc?export=download&id=${{ secrets.GDRIVE_FILE_ID_LIFE_NEEDS_ALERT }}" | |
curl -L -o data/year_needs_alert.geojson "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.geojson data/life_needs_alert.geojson data/year_needs_alert.geojson | |
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) | |