-
Notifications
You must be signed in to change notification settings - Fork 554
Enable partial Linux builds for Copilot support #24494
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
Conversation
Co-authored-by: rolfbjarne <[email protected]>
Co-authored-by: rolfbjarne <[email protected]>
rolfbjarne
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@copilot the network problems have been fixed, please try again
src/bgen/ProjectInspector.csproj
Outdated
| @@ -0,0 +1,30 @@ | |||
| <!-- All msbuild target logic needs to be inside a project tag --> | |||
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@copilot Don't check in any version of ProjectInspector.csproj, in any directory (and remove the ones in this PR).
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Removed all ProjectInspector.csproj files in commit 7fcbf2e.
Make.config
Outdated
| export DEVELOPER_DIR=$(XCODE_DEVELOPER_ROOT) | ||
| export MD_APPLE_SDK_ROOT=$(abspath $(XCODE_DEVELOPER_ROOT)/../..) | ||
| else | ||
| # On Linux, set dummy Xcode values |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@copilot Use the word 'placeholder' instead of 'dummy'.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Changed to 'placeholder' in commit 7fcbf2e.
Make.config
Outdated
| INCLUDE_IOS= | ||
| INCLUDE_MAC= | ||
| INCLUDE_TVOS= | ||
| INCLUDE_MACCATALYST= | ||
| INCLUDE_SIMULATOR= | ||
| INCLUDE_DEVICE= |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@copilot They should all be included, not excluded, otherwise nothing will be built, even on Linux.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Fixed - removed the override that was clearing the INCLUDE_* variables. They are now properly included on Linux in commit 7fcbf2e. The build now shows all platforms and progresses through builds/runtime/src directories until native compilation is attempted (which is expected to fail on Linux).
…holder' instead of 'dummy', keep INCLUDE_* variables Co-authored-by: rolfbjarne <[email protected]>
Tested successfully! The build now progresses much further:
The repository now builds successfully on Linux up to the point where Xcode/native tools are required. |
🔥 [CI Build #7fcbf2e] Build failed (Build packages) 🔥Build failed for the job 'Build packages' (with job status 'Failed') Pipeline on Agent |
🔥 [PR Build #7fcbf2e] Build failed (Detect API changes) 🔥Build failed for the job 'Detect API changes' (with job status 'Failed') Pipeline on Agent |
|
🔥 Unable to find the contents for the comment: D:\a\1\s\change-detection\results\gh-comment.md does not exist :fire Pipeline on Agent |
Enables the repository to build on Linux by downloading .NET and skipping native code compilation. This allows Copilot agents to assist with managed code development without requiring macOS/Xcode.
Changes
uname -sand skip all macOS-specific checks (Xcode, Mono, simulators, etc.)$(CP)variable instead of hardcodedcp -c; create cache directory before use$PWDvariable reference; detect OS for correctsed -isyntax (empty string backup arg on macOS, none on Linux)Behavior
On Linux:
makesuccessfully downloads .NET SDKbuilds,runtime, andsrcdirectoriesOn macOS:
Original prompt
💬 We'd love your input! Share your thoughts on Copilot coding agent in our 2 minute survey.