Workflow: Automated Bulk Data Releases
Overview
This workflow automates the creation of "Yearly Snapshots."
When a dataset year (e.g., 2025) is finalized or updated, we do not want users to download 50 separate CSV files manually. This workflow automatically zips the entire folder for that year and attaches it to a formal GitHub Release.
The Architecture
- The Trigger: A git tag (e.g.,
v-year-2025). - The Action: Zips the folder
data/2025/$\rightarrow$data-2025.zip. - The Result: A GitHub Release page containing the ZIP file.
- The Frontend: The "Bulk Download" button in
index.htmllinks users to this specific release page.
How to Trigger a Release (Maintenance)
This workflow does not run on normal commits. It requires a specific "tagging" procedure in your terminal.
Step 1: Push your data
Ensure your CSV/Parquet files are committed and pushed to main inside the correct year folder (e.g., data/2025/).
Step 2: Create the Tag
Run the following commands in your terminal. The tag must match the format v-year-YYYY.
# 1. Create the tag locally
# Syntax: git tag v-year-<FOLDER_NAME>
git tag v-year-2025
# 2. Push the tag to GitHub (This triggers the Action)
git push origin v-year-2025
Step 3: Verify
Go to the Actions tab in GitHub. You will see a workflow named "Release Year Snapshot" running. When it finishes (approx. 30 seconds), a new Release will appear in the sidebar with data-2025.zip attached.