This directory contains workflows, scripts, and data for two purposes:
- Curriculum repository CI/CD -- workflows that build, test, and deploy this documentation project
- Legacy shared-model automation -- PR validation and progression workflows from the original shared-repository workshop model
The student-facing automation (Aria bot, student progression, autograders) lives in the template repository directory at learning-room/.github/. GitHub Classroom copies that template to each student's individual repo. See classroom/README.md for the full deployment guide.
These workflows operate on this repository itself:
| Workflow | Purpose |
|---|---|
automation-tests.yml |
Runs the automated test suite |
build-epub.yml |
Builds ePub version of workshop content |
create-release.yml |
Creates tagged releases |
deploy-pages.yml |
Deploys content to GitHub Pages |
generate-diagram-svgs.yml |
Converts diagram sources to SVG |
registration.yml |
Processes student registration |
sync-docs-to-wiki.yml |
Syncs documentation to the repository wiki |
These workflows were designed for the original shared-repository workshop model. They remain in the repository for reference but are not used in the current GitHub Classroom deployment model.
| Workflow | Original Purpose |
|---|---|
learning-room-pr-bot.yml |
PR validation and educational feedback in the shared repo |
learning-room-validation.yml |
Content validation for learning-room changes |
skills-progression.yml |
Progress tracking and badge awards in the shared repo |
student-grouping.yml |
Automated peer review assignment and study groups |
The Classroom model equivalents live in learning-room/.github/workflows/:
| Workflow | Purpose |
|---|---|
pr-validation-bot.yml |
Aria bot -- validates PRs and provides educational feedback |
student-progression.yml |
Creates Challenge 1 or Challenge 10 when triggered, then unlocks the next challenge issue when a student closes the current one |
skills-progression.yml |
Posts achievement and progress feedback |
autograder-conflicts.yml |
Validates merge conflict resolution (Challenge 07) |
autograder-local-commit.yml |
Validates local Git commit (Challenge 10) |
autograder-template.yml |
Validates issue template creation (Challenge 14) |
autograder-capstone.yml |
Validates capstone challenge (Challenge 16) |
content-validation.yml |
Validates Markdown content quality |
| Script | Purpose |
|---|---|
validate-pr.js |
Node.js validation logic called by PR bot workflows |
comment-responder.js |
Responds to @aria-bot mentions and help keywords |
validation-report.js |
Generates structured validation reports |
__tests__/ |
Test suite for the scripts above |
| File | Purpose |
|---|---|
challenge-progression.json |
Skill levels, badges, and milestone definitions |
student-roster.json |
Student information template (update per cohort) |
peer-reviewer-assignments.json |
Peer review pairing template |
progress-tracker-template.json |
Progress tracking template |
registrations.csv |
Registration data |
student-emails.csv |
Student contact information |
welcome-email.txt |
Welcome email template |
student-sync-report.txt |
Sync report output |
- Workshop Deployment Guide -- full setup using GitHub Classroom
- Template Repository Content -- automation that runs in each student's repo
- Student Guide -- how students interact with Aria bot
- Challenge Progression Config -- level and badge definitions