GitHub Actions and automation
Automated workflows and scheduled publishing processes
GitHub Actions are automated background tasks configured to run on GitHub’s servers. Administrators do not need to write or modify workflow files for routine operations.
Workflows summary
GitHub refers to each automated process as a workflow:
| Workflow name | Trigger | Purpose |
|---|---|---|
Community Submissions Sync |
Daily at 12:00 UTC or manual trigger | Reads approved submissions, removes private contact details, updates data files, and generates the RSS feed. |
Update Members from Google Sheets |
Daily at 12:00 UTC or manual trigger | Evaluates membership expiration dates against current dates and updates active and past member listings. |
Update Resources from Google Sheets |
Daily at 12:00 UTC or manual trigger | Filters verified academic resources and merges approved community-submitted items. |
Publish to GitHub Pages |
On every change to the main branch |
Renders Quarto source documents into HTML pages and publishes them to https://isa-rc42.org. |
Render Check |
On pull requests | Verifies that proposed page edits compile cleanly without errors before merging into main. |
Scheduled timing and time zones
Scheduled synchronization tasks run daily at 12:00 UTC (Coordinated Universal Time). In local time zones, this corresponds to:
- 08:00 (Standard Time) / 09:00 (Daylight Saving Time) in Santiago and New York
- 14:00 (2:00 PM) in Central Europe (UTC+2 in summer)
- 21:00 (9:00 PM) in Tokyo (UTC+9)
GitHub Secrets and credentials
A GitHub Secret is an encrypted credential stored securely in the repository settings. Secrets allow automated workflows to communicate with Google Cloud APIs without exposing credentials in public files.
Routine administrators do not need to modify secrets. They are maintained during executive handovers or credential rotations:
| Secret name | Purpose | Description |
|---|---|---|
GOOGLE_SERVICE_ACCOUNT_JSON |
Google Cloud service account key | Grants read-only access to administrative Google Sheets. |
GOOGLE_SHEET_ID |
Community submissions sheet identifier | Specifies the spreadsheet ID for community proposals. |
MEMBERS_CSV_URL |
Active members published feed URL | Address used to fetch member records. |
RESOURCES_CSV_URL |
Resources published feed URL | Address used to fetch academic resource entries. |
The automated update sequence
When a synchronization workflow runs, it follows this sequence:
- The workflow triggers on schedule or upon manual request.
- A Python processing script fetches and validates data from Google Sheets, removing private fields.
- Updated data files (
.json,.yml, and.xml) are committed to the repository. - The
Publish to GitHub Pagesworkflow starts automatically. - Quarto compiles the website source files.
- The updated site is deployed live at
https://isa-rc42.orgwithin approximately 90 seconds.