Skip to content

Conversation

Copy link
Contributor

Copilot AI commented Oct 30, 2025

GitHub Copilot uses shallow clones which break Nerdbank.GitVersioning. Similar to the existing Dependabot auto-detection, this adds automatic detection of GitHub Copilot environments to disable the git engine without manual configuration.

Implementation

  • Detection: Added IsGitHubCopilotEnvironment() that checks for GITHUB_ACTOR=copilot-swe-agent[bot]
  • Integration: Extended GetEffectiveGitEngine() to auto-disable when Copilot is detected and NBGV_GitEngine is not explicitly set
  • Precedence: NBGV_GitEngine environment variable overrides auto-detection (same as Dependabot)

Tests

Added three test scenarios:

  • Copilot environment triggers auto-disable
  • Other GITHUB_ACTOR values don't trigger (5 cases: user, dependabot[bot], copilot-swe-agent, COPILOT-SWE-AGENT[BOT], empty)
  • NBGV_GitEngine overrides Copilot detection

Updated existing tests to clear GITHUB_ACTOR for isolation.

Documentation

Updated shallow-cloning-agents.md to document auto-detection and note manual configuration as optional fallback.

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:

  • 3dovsblobprodeus2188.blob.core.windows.net
    • Triggering command: dotnet restore --no-dependencies /home/REDACTED/work/Nerdbank.GitVersioning/.codeql-scratch/dbs/csharp/working/32A0A2D38A721DD2A3E59F6279CF8961/missingpackages_workingdir --packages /home/REDACTED/work/Nerdbank.GitVersioning/.codeql-scratch/dbs/csharp/working/missingpackages /p:DisableImplicitNuGetFallbackFolder=true --verbosity normal --configfile /home/REDACTED/work/Nerdbank.GitVersioning/.codeql-scratch/dbs/csharp/working/nugetconfig/nuget.config --force (dns block)
  • aka.ms
    • Triggering command: curl -I -sSL --retry 5 --retry-delay 2 --connect-timeout 15 REDACTED (dns block)

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

Original prompt

This section details on the original issue you should resolve

<issue_title>Self-hosted ARC for GitHub Copilot prefers NBGV_GitEngine=Disabled</issue_title>
<issue_description>Similar to the Dependabot issues the self-hosted GitHub Copilot flow has gaps in functionality at the organization and enterprise management level to set environment variables. As a result it would be ideal of Nerdbank.GitVersioning was smart enough to detect if it is running in a GitHub Copilot context and disable itself.

Some environment variables that our team members have found:
GITHUB_WORKFLOW=Copilot
GITHUB_ACTOR=copilot-swe-agent[bot]
GITHUB_JOB=copilot

There are workarounds such as setting the NBGV_GitEngine variable to Disabled in our different k8s runner scale sets, removing the package from GlobalPackageReference if env var exists, or updating settings per repository.

Thoughts on this one?</issue_description>

<agent_instructions>Let's fix this by doing something like #1284, looking for GITHUB_ACTOR=copilot-swe-agent[bot] as an environment variable.</agent_instructions>

Comments on the Issue (you are @copilot in this section)

@AArnott How about the Github Copilot workaround I document [here](https://dotnet.github.io/Nerdbank.GitVersioning/docs/shallow-cloning-agents.html). Would that work for you? @AArnott Ok, let's do something like https://github.com//pull/1284, looking for `GITHUB_ACTOR=copilot-swe-agent[bot]` as an environment variable.

💡 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.

Copilot AI changed the title [WIP] Fix NBGV_GitEngine variable detection in Copilot context Auto-disable git engine for GitHub Copilot environments Oct 30, 2025
Copilot AI requested a review from AArnott October 30, 2025 14:54
Copilot finished work on behalf of AArnott October 30, 2025 14:54
@AArnott AArnott marked this pull request as ready for review October 30, 2025 15:19
@AArnott AArnott enabled auto-merge October 30, 2025 15:20
@AArnott AArnott added this pull request to the merge queue Oct 30, 2025
@github-merge-queue github-merge-queue bot removed this pull request from the merge queue due to failed status checks Oct 30, 2025
@AArnott AArnott added this pull request to the merge queue Oct 31, 2025
Merged via the queue into main with commit 44c7f5b Oct 31, 2025
23 checks passed
@AArnott AArnott deleted the copilot/fix-nbgv-gitengine-issue branch October 31, 2025 04:00
This was referenced Nov 10, 2025
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.

Self-hosted ARC for GitHub Copilot prefers NBGV_GitEngine=Disabled

2 participants