Skip to content

feat(configs): add devcontainer config for reproducible dev and cross-platform code track#3656

Open
jiengup wants to merge 6 commits into
apache:masterfrom
jiengup:devcontainer
Open

feat(configs): add devcontainer config for reproducible dev and cross-platform code track#3656
jiengup wants to merge 6 commits into
apache:masterfrom
jiengup:devcontainer

Conversation

@jiengup

@jiengup jiengup commented Jul 12, 2026

Copy link
Copy Markdown

Which issue does this PR address?

Relates to NONE

Rationale

The repository lacked a devcontainer configuration, making onboarding inconsistent — each developer needs to manually install the correct Rust toolchain, Node.js, and system dependencies.
Moreover, for local development on other platforms (e.g, macOS), the compio-driver will fallback to poll instead of io-uring, which will make source code tracing difficult and different from iggy design.
On GitHub Codespaces, the default 8GB machine ran out of memory during rust-analyzer indexing, causing repeated SIGTERM crashes.

What changed?

Added .devcontainer/Dockerfile and .devcontainer/devcontainer.json that:

  • Mirror the production Dockerfile dependencies (Rust 1.96 via rustup, libssl-dev, libhwloc-dev, libudev-dev, nodejs) so the dev environment matches CI.
  • Configure hostRequirements (4-core / 16GB) to prevent rust-analyzer OOM kills on Codespaces.
  • Cap build parallelism (CARGO_BUILD_JOBS=4) and enable proc-macros/build-scripts for usable IDE features while staying within memory limits.
  • Forward ports for transports (HTTP 3000, TCP 8090, WebSocket 8092) plus the web UI dev server (3050).
    • Note that QUIC(8080) won't actually be reachable from the host through the forward cause port forwarding in vs code / codespaces supports TCP only. It's just for container-internal use.
  • Run npm --prefix web ci on container creation so the web frontend is ready immediately.

Local Execution

  • Passed — container builds, cargo check succeeds, rust-analyzer code navigation (Go to Definition / autocomplete) works.
  • Verified on both local Docker Desktop (macOS arm64) and GitHub Codespaces (4-core/16GB). Both enviroment can navigate to the io-uring driver code in compio.

Screenshot (Github Codespace)

image

AI Usage

LLM is used to generate the devcontainer configuration files and all the changes are checked by the human.

@github-actions

Copy link
Copy Markdown

Thanks for the PR. It is labeled S-waiting-on-review and queued for review.

Slash commands (own line, regular comment) move it around the queue:

  • /ready - back to S-waiting-on-review after addressing feedback
  • /author - flip to S-waiting-on-author while you finish changes
  • /request-review @user-or-team - request a reviewer

See CONTRIBUTING.md for details.

@github-actions github-actions Bot added the S-waiting-on-review PR is waiting on a reviewer label Jul 12, 2026
@jiengup jiengup closed this Jul 12, 2026
@github-actions github-actions Bot removed the S-waiting-on-review PR is waiting on a reviewer label Jul 12, 2026
@jiengup jiengup reopened this Jul 12, 2026
@jiengup

jiengup commented Jul 12, 2026

Copy link
Copy Markdown
Author

/ready

@github-actions github-actions Bot added the S-waiting-on-review PR is waiting on a reviewer label Jul 12, 2026
Comment thread .devcontainer/devcontainer.json
Comment thread .devcontainer/Dockerfile Outdated
@slbotbm

slbotbm commented Jul 12, 2026

Copy link
Copy Markdown
Contributor

/author

@github-actions github-actions Bot added S-waiting-on-author PR is waiting on author response and removed S-waiting-on-review PR is waiting on a reviewer labels Jul 12, 2026
@jiengup

jiengup commented Jul 12, 2026

Copy link
Copy Markdown
Author

/ready

@github-actions github-actions Bot added S-waiting-on-review PR is waiting on a reviewer and removed S-waiting-on-author PR is waiting on author response labels Jul 12, 2026
@jiengup
jiengup requested a review from slbotbm July 12, 2026 13:36
Comment thread .devcontainer/devcontainer.json Outdated
Comment thread .devcontainer/devcontainer.json Outdated
Comment thread .devcontainer/devcontainer.json
Comment thread .devcontainer/devcontainer.json Outdated
Comment thread .devcontainer/Dockerfile
@github-actions github-actions Bot added S-waiting-on-author PR is waiting on author response and removed S-waiting-on-review PR is waiting on a reviewer labels Jul 13, 2026
@jiengup jiengup changed the title feat(devcontainer): add devcontainer config for reproducible dev and cross-platform code track. feat(configs): add devcontainer config for reproducible dev and cross-platform code track. Jul 13, 2026
@jiengup
jiengup force-pushed the devcontainer branch 2 times, most recently from d94216d to a53a2bb Compare July 13, 2026 15:33
@jiengup

jiengup commented Jul 13, 2026

Copy link
Copy Markdown
Author

/ready

@github-actions github-actions Bot added S-waiting-on-review PR is waiting on a reviewer and removed S-waiting-on-author PR is waiting on author response labels Jul 13, 2026
@hubcio hubcio changed the title feat(configs): add devcontainer config for reproducible dev and cross-platform code track. feat(configs): add devcontainer config for reproducible dev and cross-platform code track Jul 14, 2026
@hubcio

hubcio commented Jul 14, 2026

Copy link
Copy Markdown
Contributor

/author

@github-actions github-actions Bot added S-waiting-on-author PR is waiting on author response and removed S-waiting-on-review PR is waiting on a reviewer labels Jul 14, 2026
cross-platform code track.

Provide a consistent development environment with the pinned
Rust toolchain, build dependencies, and VS Code extensions to
reduce contributor setup overhead and ensure reproducibility.
@jiengup
jiengup force-pushed the devcontainer branch 2 times, most recently from 3e27329 to f5c85ce Compare July 15, 2026 06:17
@jiengup

jiengup commented Jul 15, 2026

Copy link
Copy Markdown
Author

/ready

@github-actions github-actions Bot added S-waiting-on-review PR is waiting on a reviewer and removed S-waiting-on-author PR is waiting on author response labels Jul 15, 2026
@jiengup
jiengup requested a review from hubcio July 15, 2026 13:18
@hubcio

hubcio commented Jul 17, 2026

Copy link
Copy Markdown
Contributor

@jiengup have you already joined our discord? if yes, whats your handle?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

S-waiting-on-review PR is waiting on a reviewer

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants