Oryx icon indicating copy to clipboard operation
Oryx copied to clipboard

Add comprehensive GitHub Copilot instructions for Oryx repository

Open Copilot opened this issue 3 months ago • 1 comments

This PR adds comprehensive GitHub Copilot instructions to help developers work effectively with the Microsoft Oryx build system codebase. The instructions were created through extensive exploration and validation of the repository's build processes, testing frameworks, and development workflows.

Key Features of the Instructions

Validated Build Commands with Exact Timing:

  • Individual project builds (8-19 seconds each) with explicit timeout recommendations
  • Startup script generator tests (39 seconds including Docker downloads)
  • Comprehensive workarounds for known dependency issues

Critical Issue Documentation: The instructions document a known Microsoft.NETCore.App.Host.ubuntu.24.04-x64 package dependency issue that prevents building the main solution, along with proven workarounds using individual project builds:

# Works: Individual component build (19 seconds)
dotnet build src/BuildScriptGenerator/BuildScriptGenerator.csproj -c Debug

# Fails: Full solution due to ubuntu.24.04-x64 issue
./build/buildSln.sh

Manual Validation Scenarios: The instructions include tested validation commands for major platforms:

# Test Node.js detection
./src/BuildScriptGeneratorCli/bin/Debug/linux-x64/GenerateBuildScript detect tests/SampleApps/nodejs/node-mysql/

# Test Python detection  
./src/BuildScriptGeneratorCli/bin/Debug/linux-x64/GenerateBuildScript detect tests/SampleApps/python/flask-chatterbot/

Explicit Timeout and Cancellation Warnings: All long-running operations include "NEVER CANCEL" warnings with specific timeout recommendations (30-90+ minutes for Docker builds, 60+ seconds for tests) to prevent premature cancellation of container builds and large compilations.

Container-Based Development Context: The instructions explain that Oryx is designed for container-based development, helping developers understand why certain commands fail outside the expected Docker environment while providing alternatives for local development.

The instructions follow the imperative tone requirement and start with a firm directive to reference them first before falling back to additional search or context gathering.

Fixes #2636.


✨ Let Copilot coding agent set things up for you — coding agent works faster and does higher quality work when set up for your repo.

Copilot avatar Sep 09 '25 01:09 Copilot

@Saipriya-1144 👋 This repository doesn't have Copilot instructions. With Copilot instructions, I can understand the repository better, work faster and produce higher quality PRs.

I can generate a .github/copilot-instructions.md file for you automatically. Click here to open a pre-filled issue and assign it to me. I'll write the instructions, and then tag you for review.

Copilot avatar Sep 09 '25 01:09 Copilot