Skip to content

Add GitHub Actions workflow for GitHub Copilot coding agent development environment setup#366

Merged
Mossaka merged 3 commits into
mainfrom
copilot/add-copilot-setup-steps
Oct 9, 2025
Merged

Add GitHub Actions workflow for GitHub Copilot coding agent development environment setup#366
Mossaka merged 3 commits into
mainfrom
copilot/add-copilot-setup-steps

Conversation

Copilot AI commented Oct 9, 2025

Copy link
Copy Markdown
Contributor

Overview

This PR adds a new GitHub Actions workflow .github/workflows/copilot-setup-steps.yml that prepares a complete development environment for GitHub Copilot coding agents. The workflow follows GitHub Copilot's specific requirements and will be automatically detected and used by Copilot agents working on the Wassette project.

Motivation

GitHub Copilot coding agents working on the Wassette project need a consistent, reproducible development environment with all necessary tools installed. While the project provides a Nix flake for local development, this workflow offers a GitHub Actions-native solution optimized for CI/CD runners and automated agents that meets Copilot's specific requirements.

What's Included

The workflow installs and configures:

Rust Development

  • Rust stable toolchain with rustfmt and clippy components
  • Rust nightly toolchain for code formatting (cargo +nightly fmt)
  • wasm32-wasip2 target for WebAssembly component compilation

Build Tools

  • just - Command runner for project tasks
  • protobuf compiler - Required for building the project
  • wasm-tools - WebAssembly manipulation utilities

Language Support

  • uv - Python package manager for Python-based examples
  • TinyGo 0.36.0 - Go WebAssembly compiler for Go examples

Performance

  • Rust dependency caching via ./.github/actions/rust-cache for faster builds

GitHub Copilot Requirements

The workflow follows GitHub Copilot's specific requirements:

  • Job name: Must be named copilot-setup-steps for Copilot to automatically detect and use it
  • Permissions: Explicitly sets contents: read (minimum required permissions)
  • Validation: Automatically runs on push/pull_request when the workflow file changes
  • Token isolation: Copilot receives its own token for operations separate from the setup steps

Usage

Automatic Detection by GitHub Copilot

GitHub Copilot coding agents will automatically detect and use this workflow when working on the repository.

Manual Trigger

The workflow can be manually triggered from the GitHub Actions UI for testing or debugging purposes.

Validation

The workflow automatically runs when changes are made to itself, enabling easy validation of modifications.

Verification

The workflow includes a final verification step that displays:

  • Rust and Cargo versions
  • Nightly formatter version
  • Build tool versions (just, protoc, wasm-tools)
  • Language support versions (uv, TinyGo)
  • Installed WASM targets
  • Available commands (just build, just test, etc.)

Consistency

All GitHub Action versions match those used in existing workflows (rust.yml, examples.yml) to ensure consistency across the project's CI/CD infrastructure.

Changes

  • Added: .github/workflows/copilot-setup-steps.yml - Complete dev environment setup workflow for GitHub Copilot
  • Updated: CHANGELOG.md - Added entry in [Unreleased] > Added section

Closes #[issue_number]

Original prompt

Add .github/workflows/copilot-setup-steps.yml to prepare for a dev environment for the coding agent. It should install just and other useful tools


💡 You can make Copilot smarter by setting up custom instructions, customizing its development environment and configuring Model Context Protocol (MCP) servers. Learn more Copilot coding agent tips in the docs.

Co-authored-by: Mossaka <5447827+Mossaka@users.noreply.github.com>
Comment thread .github/workflows/copilot-setup-steps.yml Fixed
Copilot AI changed the title [WIP] Add GitHub Actions workflow for Copilot setup Add GitHub Actions workflow for coding agent development environment setup Oct 9, 2025
Copilot AI requested a review from Mossaka October 9, 2025 02:04

@Mossaka Mossaka 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.

Comment on lines +1 to +13
name: Copilot Setup Steps

# This workflow provides reusable setup steps for GitHub Copilot coding agents
# to prepare a development environment for the Wassette project.
# It can be referenced by other workflows or used as a template for agent setup.

"on":
workflow_call:
workflow_dispatch:

jobs:
setup:
runs-on: ubuntu-latest

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.

modify this to

name: "Copilot Setup Steps"

# Automatically run the setup steps when they are changed to allow for easy validation, and
# allow manual testing through the repository's "Actions" tab
on:
  workflow_dispatch:
  push:
    paths:
      - .github/workflows/copilot-setup-steps.yml
  pull_request:
    paths:
      - .github/workflows/copilot-setup-steps.yml

jobs:
  # The job MUST be called `copilot-setup-steps` or it will not be picked up by Copilot.
  copilot-setup-steps:
    runs-on: ubuntu-latest

    # Set the permissions to the lowest permissions possible needed for your steps.
    # Copilot will be given its own token for its operations.
    permissions:
      # If you want to clone the repository as part of your setup steps, for example to install dependencies, you'll need the `contents: read` permission. If you don't clone the repository in your setup steps, Copilot will do this for you automatically after the steps complete.
      contents: read

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

Updated in commit 2a8af34. The workflow now:

  • Uses job name copilot-setup-steps (required for Copilot detection)
  • Includes push and pull_request triggers for the workflow file path
  • Has explicit permissions: contents: read
  • Updated comments to clarify Copilot requirements

- Change workflow name to quoted "Copilot Setup Steps"
- Add push/pull_request triggers for workflow file path validation
- Rename job from 'setup' to 'copilot-setup-steps' (required for Copilot)
- Add explicit permissions with contents: read
- Update comments to clarify Copilot requirements

Co-authored-by: Mossaka <5447827+Mossaka@users.noreply.github.com>
Copilot AI changed the title Add GitHub Actions workflow for coding agent development environment setup Add GitHub Actions workflow for GitHub Copilot coding agent development environment setup Oct 9, 2025
Copilot AI requested a review from Mossaka October 9, 2025 02:13
@Mossaka Mossaka marked this pull request as ready for review October 9, 2025 02:26
@Mossaka Mossaka merged commit 0c6d6dc into main Oct 9, 2025
42 checks passed
@Mossaka Mossaka deleted the copilot/add-copilot-setup-steps branch October 9, 2025 02:30
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants