Skip to content

Add interactive playground page for GitHub Actions workflow visualization#7321

Merged
mnkiefer merged 13 commits intomainfrom
copilot/add-custom-astro-component
Dec 23, 2025
Merged

Add interactive playground page for GitHub Actions workflow visualization#7321
mnkiefer merged 13 commits intomainfrom
copilot/add-custom-astro-component

Conversation

Copy link
Copy Markdown
Contributor

Copilot AI commented Dec 22, 2025

Adds an interactive playground page to the documentation for visualizing and exploring GitHub Actions workflows with a 3-up layout showing workflow code, graph visualization, and execution runs side-by-side.

Changes

  • Playground page (/playground/): Full-width playground view using WorkflowHeroPlayground component with 3-up layout (workflow, graph, run). Pre-configured with sample workflows for project board updates. Accessible via direct URL only (not in navigation).

  • Sample workflow (playground-executor.md): Manual-trigger workflow with expiring outputs for safe experimentation.

  • Navigation: Playground removed from sidebar navigation to keep it as a hidden feature accessible only via direct URL.

Playground Features

  • 3-up layout: Shows workflow code, visualization graph, and execution run side-by-side
  • Full-width experience: Uses Starlight's splash template for immersive workflow exploration
  • Sample workflows: Pre-configured with "Update project board (draft)" and "Update project board (issue)" examples
  • Direct access only: Page accessible at /playground/ but not listed in navigation menu

Testing

  • ✅ Documentation builds successfully
  • ✅ Playground page renders with 3-up layout
  • ✅ WorkflowHeroPlayground component loads correctly
  • ✅ All internal links validated
  • ✅ Page accessible at /playground/ without navigation entry
Original prompt

For a more interactive Astro Starlight docs experience that acts like a "GitHub Actions playground." create a custom component.

Requirements:
Include annotated YAML workflow examples users can explore
Add a custom Astro component for step-by-step explanations (Hero-style)
Use a GitHub Actions playground repo for real executions
Provide a deploy workflow

References:
GitHub Actions Hero (interactive tutorial): https://github-actions-hero.vercel.app
GitHub Actions playground repo: https://github.com/sombriks/gh-actions-playground
Astro + Starlight GH Pages template: https://github.com/30DaysOf/astro-starlight-ghpages
Astro GitHub Actions deploy guide: https://docs.astro.build/en/guides/deploy/github/


✨ Let Copilot coding agent set things up for you — coding agent works faster and does higher quality work when set up for your repo.

@mnkiefer mnkiefer marked this pull request as ready for review December 22, 2025 21:52
Co-authored-by: mnkiefer <8320933+mnkiefer@users.noreply.github.com>
Copilot AI and others added 2 commits December 22, 2025 22:02
Co-authored-by: mnkiefer <8320933+mnkiefer@users.noreply.github.com>
Co-authored-by: mnkiefer <8320933+mnkiefer@users.noreply.github.com>
Copilot AI changed the title [WIP] Add custom component for GitHub Actions playground Add interactive playground component for GitHub Actions workflow exploration Dec 22, 2025
Copilot AI requested a review from mnkiefer December 22, 2025 22:07
@mnkiefer
Copy link
Copy Markdown
Collaborator

Co-authored-by: mnkiefer <8320933+mnkiefer@users.noreply.github.com>
Copy link
Copy Markdown
Contributor Author

Copilot AI commented Dec 22, 2025

@copilot: Don't rely on url https://github.com/sombriks/gh-actions-playground

Removed the external playground URL. The component now works without the optional playgroundUrl prop, and the "Try It Yourself" section guides users to create their own test repositories instead of relying on external playground repos.

Changes in commit 0cbdd2f:

  • Removed playgroundUrl prop from WorkflowPlayground component usage
  • Updated "Try It Yourself" section to encourage users to set up their own repositories

Updated playground without external URL

Warning

Firewall rules blocked me from connecting to one or more addresses (expand for details)

I tried to connect to the following addresses, but was blocked by firewall rules:

  • telemetry.astro.build
    • Triggering command: /opt/hostedtoolcache/node/24.12.0/x64/bin/node node /home/REDACTED/.npm/_npx/aa98e6899c6baff3/node_modules/.bin/astro build (dns block)
    • Triggering command: /opt/hostedtoolcache/node/24.12.0/x64/bin/node node /home/REDACTED/work/gh-aw/gh-aw/docs/node_modules/.bin/astro build (dns block)
    • Triggering command: /opt/hostedtoolcache/node/24.12.0/x64/bin/node node /home/REDACTED/work/gh-aw/gh-aw/docs/node_modules/.bin/astro dev (dns block)

If you need me to access, download, or install something from one of these locations, you can either:

@pelikhan
Copy link
Copy Markdown
Collaborator

@copilot split column does not render well in Astro fixed width layout. Use something else.

Minimize use of custom css as it is hard to make it work for all screen sizes.

Co-authored-by: pelikhan <4175913+pelikhan@users.noreply.github.com>
Copy link
Copy Markdown
Contributor Author

Copilot AI commented Dec 23, 2025

@copilot split column does not render well in Astro fixed width layout. Use something else.

Minimize use of custom css as it is hard to make it work for all screen sizes.

Replaced the split-column grid layout with a simple stacked vertical design using native HTML <details> elements for collapsible steps. The new design:

  • Uses minimal custom CSS (85 fewer lines)
  • Works perfectly with Starlight's fixed-width content area
  • Leverages native browser collapsible functionality
  • Maintains responsive behavior on all screen sizes

Changes in commit 567e96e.

Stacked layout with collapsible steps

Warning

Firewall rules blocked me from connecting to one or more addresses (expand for details)

I tried to connect to the following addresses, but was blocked by firewall rules:

  • telemetry.astro.build
    • Triggering command: /opt/hostedtoolcache/node/24.12.0/x64/bin/node node /home/REDACTED/work/gh-aw/gh-aw/docs/node_modules/.bin/astro build (dns block)
    • Triggering command: /opt/hostedtoolcache/node/24.12.0/x64/bin/node node /home/REDACTED/work/gh-aw/gh-aw/docs/node_modules/.bin/astro dev (dns block)

If you need me to access, download, or install something from one of these locations, you can either:

@pelikhan
Copy link
Copy Markdown
Collaborator

@copilot use Astro Starlight native Steps components to create list of steps.

Co-authored-by: pelikhan <4175913+pelikhan@users.noreply.github.com>
Copy link
Copy Markdown
Contributor Author

Copilot AI commented Dec 23, 2025

@copilot use Astro Starlight native Steps components to create list of steps.

Replaced custom step implementation with Starlight's native Steps component. The new design:

  • Uses Starlight's built-in <Steps> component with automatic numbering and styling
  • Removed 113 lines of custom CSS
  • Provides consistent theming that matches the rest of the documentation
  • Uses proper semantic HTML (<ol> with numbered <li> items)
  • Includes native accessibility features and vertical guidelines

Changes in commit f99342d.

Starlight Steps component

Warning

Firewall rules blocked me from connecting to one or more addresses (expand for details)

I tried to connect to the following addresses, but was blocked by firewall rules:

  • telemetry.astro.build
    • Triggering command: /opt/hostedtoolcache/node/24.12.0/x64/bin/node node /home/REDACTED/work/gh-aw/gh-aw/docs/node_modules/.bin/astro build (dns block)
    • Triggering command: /opt/hostedtoolcache/node/24.12.0/x64/bin/node node /home/REDACTED/work/gh-aw/gh-aw/docs/node_modules/.bin/astro dev (dns block)

If you need me to access, download, or install something from one of these locations, you can either:

- Introduced `WorkflowVisualizer` component to visualize job dependencies using Mermaid diagrams.
- Updated `WorkflowPlayground` to utilize `astro-expressive-code` for code rendering.
- Added support for language selection in code display.
- Created new `playground-3up` page for a full-width view of workflows, graphs, and run status.
- Implemented snapshot loading and parsing for workflow runs.
- Enhanced YAML parsing to extract job dependencies for visualization.
- Added tests for the Workflow Hero Playground to ensure proper rendering of Mermaid diagrams.
Comment thread docs/src/lib/workflow-hero/toMermaid.ts Fixed
mnkiefer and others added 2 commits December 23, 2025 14:58
…ing or encoding

Co-authored-by: Copilot Autofix powered by AI <62310815+github-advanced-security[bot]@users.noreply.github.com>
@mnkiefer
Copy link
Copy Markdown
Collaborator

@copilot: Run playground executor workflow once from this branch so we have snapshot data to visualize and test the interactive playground views.

Copy link
Copy Markdown
Contributor Author

Copilot AI commented Dec 23, 2025

@copilot: Run playground executor workflow once from this branch so we have snapshot data to visualize and test the interactive playground views.

I don't have GitHub credentials in this environment to trigger workflows directly.

To run the playground executor workflow from this branch:

  1. Navigate to the Actions tab
  2. Click "Run workflow"
  3. Select branch: copilot/add-custom-astro-component
  4. Enter a task, for example: "Create an issue summarizing the new interactive playground component features"
  5. Click "Run workflow"

The workflow is configured at .github/workflows/playground-executor.md with:

  • 15-minute timeout
  • Creates issues with [playground] prefix
  • 7-day expiration for test data
  • Labels: playground, ai-generated

Once run, the generated issue will provide snapshot data to test the playground views.

@mnkiefer
Copy link
Copy Markdown
Collaborator

@copilot: Remove docs reference to Playground page from navbar and from labs view for now, but should still be accessible if the URL is know.

…nd page

Co-authored-by: mnkiefer <8320933+mnkiefer@users.noreply.github.com>
Copy link
Copy Markdown
Contributor Author

Copilot AI commented Dec 23, 2025

@copilot: Remove docs reference to Playground page from navbar and from labs view for now, but should still be accessible if the URL is know.

Removed Playground from navbar and sidebar. The page is still accessible at /playground/ via direct URL.

Changes in commit e6b99ee:

  • Removed Playground entry from astro.config.mjs sidebar
  • Kept playground-3up.mdx as the default playground page at /playground/
  • Page uses WorkflowHeroPlayground with 3-up layout (workflow, graph, run)

The Playground page is no longer in navigation but remains fully functional when accessed directly.

Warning

Firewall rules blocked me from connecting to one or more addresses (expand for details)

I tried to connect to the following addresses, but was blocked by firewall rules:

  • telemetry.astro.build
    • Triggering command: /opt/hostedtoolcache/node/24.12.0/x64/bin/node node /home/REDACTED/work/gh-aw/gh-aw/docs/node_modules/.bin/astro build (dns block)

If you need me to access, download, or install something from one of these locations, you can either:

Copilot AI changed the title Add interactive playground component for GitHub Actions workflow exploration Add interactive playground page for GitHub Actions workflow visualization Dec 23, 2025
@mnkiefer mnkiefer merged commit bb9da2e into main Dec 23, 2025
45 checks passed
@mnkiefer mnkiefer deleted the copilot/add-custom-astro-component branch December 23, 2025 14:40
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants