GitHub Actions Workflows
Support Aurora: GitHub Sponsors · Patreon · Buy Me a Coffee
SolarHub is an entirely automated platform. All orchestration—from data collection to model evaluation—is handled by GitHub Actions.
1. Nightly Pipeline (pipeline.yml)
This is the primary engine of SolarHub.
- Trigger:
00:30 UTCdaily or via manualworkflow_dispatch. - Primary Tasks:
- Locks the
data/directory to prevent frontend inconsistency. - Crawls JSOC for the previous day's solar images.
- Synchronizes local user annotations to HuggingFace datasets.
- Generates new task templates for the next 24 hours.
- Unlocks the repository by restoring the
data/directory.
- Locks the
2. Parse Annotation Issue (parse_annotation_issue.yml)
Handles real-time community contributions.
- Trigger: When a GitHub Issue is created or labeled with
annotation. - Workflow:
- Executes
scripts/parse_issue_annotation.py. - Commits the new annotation JSON directly to the repository.
- Comments on the issue to acknowledge the contributor.
- Automatically closes the issue as "completed."
- Executes
3. Deploy Documentation (docs_deploy.yml)
Manages the SolarHub Aurora documentation portal (this site).
- Trigger: Any push to the
mainbranch that modifies thedocs/folder. - Workflow:
- Builds the Docusaurus site.
- Deploys the static assets to GitHub Pages.
4. Setup Platforms (setup_platforms.yml)
Used for initial project bootstrapping.
- Trigger: Manual
workflow_dispatchonly. - Workflow: Runs
scripts/setup_platforms.pyto initialize HuggingFace and Kaggle integrations.
Workflow Permissions
GitHub Actions requires specific permissions to operate:
contents: write: To commit new task URLs and user annotations.issues: write: To comment on and close annotation submissions.id-token: write: For secure authentication with external cloud platforms.
Error Recovery
If a workflow fails, the system is designed to "fail safe":
pipeline.yml: Includes anunlock-on-failurestage that renamesdata_processing/back todata/to ensure the platform remains accessible to users.- Logs: Detailed logs are preserved in the Actions tab for at least 90 days to assist in debugging data ingestion or synchronization issues.