
Rubber Duck Thursdays - Actions, Codespaces and Coin Toss
Continuing the gh-game CLI extension project, this episode covers setting up a complete development workflow. Chris creates a GitHub Codespace with a dev container configuration, installs Go and the GitHub CLI as features, and demonstrates how Codespaces provide a consistent environment for contributors.
The stream then covers creating a CI workflow using GitHub Actions with build and test steps, followed by writing Go tests for the coin toss game. A key segment focuses on refactoring the coin toss input from manual text entry to interactive selection menus using the go-gh prompter package, demonstrating how context and accurate prompting is essential when working with GitHub Copilot. Chris uses multiple Copilot models including Gemini 2.0 Flash and O3 Mini throughout the session.
Related Content

Rubber Duck Thursdays - Creating gh-game CLI extension
GitHubDeep dive into GitHub Actions workflows including build, linter, and release pipelines for the GitHub Skyline CLI extension. Chris cuts a live release, then creates a brand new GitHub CLI extension (gh-game) from scratch — building a coin toss game in Go using the Cobra package with help from GitHub Copilot.

Rubber Duck Thursdays - GitHub Skyline
GitHubChris introduces the GitHub Skyline CLI extension, a Go-based tool that generates 3D STL models and ASCII art visualizations of your GitHub contribution history. The stream covers the gh skyline command, 3D printing contribution graphs, and live refactoring of the Go codebase using GitHub Copilot Edits to split a monolithic main.go into modular components.
Using GitHub Actions to summarise your Go tests
GitHub recently posted about a new GitHub Action that can be used to summarise your test results. The action is called test-summary/action, available at github.com/test-summary/action. There are several examples on how to use the action at github.com/test-summary/examples. However, there were no examples on how to use this with Go. I contributed a pull request which showed how to achieve this. In this post, I will show how to use the action with Go.