Skip to content

Add .github/copilot-instructions.md for Copilot context#64

Open
benhillis wants to merge 1 commit into
microsoft:mainfrom
benhillis:add-copilot-instructions
Open

Add .github/copilot-instructions.md for Copilot context#64
benhillis wants to merge 1 commit into
microsoft:mainfrom
benhillis:add-copilot-instructions

Conversation

@benhillis
Copy link
Copy Markdown
Member

Add a copilot-instructions.md file documenting:

  • Architecture: Docker multi-stage build system, sysroot/package dependency resolution, musl cross-toolchain
  • Build commands: Full and single-target Docker builds, cgmanifest check
  • Conventions: Package structure and env vars, kernel config workflow, component governance, adding new kernel versions

This helps future Copilot sessions understand the repo structure and work effectively without needing to explore from scratch each time.

Document the Docker-based build system architecture, build commands,
and key conventions (package structure, kernel config workflow,
component governance) to help future Copilot sessions work effectively
in this repository.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Copilot AI review requested due to automatic review settings May 20, 2026 16:53
--output type=local,dest=out/linux-6.1 .

# Cross-compilation requires qemu-user-static
apt install qemu-user-static
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.

Installing after running the build commands isn't gonna help much haha

Copy link
Copy Markdown

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull request overview

Adds a repository-specific .github/copilot-instructions.md to provide GitHub Copilot with context about how openvmm-deps is structured and how to build it (Docker multi-stage build, sysroots/packages, kernel workflow, and cgmanifest checks).

Changes:

  • Introduces a Copilot instructions document covering architecture and key build scripts.
  • Documents common Docker build commands and the cgmanifest sync check.
  • Captures conventions for sysroots/packages and the kernel-version/config workflow.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment on lines +32 to +41
| Target | Purpose |
|--------|---------|
| `result-sdk` | Static libs (openssl, symcrypt, libunwind) for linking openvmm |
| `result-dbgrd` | Full debug rootfs (gdb, strace, htop) |
| `result-shell` | Minimal busybox shell rootfs |
| `result-initrd` | Shared test initrd for Linux-direct boot |
| `result-petritools` | Performance tools rootfs (fio, iperf3) as EROFS |
| `result-linux-6.1` | Linux 6.1 LTS kernel images |
| `result-linux-6.18` | Linux 6.18 kernel images |

Comment on lines +46 to +50
docker build --platform x86_64 --output type=local,dest=out .
docker build --platform aarch64 --output type=local,dest=out .

# Single target (faster iteration)
docker build --platform x86_64 --target result-linux-6.1 \
Comment on lines +79 to +80
- Never edit configs outside the container — always extract the post-
`olddefconfig` result from the build output (see `pkg/linux/README.md`).
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.

3 participants