Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 3 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -196,3 +196,6 @@ learning-room-e2e-*.json
# Scratch artifacts - never commit
tmp-*
learning-room-e2e-*.json

# Private maintainer log (contains learner names; never publish)
gold.md
6 changes: 4 additions & 2 deletions GO-LIVE-QA-GUIDE.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
# Git Going with GitHub Go-Live QA Guide

> **Status note (2026-07):** GitHub Classroom and the `scripts/classroom/` PowerShell tooling were removed; provisioning is now the hybrid pipeline in `.github/scripts/provisioning/`, and peer simulation seeding happens automatically via the Student Progression Bot in each learning room. Interpret `scripts/classroom/*.ps1` steps below as the Student Progression Bot workflow dispatch (inputs `start_challenge`, `assignee`).

Use this guide before a cohort is opened to learners. It is the release gate for curriculum content, GitHub Classroom deployment, Learning Room automation, accessibility, and human test coverage. Podcast and LLM-generation QA is tracked here as non-blocking unless a podcast release is explicitly in scope.

For end-to-end execution details, use [admin/LEARNING-ROOM-E2E-QA-RUNBOOK.md](admin/LEARNING-ROOM-E2E-QA-RUNBOOK.md) as the operator procedure. This guide is the release gate summary; the runbook is the required execution playbook.
Expand Down Expand Up @@ -241,8 +243,8 @@ Run these checks in disposable student repositories created by GitHub Classroom.

### Seeding Scripts

- [ ] `Seed-LearningRoomChallenge.ps1` creates the requested starting challenge.
- [ ] `Seed-PeerSimulation.ps1` creates the peer simulation issues, branch, file, and PR.
- [ ] Student Progression Bot workflow dispatch creates the requested starting challenge.
- [ ] The progression bot seeds the peer simulation issues, branch, file, and PR automatically alongside the challenge issue.
- [ ] `Start-MergeConflictChallenge.ps1` creates a real conflict against the student branch.
Comment on lines 244 to 248
- [ ] `Test-LearningRoomTemplate.ps1` reports the template readiness state.
- [ ] Script failures show a clear error message and do not partially hide the problem.
Expand Down
2 changes: 2 additions & 0 deletions admin/LEARNING-ROOM-E2E-QA-RUNBOOK.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
# Learning Room End-to-End QA Runbook (Registration to Student Completion)

> **Status note (2026-07):** GitHub Classroom and the `scripts/classroom/` PowerShell tooling were removed. Provisioning is the hybrid pipeline in `.github/scripts/provisioning/` (workflow `provision-learning-rooms.yml`), and peer simulation artifacts are seeded automatically by the Student Progression Bot in each learning room. Interpret `scripts/classroom/*.ps1` steps below as the Student Progression Bot workflow dispatch (inputs `start_challenge`, `assignee`); `Seed-PeerSimulation.ps1` steps need no action because the bot seeds and self-repairs those artifacts.

Use this runbook when you want one operational checklist that covers the full workflow:

1. Registration intake and validation.
Expand Down
21 changes: 11 additions & 10 deletions classroom/HUMAN_TEST_MATRIX.md
Original file line number Diff line number Diff line change
Expand Up @@ -17,23 +17,24 @@ Full collaboration test:

## Required Facilitator Setup

After the student repository exists, run:
The old `scripts/classroom/` PowerShell seeding scripts were removed with GitHub Classroom. Seeding now runs through the Student Progression Bot workflow inside the student repository.

```powershell
scripts/classroom/Seed-LearningRoomChallenge.ps1 -Repository Community-Access/learning-room-smoke-a -Challenge 1 -Assignee test-student-a
scripts/classroom/Seed-PeerSimulation.ps1 -Repository Community-Access/learning-room-smoke-a -StudentUsername test-student-a
```
After the student repository exists, open the repo's Actions tab, choose **Student Progression Bot**, select **Run workflow**, and set:
Comment on lines 18 to +22

For Day 2-only testing, seed Challenge 10 instead:
- `start_challenge`: `1`
- `assignee`: `test-student-a`

```powershell
scripts/classroom/Seed-LearningRoomChallenge.ps1 -Repository Community-Access/learning-room-smoke-a -Challenge 10 -Assignee test-student-a
scripts/classroom/Seed-PeerSimulation.ps1 -Repository Community-Access/learning-room-smoke-a -StudentUsername test-student-a
For Day 2-only testing, set `start_challenge` to `10` instead.

Equivalent CLI:

```bash
gh workflow run student-progression.yml -R Community-Access/learning-room-smoke-a -f start_challenge=1 -f assignee=test-student-a
```

## What The Peer Simulation Creates

`Seed-PeerSimulation.ps1` creates realistic collaboration artifacts inside the student's private repo:
The progression bot seeds realistic collaboration artifacts inside the student's private repo automatically whenever it creates a challenge issue (and repairs them if any are missing):

- `Peer Simulation: Welcome Link Needs Context` issue
- `Peer Simulation: Review Request for Contribution Guidance` issue
Expand Down
8 changes: 3 additions & 5 deletions classroom/README.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
# Workshop Deployment Guide

> **Status note (2026-07):** GitHub Classroom and the `scripts/classroom/` PowerShell tooling described in this guide have been removed. Current cohorts use hybrid provisioning (`.github/scripts/provisioning/`, triggered by the `provision-learning-rooms.yml` workflow), and peer simulation artifacts are seeded automatically by the Student Progression Bot inside each learning room. Where this guide references a `scripts/classroom/*.ps1` script, use the Student Progression Bot's **Run workflow** dispatch (inputs `start_challenge` and `assignee`) instead. This guide is retained for the parts that are still accurate (challenge flow, bots, grading).

> Single, end-to-end guide for deploying a new Git Going with GitHub workshop cohort. Covers everything from creating the classroom through post-workshop teardown. This is the only deployment document you need.

> Before sharing invite links with students, complete the [Go-Live QA Guide](../GO-LIVE-QA-GUIDE.md). It is the final release gate for content, workflows, Classroom setup, podcasts, accessibility, and human test coverage.
Comment on lines +3 to 7
Expand Down Expand Up @@ -265,11 +267,7 @@ For Day 2, use `-Challenge 10`.

### Seeding peer simulation

Because each GitHub Classroom repository is private, students cannot automatically see a classmate's issues or pull requests. To preserve realistic collaboration without exposing private student repos, seed peer-simulation artifacts into each student's repository:

```powershell
scripts/classroom/Seed-PeerSimulation.ps1 -Repository Community-Access-Classroom/learning-room-studentname -StudentUsername studentname
```
Because each learning room repository is private, students cannot automatically see a classmate's issues or pull requests. To preserve realistic collaboration without exposing private student repos, peer-simulation artifacts are seeded into each student's repository automatically: the Student Progression Bot creates them the first time it opens a challenge issue, and repairs them on later runs if any are missing. No facilitator action is required.

This creates two peer-simulation issues and one peer-simulation pull request. Challenges that ask students to comment, react, review, compare, or practice peer collaboration can use those seeded artifacts. If facilitators intentionally provision real buddy access, students may use real buddy repositories instead.
Comment on lines 268 to 272

Expand Down
25 changes: 24 additions & 1 deletion docs/06-working-with-pull-requests.md
Original file line number Diff line number Diff line change
Expand Up @@ -75,7 +75,30 @@ The following table summarizes the practice files in the learning-room, what eac
| `docs/keyboard-shortcuts.md` | Screen reader shortcut reference tables | Intentional errors in shortcut references |
| `docs/setup-guide.md` | Getting-started instructions | Broken links and incomplete steps |

**Steps using the web editor:**
#### Steps Using the Web Editor

This is your first challenge that uses GitHub's web editor, so take a moment with the learning cards below before you start.

**About the web editor:** GitHub offers two browser-based editors. The **file editor** (the pencil icon on any file) edits one file at a time and is what these steps use. The full **github.dev** editor (press `.` (period) from the repository's Code page) is a browser-based version of Visual Studio Code with the same commands, Command Palette, and screen reader mode as the desktop app. Either works for this challenge. If you use github.dev, see [Chapter 11: VS Code Interface](11-vscode-interface.md) and the [VS Code Accessibility Deep Dive](12-vscode-accessibility.md) for full navigation guidance.

<details>
<summary>Screen reader users (NVDA / JAWS / VoiceOver)</summary>

- **Find your file:** On the repository's Code page, the file list is a table. Use your table reading commands to reach the file named in your issue, then press `Enter` to open it. Or press `T` to open "Go to file" and type the file name.
- **Open the editor:** With the file displayed, press `E` to open it directly in the file editor, or press `B` (NVDA/JAWS buttons quick key) to find the "Edit this file" button and press `Enter`. VoiceOver: use the Buttons rotor (`VO+U`) to find "Edit this file" and press `VO+Space`.
- **Alternative - github.dev:** With the file displayed (or from the Code page), press `.` (period) to open the whole repository in github.dev, a web version of VS Code. Enable screen reader mode when prompted.
- **Find the Commit changes button:** After editing, press `B` (or use the Buttons rotor) to find the button named "Commit changes..." - it sits above the editor. Activating it opens a dialog where the branch name field and "Propose changes" button live; the dialog receives focus automatically.

</details>

<details>
<summary>Sighted users</summary>

- Navigate to the file via the file list or the "Go to file" search.
- Select the **pencil icon** (Edit this file) at the top right of the file view.
- After editing, select the green **Commit changes** button above the editor to open the commit dialog.

</details>

1. In your Learning Room repository, navigate to the file specified in your issue. Use the file tree or the "Go to file" button (`T` keyboard shortcut).
2. Open the file and activate the **pencil icon** (Edit this file) button.
Expand Down
31 changes: 10 additions & 21 deletions docs/11-vscode-interface.md
Original file line number Diff line number Diff line change
Expand Up @@ -449,27 +449,16 @@ Before diving into individual features, here is how VS Code is organized. Every

### The Five Major Regions

```text
+----------------------------------------------------------+
| Menu Bar (File, Edit, View, Go, Run, Terminal, Help) |
+------+---------------------------------------------------+
| | |
| A | Editor Area |
| c | (your files open here) |
| t | |
| i | |
| v | |
| i +---------------------------------------------------+
| t | |
| y | Panel (Terminal, Problems, Output, Debug Console) |
| | |
| B +---------------------------------------------------+
| a | Status Bar (line, column, language, Git branch, |
| r | Copilot status, encoding, notifications) |
+------+---------------------------------------------------+
```

**Text description of the layout above:** VS Code has five major regions arranged in a grid. The **Menu Bar** spans the full width across the top. Below it, the **Activity Bar** runs vertically along the left edge (it contains icons for Explorer, Source Control, Search, Extensions, and more). The **Sidebar** appears to the right of the Activity Bar and shows content for the selected activity (file tree, search results, etc.). The **Editor Area** fills the large central region where your files open. Below the Editor Area, the **Panel** stretches across the bottom and contains the Terminal, Problems, Output, and Debug Console tabs. Finally, the **Status Bar** runs along the very bottom showing line number, column, language mode, Git branch, Copilot status, encoding, and notifications.
| Region | Where it sits | What it contains |
| --- | --- | --- |
| Menu Bar | Full width across the top | File, Edit, View, Go, Run, Terminal, Help menus |
| Activity Bar | Vertical strip along the left edge | Icons for Explorer, Source Control, Search, Extensions, Accounts |
| Sidebar | Right of the Activity Bar | Content for the selected activity (file tree, search results, etc.) |
| Editor Area | Large central region | Your open files |
| Panel | Below the Editor Area | Terminal, Problems, Output, Debug Console tabs |
| Status Bar | Very bottom, full width | Line, column, language, Git branch, Copilot status, encoding, notifications |

**How the regions fit together:** VS Code has five major regions arranged in a grid. The **Menu Bar** spans the full width across the top. Below it, the **Activity Bar** runs vertically along the left edge (it contains icons for Explorer, Source Control, Search, Extensions, and more). The **Sidebar** appears to the right of the Activity Bar and shows content for the selected activity (file tree, search results, etc.). The **Editor Area** fills the large central region where your files open. Below the Editor Area, the **Panel** stretches across the bottom and contains the Terminal, Problems, Output, and Debug Console tabs. Finally, the **Status Bar** runs along the very bottom showing line number, column, language mode, Git branch, Copilot status, encoding, and notifications.

### Navigating Between Regions

Expand Down
1 change: 1 addition & 0 deletions docs/appendix-z-github-skills.md
Original file line number Diff line number Diff line change
Expand Up @@ -333,6 +333,7 @@ Path 6: Cloud and Migration
- [GitHub Skills homepage](https://skills.github.com/) - browse all courses with descriptions
- [GitHub Skills organization](https://github.com/skills) - view all course repositories directly
- [GitHub Skills Discussions](https://github.com/orgs/skills/discussions) - ask questions and share feedback with the GitHub Skills community
- [GitHub's learning portal](https://learn.github.com/) - GitHub's broader learning hub, including certification prep and links to Microsoft Learn modules. Accessibility varies by module, but it is a rich way to explore concepts hands-on and Microsoft Learn content is often quite accessible.

---

Expand Down
7 changes: 5 additions & 2 deletions html/GO-LIVE-QA-GUIDE.html
Original file line number Diff line number Diff line change
Expand Up @@ -235,6 +235,9 @@ <h2 class="onpage-title">On This Page</h2>
</ul>
</nav>
<div id="course-content"><h1 id="git-going-with-github-go-live-qa-guide">Git Going with GitHub Go-Live QA Guide</h1>
<blockquote>
<p><strong>Status note (2026-07):</strong> GitHub Classroom and the <code>scripts/classroom/</code> PowerShell tooling were removed; provisioning is now the hybrid pipeline in <code>.github/scripts/provisioning/</code>, and peer simulation seeding happens automatically via the Student Progression Bot in each learning room. Interpret <code>scripts/classroom/*.ps1</code> steps below as the Student Progression Bot workflow dispatch (inputs <code>start_challenge</code>, <code>assignee</code>).</p>
</blockquote>
<p>Use this guide before a cohort is opened to learners. It is the release gate for curriculum content, GitHub Classroom deployment, Learning Room automation, accessibility, and human test coverage. Podcast and LLM-generation QA is tracked here as non-blocking unless a podcast release is explicitly in scope.</p>
<p>For end-to-end execution details, use <a href="admin/LEARNING-ROOM-E2E-QA-RUNBOOK.html">admin/LEARNING-ROOM-E2E-QA-RUNBOOK.md</a> as the operator procedure. This guide is the release gate summary; the runbook is the required execution playbook.</p>
<p>The goal is simple: a facilitator should be able to create a classroom, seed test repositories, complete every challenge path, validate every generated artifact, and know exactly what remains before students arrive.</p>
Expand Down Expand Up @@ -489,8 +492,8 @@ <h3 id="autograders">Autograders</h3>
</ul>
<h3 id="seeding-scripts">Seeding Scripts</h3>
<ul>
<li><input aria-label="" disabled="" type="checkbox"> <code>Seed-LearningRoomChallenge.ps1</code> creates the requested starting challenge.</li>
<li><input aria-label="" disabled="" type="checkbox"> <code>Seed-PeerSimulation.ps1</code> creates the peer simulation issues, branch, file, and PR.</li>
<li><input aria-label="Student Progression Bot workflow dispatch creates the requested starting challenge." disabled="" type="checkbox"> Student Progression Bot workflow dispatch creates the requested starting challenge.</li>
<li><input aria-label="The progression bot seeds the peer simulation issues, branch, file, and PR automatically alongside the challenge issue." disabled="" type="checkbox"> The progression bot seeds the peer simulation issues, branch, file, and PR automatically alongside the challenge issue.</li>
<li><input aria-label="" disabled="" type="checkbox"> <code>Start-MergeConflictChallenge.ps1</code> creates a real conflict against the student branch.</li>
<li><input aria-label="" disabled="" type="checkbox"> <code>Test-LearningRoomTemplate.ps1</code> reports the template readiness state.</li>
<li><input aria-label="Script failures show a clear error message and do not partially hide the problem." disabled="" type="checkbox"> Script failures show a clear error message and do not partially hide the problem.</li>
Expand Down
3 changes: 3 additions & 0 deletions html/admin/LEARNING-ROOM-E2E-QA-RUNBOOK.html
Original file line number Diff line number Diff line change
Expand Up @@ -269,6 +269,9 @@ <h2 class="onpage-title">On This Page</h2>
</ul>
</nav>
<div id="course-content"><h1 id="learning-room-end-to-end-qa-runbook-registration-to-student-completion">Learning Room End-to-End QA Runbook (Registration to Student Completion)</h1>
<blockquote>
<p><strong>Status note (2026-07):</strong> GitHub Classroom and the <code>scripts/classroom/</code> PowerShell tooling were removed. Provisioning is the hybrid pipeline in <code>.github/scripts/provisioning/</code> (workflow <code>provision-learning-rooms.yml</code>), and peer simulation artifacts are seeded automatically by the Student Progression Bot in each learning room. Interpret <code>scripts/classroom/*.ps1</code> steps below as the Student Progression Bot workflow dispatch (inputs <code>start_challenge</code>, <code>assignee</code>); <code>Seed-PeerSimulation.ps1</code> steps need no action because the bot seeds and self-repairs those artifacts.</p>
</blockquote>
<p>Use this runbook when you want one operational checklist that covers the full workflow:</p>
<ol>
<li>Registration intake and validation.</li>
Expand Down
Loading
Loading