Skip to content

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

  1. The Trigger: A git tag (e.g., v-year-2025).
  2. The Action: Zips the folder data/2025/ $\rightarrow$ data-2025.zip.
  3. The Result: A GitHub Release page containing the ZIP file.
  4. The Frontend: The "Bulk Download" button in index.html links 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.