Skip to content

Add Copilot Workshops sync workflow + Learning Hub i18n#2325

Merged
aaronpowell merged 1 commit into
github:mainfrom
GeekTrainer:geektrainer/copilot-workshops-sync-main
Jul 17, 2026
Merged

Add Copilot Workshops sync workflow + Learning Hub i18n#2325
aaronpowell merged 1 commit into
github:mainfrom
GeekTrainer:geektrainer/copilot-workshops-sync-main

Conversation

@GeekTrainer

Copy link
Copy Markdown
Contributor

This sets up the plumbing to mirror the "Hands-on with GitHub Copilot's agents" workshop from github-samples/copilot-workshops into the Learning Hub, the same way we already mirror Copilot CLI for Beginners.

This PR is infrastructure + the sync workflow only. It does not add any course content. The content gets imported by the workflow's first run, which opens its own PR for review.

This workflow needs to be run manually once this lands on main to do the initial content import — someone will need to trigger it via workflow_dispatch (Actions → "Copilot Workshops Content Sync" → Run workflow). It won't import anything on its own until the first scheduled run otherwise.

What's in here

  • The sync workflow (.github/workflows/copilot-workshops-sync.md + compiled .lock.yml). Runs weekly, reads from github-samples/copilot-workshops@main, and opens a PR against main when the upstream course changes. First run does a full import. It's a source-faithful mirror, no rewriting or summarizing the course.
  • GitHub admonitions support. The upstream content uses > [!NOTE] / > [!TIP] etc. everywhere, and our site had no support for it. Added the remark-github-admonitions-to-directives plugin so those render as proper Starlight asides, same as they look on github.com.
  • Starlight i18n. The upstream repo ships localized content (es-es, ja-jp, ko-kr, pt-br, zh-cn), so I turned on Starlight's i18n with English as the root locale. Existing English URLs are unchanged.

About the language picker

I didn't want a language dropdown showing up on every doc page across the site, since most content here is English-only. So there's a small override (src/components/LanguageSelect.astro) that only shows the picker on pages that actually have a translation. Right now that means it's hidden everywhere, because no translated content exists yet. Once the workshop content lands, the picker will show up only on those pages.

Under the hood Starlight still generates /es-es/... fallback routes for all docs (that's just how its i18n works), but nothing links to them and the picker never surfaces them until real translations exist.


This supersedes #2304 (which targeted the now-legacy staged branch) and folds in the review feedback from there — targeting main, the localized-link and sync-cache fixes.

Adds an agentic (gh-aw) workflow that mirrors the multi-harness workshop
from github-samples/copilot-workshops into the Learning Hub, plus the
Starlight infrastructure it needs: GitHub-admonition rendering, i18n
locales with English at the site root, and a language picker that only
appears when a page has a non-English translation.

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Copilot-Session: 9e1d1a4c-a422-4cae-8ea7-b3d5171f58e3
Copilot AI review requested due to automatic review settings July 16, 2026 13:12
@GeekTrainer
GeekTrainer requested a review from aaronpowell as a code owner July 16, 2026 13:12
@github-actions github-actions Bot added new-submission PR adds at least one new contribution website-update PR touches website content or code workflow PR touches workflow automation labels Jul 16, 2026

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Adds infrastructure to sync the github-samples/copilot-workshops Learning Hub content into this repo, while enabling site-wide i18n support needed for upstream localized materials and rendering GitHub-style admonitions correctly in Starlight.

Changes:

  • Add an agentic workflow to mirror Copilot Workshops content into the Learning Hub (with a compiled .lock.yml).
  • Enable Starlight i18n (root English + additional locale prefixes) and override LanguageSelect to only render when a page has translations.
  • Add a remark plugin to convert GitHub admonition syntax (> [!NOTE], etc.) into Starlight aside directives.
Show a summary per file
File Description
website/src/components/LanguageSelect.astro Custom LanguageSelect override to hide the locale picker unless translations exist for the current page.
website/package.json Adds remark-github-admonitions-to-directives dependency.
website/package-lock.json Locks the new remark plugin dependency.
website/astro.config.mjs Configures admonition remark plugin, enables Starlight locales/i18n, and wires in the LanguageSelect override.
.github/workflows/copilot-workshops-sync.md New agentic workflow definition to sync Copilot Workshops content into the Learning Hub.
.github/workflows/copilot-workshops-sync.lock.yml Compiled workflow output for GitHub Actions execution.

Review details

Files not reviewed (1)
  • website/package-lock.json: Generated file
Comments suppressed due to low confidence (1)

website/astro.config.mjs:105

  • editLink.baseUrl still points at the staged branch, so the “Edit this page” links will target a non-default branch even though this PR targets main. Update the URL to use edit/main/… so edits go to the correct branch.
      editLink: {
        baseUrl:
          "https://github.com/github/awesome-copilot/edit/staged/website/",
      },
  • Files reviewed: 4/6 changed files
  • Comments generated: 1
  • Review effort level: Low

Comment on lines +6 to +8
permissions:
contents: read
tools:
@aaronpowell
aaronpowell merged commit 65ef449 into github:main Jul 17, 2026
10 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

new-submission PR adds at least one new contribution website-update PR touches website content or code workflow PR touches workflow automation

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants