Skip to content

Create github copilot setup workflow#26285

Merged
TravisEz13 merged 10 commits into
masterfrom
TravisEz13-patch-6
Oct 24, 2025
Merged

Create github copilot setup workflow#26285
TravisEz13 merged 10 commits into
masterfrom
TravisEz13-patch-6

Conversation

@TravisEz13

@TravisEz13 TravisEz13 commented Oct 23, 2025

Copy link
Copy Markdown
Member

PR Summary

This pull request introduces a new GitHub Actions workflow for Copilot setup. The workflow, defined in .github/workflows/copilot-setup-steps.yml, allows you to test and customize the environment setup steps for Copilot from your repository's Actions tab.

New Copilot setup workflow:

  • Added .github/workflows/copilot-setup-steps.yml to define a workflow named "Copilot Setup Steps" that runs on workflow_dispatch and sets up the environment before Copilot starts.
  • The workflow checks out the repository, sets up .NET using global.json, and runs a PowerShell bootstrap script to install dependencies and synchronize PowerShell tags.

PR Context

PR Checklist

@TravisEz13 TravisEz13 requested review from a team and jshigetomi as code owners October 23, 2025 00:00
Copilot AI review requested due to automatic review settings October 23, 2025 00:00
@TravisEz13 TravisEz13 self-assigned this Oct 23, 2025

Copilot AI 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.

Pull Request Overview

This PR introduces a new GitHub Actions workflow that establishes standardized environment setup steps for GitHub Copilot's coding agent. The workflow enables testing and validation of the Copilot setup process directly from the repository's Actions tab.

Key Changes:

  • Added a new workflow file that defines the required copilot-setup-steps job
  • Implements the standard PowerShell build prerequisites: checkout with sufficient history, .NET setup, and tag synchronization
  • Configured to run manually via workflow_dispatch for testing purposes

Tip: Customize your code reviews with copilot-instructions.md. Create the file or learn how to get started.

@TravisEz13 TravisEz13 added the CL-Tools Indicates that a PR should be marked as a tools change in the Change Log label Oct 23, 2025

@iSazonov iSazonov left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

Could be useful:

      # Install global tools that might be useful for development
      - name: Install useful .NET tools
        continue-on-error: true
        run: |
          dotnet tool install --global dotnet-format

      # Setup PATH to include .NET tools
      - name: Setup PATH
        run: |
          echo "$HOME/.dotnet/tools" >> $GITHUB_PATH

      # Diagnostics in the log
      - name: Show .NET info
        run: dotnet --info

    - name: Setup completed
      run: |
        echo "✅ Copilot setup completed successfully!"

Comment thread .github/workflows/copilot-setup-steps.yml
@iSazonov

iSazonov commented Oct 23, 2025

Copy link
Copy Markdown
Collaborator

@TravisEz13 Please look that Copilot ask to enable in its firewall
From #26286 :

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:

  • 0t3vsblobprodcus362.vsblob.vsassets.io
    • Triggering command: /home/REDACTED/.dotnet/dotnet restore /home/REDACTED/work/PowerShell/PowerShell/src/powershell-unix --runtime linux-x64 /property:SDKToUse=Microsoft.NET.Sdk --verbosity quiet (dns block)
  • 11vvsblobprodcus336.vsblob.vsassets.io
    • Triggering command: /home/REDACTED/.dotnet/dotnet restore /home/REDACTED/work/PowerShell/PowerShell/src/powershell-unix --runtime linux-x64 /property:SDKToUse=Microsoft.NET.Sdk --verbosity quiet (dns block)
  • 1k9vsblobprodcus379.vsblob.vsassets.io
    • Triggering command: /home/REDACTED/.dotnet/dotnet restore /home/REDACTED/work/PowerShell/PowerShell/src/powershell-unix --runtime linux-x64 /property:SDKToUse=Microsoft.NET.Sdk --verbosity quiet (dns block)
  • 1oavsblobprodcus350.vsblob.vsassets.io
    • Triggering command: /home/REDACTED/.dotnet/dotnet restore /home/REDACTED/work/PowerShell/PowerShell/src/powershell-unix --runtime linux-x64 /property:SDKToUse=Microsoft.NET.Sdk --verbosity quiet (dns block)
  • 1s1vsblobprodcus386.vsblob.vsassets.io
    • Triggering command: /home/REDACTED/.dotnet/dotnet restore /home/REDACTED/work/PowerShell/PowerShell/src/powershell-unix --runtime linux-x64 /property:SDKToUse=Microsoft.NET.Sdk --verbosity quiet (dns block)
  • 4myvsblobprodcus32.vsblob.vsassets.io
    • Triggering command: /home/REDACTED/.dotnet/dotnet restore /home/REDACTED/work/PowerShell/PowerShell/src/powershell-unix --runtime linux-x64 /property:SDKToUse=Microsoft.NET.Sdk --verbosity quiet (dns block)
  • 51yvsblobprodcus36.vsblob.vsassets.io
    • Triggering command: /home/REDACTED/.dotnet/dotnet restore /home/REDACTED/work/PowerShell/PowerShell/src/powershell-unix --runtime linux-x64 /property:SDKToUse=Microsoft.NET.Sdk --verbosity quiet (dns block)
    • Triggering command: /home/REDACTED/work/_temp/ghcca-node/node/bin/node --enable-source-maps /home/REDACTED/work/_temp/copilot-developer-action-main/dist/index.js (dns block)
  • 5rqvsblobprodcus385.vsblob.vsassets.io
    • Triggering command: /home/REDACTED/.dotnet/dotnet restore /home/REDACTED/work/PowerShell/PowerShell/src/powershell-unix --runtime linux-x64 /property:SDKToUse=Microsoft.NET.Sdk --verbosity quiet (dns block)
  • 6s7vsblobprodcus313.vsblob.vsassets.io
    • Triggering command: /home/REDACTED/.dotnet/dotnet restore /home/REDACTED/work/PowerShell/PowerShell/src/powershell-unix --runtime linux-x64 /property:SDKToUse=Microsoft.NET.Sdk --verbosity quiet (dns block)
  • 7devsblobprodcus323.vsblob.vsassets.io
    • Triggering command: /home/REDACTED/.dotnet/dotnet restore /home/REDACTED/work/PowerShell/PowerShell/src/powershell-unix --runtime linux-x64 /property:SDKToUse=Microsoft.NET.Sdk --verbosity quiet (dns block)
  • cflvsblobprodcus383.vsblob.vsassets.io
    • Triggering command: /home/REDACTED/.dotnet/dotnet restore /home/REDACTED/work/PowerShell/PowerShell/src/powershell-unix --runtime linux-x64 /property:SDKToUse=Microsoft.NET.Sdk --verbosity quiet (dns block)
  • d0svsblobprodcus381.vsblob.vsassets.io
    • Triggering command: /home/REDACTED/.dotnet/dotnet restore /home/REDACTED/work/PowerShell/PowerShell/src/powershell-unix --runtime linux-x64 /property:SDKToUse=Microsoft.NET.Sdk --verbosity quiet (dns block)
  • e7bvsblobprodcus348.vsblob.vsassets.io
    • Triggering command: /home/REDACTED/.dotnet/dotnet restore /home/REDACTED/work/PowerShell/PowerShell/src/powershell-unix --runtime linux-x64 /property:SDKToUse=Microsoft.NET.Sdk --verbosity quiet (dns block)
  • esm.ubuntu.com
    • Triggering command: /usr/lib/apt/methods/https (dns block)
  • h6tvsblobprodcus346.vsblob.vsassets.io
    • Triggering command: /home/REDACTED/.dotnet/dotnet restore /home/REDACTED/work/PowerShell/PowerShell/src/powershell-unix --runtime linux-x64 /property:SDKToUse=Microsoft.NET.Sdk --verbosity quiet (dns block)
  • jd4vsblobprodcus366.vsblob.vsassets.io
    • Triggering command: /home/REDACTED/.dotnet/dotnet restore /home/REDACTED/work/PowerShell/PowerShell/src/powershell-unix --runtime linux-x64 /property:SDKToUse=Microsoft.NET.Sdk --verbosity quiet (dns block)
    • Triggering command: /home/REDACTED/work/_temp/ghcca-node/node/bin/node --enable-source-maps /home/REDACTED/work/_temp/copilot-developer-action-main/dist/index.js (dns block)
  • josvsblobprodcus372.vsblob.vsassets.io
    • Triggering command: /home/REDACTED/.dotnet/dotnet restore /home/REDACTED/work/PowerShell/PowerShell/src/powershell-unix --runtime linux-x64 /property:SDKToUse=Microsoft.NET.Sdk --verbosity quiet (dns block)
  • k4kvsblobprodcus344.vsblob.vsassets.io
    • Triggering command: /home/REDACTED/.dotnet/dotnet restore /home/REDACTED/work/PowerShell/PowerShell/src/powershell-unix --runtime linux-x64 /property:SDKToUse=Microsoft.NET.Sdk --verbosity quiet (dns block)
  • kgfvsblobprodcus314.vsblob.vsassets.io
    • Triggering command: /home/REDACTED/.dotnet/dotnet restore /home/REDACTED/work/PowerShell/PowerShell/src/powershell-unix --runtime linux-x64 /property:SDKToUse=Microsoft.NET.Sdk --verbosity quiet (dns block)
  • l49vsblobprodcus358.vsblob.vsassets.io
    • Triggering command: /home/REDACTED/.dotnet/dotnet restore /home/REDACTED/work/PowerShell/PowerShell/src/powershell-unix --runtime linux-x64 /property:SDKToUse=Microsoft.NET.Sdk --verbosity quiet (dns block)
  • lylvsblobprodcus31.vsblob.vsassets.io
    • Triggering command: /home/REDACTED/.dotnet/dotnet restore /home/REDACTED/work/PowerShell/PowerShell/src/powershell-unix --runtime linux-x64 /property:SDKToUse=Microsoft.NET.Sdk --verbosity quiet (dns block)
  • p2ovsblobprodcus312.vsblob.vsassets.io
    • Triggering command: /home/REDACTED/.dotnet/dotnet restore /home/REDACTED/work/PowerShell/PowerShell/src/powershell-unix --runtime linux-x64 /property:SDKToUse=Microsoft.NET.Sdk --verbosity quiet (dns block)
  • se1vsblobprodcus349.vsblob.vsassets.io
    • Triggering command: /home/REDACTED/.dotnet/dotnet restore /home/REDACTED/work/PowerShell/PowerShell/src/powershell-unix --runtime linux-x64 /property:SDKToUse=Microsoft.NET.Sdk --verbosity quiet (dns block)
  • u3hvsblobprodcus371.vsblob.vsassets.io
    • Triggering command: /home/REDACTED/.dotnet/dotnet restore /home/REDACTED/work/PowerShell/PowerShell/src/powershell-unix --runtime linux-x64 /property:SDKToUse=Microsoft.NET.Sdk --verbosity quiet (dns block)
  • v53vsblobprodcus320.vsblob.vsassets.io
    • Triggering command: /home/REDACTED/.dotnet/dotnet restore /home/REDACTED/work/PowerShell/PowerShell/src/powershell-unix --runtime linux-x64 /property:SDKToUse=Microsoft.NET.Sdk --verbosity quiet (dns block)
  • vb4vsblobprodcus33.vsblob.vsassets.io
    • Triggering command: /home/REDACTED/.dotnet/dotnet restore /home/REDACTED/work/PowerShell/PowerShell/src/powershell-unix --runtime linux-x64 /property:SDKToUse=Microsoft.NET.Sdk --verbosity quiet (dns block)
  • x3yvsblobprodcus370.vsblob.vsassets.io
    • Triggering command: /home/REDACTED/.dotnet/dotnet restore /home/REDACTED/work/PowerShell/PowerShell/src/powershell-unix --runtime linux-x64 /property:SDKToUse=Microsoft.NET.Sdk --verbosity quiet (dns block)
  • yluvsblobprodcus367.vsblob.vsassets.io
    • Triggering command: /home/REDACTED/.dotnet/dotnet restore /home/REDACTED/work/PowerShell/PowerShell/src/powershell-unix --runtime linux-x64 /property:SDKToUse=Microsoft.NET.Sdk --verbosity quiet (dns block)
  • ytvvsblobprodcus310.vsblob.vsassets.io
    • Triggering command: /home/REDACTED/.dotnet/dotnet restore /home/REDACTED/work/PowerShell/PowerShell/src/powershell-unix --runtime linux-x64 /property:SDKToUse=Microsoft.NET.Sdk --verbosity quiet (dns block)

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

@TravisEz13

Copy link
Copy Markdown
Member Author

dotnet tool install --global dotnet-format

If this is needed, add to start-psbootstrap as a new or existing scenario

Comment thread .github/workflows/copilot-setup-steps.yml Outdated
Comment thread .github/workflows/copilot-setup-steps.yml Outdated
Comment thread build.psm1 Outdated
Comment thread build.psm1
Comment thread build.psm1 Outdated
Co-authored-by: Travis Plunk <travis.plunk@microsoft.com>

@daxian-dbw daxian-dbw left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

LGTM!

Comment thread build.psm1
# Both: Package and DotNet scenarios
# Tools: Install .NET global tools (e.g., dotnet-format)
# All: Install all dependencies (packaging, .NET SDK, and tools)
[ValidateSet("Package", "DotNet", "Both", "Tools", "All")]

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

As we discussed offline, the Both value should be remove, so that

  • for dev/CI, we can use -Scenario All
  • for official build, we must use individual scenario explicitly

The cleanup can be done in a separate PR.
Ideally, this parameter should be made a flags Enum, so a caller can provide arbitrary combination :)

@TravisEz13 TravisEz13 enabled auto-merge (squash) October 23, 2025 23:13
@TravisEz13 TravisEz13 merged commit 7ec0111 into master Oct 24, 2025
38 checks passed
@microsoft-github-policy-service

microsoft-github-policy-service Bot commented Oct 24, 2025

Copy link
Copy Markdown
Contributor

📣 Hey @@TravisEz13, how did we do? We would love to hear your feedback with the link below! 🗣️

🔗 https://aka.ms/PSRepoFeedback

@daxian-dbw daxian-dbw deleted the TravisEz13-patch-6 branch October 24, 2025 20:49
SIRMARGIN pushed a commit to SIRMARGIN/PowerShell that referenced this pull request Dec 12, 2025
Co-authored-by: Dongbo Wang <dongbow@microsoft.com>
kilasuit pushed a commit to kilasuit/PowerShell that referenced this pull request Jan 2, 2026
Co-authored-by: Dongbo Wang <dongbow@microsoft.com>
daxian-dbw added a commit to daxian-dbw/PowerShell that referenced this pull request Feb 13, 2026
Co-authored-by: Dongbo Wang <dongbow@microsoft.com>
JustinGrote pushed a commit to JustinGrote/PowerShell that referenced this pull request Jun 2, 2026
Co-authored-by: Dongbo Wang <dongbow@microsoft.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Backport-7.5.x-Done CL-Tools Indicates that a PR should be marked as a tools change in the Change Log

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants