Skip to content

Commit 87ff551

Browse files
CopilotfriggeriCopilot
authored
Configure Copilot agent environment to match devcontainer (#236)
* Initial plan * Update copilot-setup-steps.yml to match devcontainer.json Co-authored-by: friggeri <106686+friggeri@users.noreply.github.com> * Update .github/workflows/copilot-setup-steps.yml * Update .github/workflows/copilot-setup-steps.yml Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> --------- Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com> Co-authored-by: friggeri <106686+friggeri@users.noreply.github.com> Co-authored-by: Adrien Friggeri <adrien@friggeri.net> Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
1 parent d405910 commit 87ff551

1 file changed

Lines changed: 88 additions & 3 deletions

File tree

.github/workflows/copilot-setup-steps.yml

Lines changed: 88 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,15 @@
11
name: "Copilot Setup Steps"
22

3-
# This workflow configures the environment for GitHub Copilot Agent with gh-aw MCP server
3+
# This workflow configures the environment for GitHub Copilot Agent
4+
# Automatically run the setup steps when they are changed to allow for easy validation
45
on:
56
workflow_dispatch:
67
push:
78
paths:
89
- .github/workflows/copilot-setup-steps.yml
10+
pull_request:
11+
paths:
12+
- .github/workflows/copilot-setup-steps.yml
913

1014
jobs:
1115
# The job MUST be called 'copilot-setup-steps' to be recognized by GitHub Copilot Agent
@@ -18,8 +22,89 @@ jobs:
1822
contents: read
1923

2024
steps:
25+
# Checkout the repository to install dependencies
26+
- name: Checkout code
27+
uses: actions/checkout@v6.0.2
28+
29+
# Setup Node.js (for TypeScript/JavaScript SDK and tooling)
30+
- name: Set up Node.js
31+
uses: actions/setup-node@v6
32+
with:
33+
node-version: "22"
34+
cache: "npm"
35+
cache-dependency-path: |
36+
./nodejs/package-lock.json
37+
./test/harness/package-lock.json
38+
39+
# Setup Python (for Python SDK)
40+
- name: Set up Python
41+
uses: actions/setup-python@v6
42+
with:
43+
python-version: "3.12"
44+
45+
# Setup uv (Python package manager used in this repo)
46+
- name: Set up uv
47+
uses: astral-sh/setup-uv@v7
48+
with:
49+
enable-cache: true
50+
51+
# Setup Go (for Go SDK)
52+
- name: Set up Go
53+
uses: actions/setup-go@v6
54+
with:
55+
go-version: "1.23"
56+
57+
# Setup .NET (for .NET SDK)
58+
- name: Set up .NET
59+
uses: actions/setup-dotnet@v5
60+
with:
61+
dotnet-version: "8.0.x"
62+
63+
# Install just command runner
64+
- name: Install just
65+
uses: extractions/setup-just@v3
66+
67+
# Install gh-aw extension for advanced GitHub CLI features
2168
- name: Install gh-aw extension
2269
run: |
2370
curl -fsSL https://raw.githubusercontent.com/githubnext/gh-aw/refs/heads/main/install-gh-aw.sh | bash
24-
- name: Verify gh-aw installation
25-
run: gh aw version
71+
72+
# Install JavaScript dependencies
73+
- name: Install Node.js dependencies
74+
working-directory: ./nodejs
75+
run: npm ci --ignore-scripts
76+
77+
# Install Python dependencies
78+
- name: Install Python dependencies
79+
working-directory: ./python
80+
run: uv sync --locked --all-extras --dev
81+
82+
# Install Go dependencies
83+
- name: Install Go dependencies
84+
working-directory: ./go
85+
run: go mod download
86+
87+
# Restore .NET dependencies
88+
- name: Restore .NET dependencies
89+
working-directory: ./dotnet
90+
run: dotnet restore
91+
92+
# Install test harness dependencies
93+
- name: Install test harness dependencies
94+
working-directory: ./test/harness
95+
run: npm ci --ignore-scripts
96+
97+
# Verify installations
98+
- name: Verify tool installations
99+
run: |
100+
echo "=== Verifying installations ==="
101+
node --version
102+
npm --version
103+
python --version
104+
uv --version
105+
go version
106+
dotnet --version
107+
just --version
108+
gh --version
109+
gh aw version
110+
echo "✅ All tools installed successfully"

0 commit comments

Comments
 (0)