Skip to main content

copilot-setup-steps


title: "Copilot Setup Steps" sidebar_label: "Copilot Setup Steps" description: "GitHub Actions workflow: Copilot Setup Steps"​

Copilot Setup Steps

Workflow file: .github/workflows/copilot-setup-steps.yml

Triggers​

  • workflow_dispatch
  • push — paths: .github/workflows/copilot-setup-steps.yml

Permissions​

Inherited from repository defaults

Jobs​

copilot-setup-steps​

PropertyValue
Display Namecopilot-setup-steps
Runs Onubuntu-latest
Steps9

Source​

Click to view full workflow YAML
name: "Copilot Setup Steps"

# Configures the environment for GitHub Copilot Agent with:
# - gh-aw MCP server (agentic workflows)
# - Azure IaC scanning tools (Bicep, PSRule, ARM-TTK, Checkov)
# - Azure MCP server
on:
workflow_dispatch:
push:
paths:
- .github/workflows/copilot-setup-steps.yml

jobs:
# The job MUST be called 'copilot-setup-steps' to be recognized by GitHub Copilot Agent
copilot-setup-steps:
runs-on: ubuntu-latest
permissions:
contents: read
id-token: write
steps:
- name: Checkout repository
uses: actions/checkout@v6

- name: Install gh-aw extension
uses: github/gh-aw-actions/setup-cli@v0.61.0
with:
version: v0.61.0

- name: Install Azure CLI + Bicep
run: |
curl -sL https://aka.ms/InstallAzureCLIDeb | sudo bash
az bicep install
az bicep version

- name: Setup PowerShell + Azure PSRule + ARM-TTK
shell: bash
run: |
sudo apt-get update && sudo apt-get install -y powershell
pwsh -Command "Install-Module -Name PSRule.Rules.Azure -Scope CurrentUser -Force"
git clone --depth 1 https://github.com/Azure/arm-ttk.git "$HOME/.arm-ttk"
mkdir -p "$HOME/.config/powershell"
echo 'Import-Module $HOME/.arm-ttk/arm-ttk/arm-ttk.psd1' \
>> "$HOME/.config/powershell/Microsoft.PowerShell_profile.ps1"

- name: Setup Python 3.12 + Checkov
uses: actions/setup-python@v5
with:
python-version: "3.12"

- name: Install Checkov
run: pip install --user checkov

- name: Setup Node.js 20
uses: actions/setup-node@v4
with:
node-version: "20"

- name: Install Azure MCP server (headless)
run: |
npm install -g @azure/mcp@latest
azmcp --version

- name: Verify tools
run: |
az version
checkov --version
pwsh -Command "Get-Module PSRule.Rules.Azure -ListAvailable"