Skip to content

devcontainer: add development container configuration - #461

Merged
jow- merged 1 commit into
ucode-lang:masterfrom
russoz:devcontainer
Oct 2, 2026
Merged

jow- merged 1 commit into
ucode-lang:masterfrom
russoz:devcontainer

Conversation

@russoz

@russoz russoz commented Oct 2, 2026

Copy link
Copy Markdown
Contributor

Adds a devcontainer so contributors can get a ready-to-build ucode environment in VS Code / Codespaces.

  • Dockerfile (Debian base): build, test and packaging deps (clang, cmake, debhelper, valgrind, libjson-c, libffi, …) plus libnl-tiny, libubox, ubus and uci built from git.openwrt.org, so the ubus/uci/uloop/rtnl/nl80211 modules build too.
  • CMakePresets.json: a dev preset (clang, UNIT_TESTING=ON). CMake only reads presets from the source root, so post-create.sh writes a local CMakeUserPresets.json that includes it and adds that file to .git/info/exclude. Nothing changes at the repo root for people who don't use the container.
  • post-create.sh: also runs npm install for the docs tooling (Node via the devcontainer feature, pinned in devcontainer-lock.json).
  • .gitignore: ignores /build/, /node_modules/ and package-lock.json.

Contributors who don't use devcontainers are unaffected; everything lives under .devcontainer/ apart from the .gitignore entries.

🤖 Generated with Claude Code

Add a devcontainer with the toolchain and libraries needed to build,
test and package ucode, including the OpenWrt libraries (libnl-tiny,
libubox, ubus, uci) built from source for the optional modules.

A CMake "dev" preset (clang, unit tests enabled) is wired up through a
local, git-excluded CMakeUserPresets.json created on container setup.

Also ignore the build directory and npm artifacts produced by the
container's post-create step.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Signed-off-by: Alexei Znamensky <russoz@gmail.com>
@jow-
jow- merged commit a3bfc1b into ucode-lang:master Oct 2, 2026
2 checks passed
@jow-

jow- commented Oct 2, 2026

Copy link
Copy Markdown
Collaborator

Merged, thanks!

@russoz

russoz commented Oct 2, 2026

Copy link
Copy Markdown
Contributor Author

Thank you for the amazing work on ucode - I am the maintainer of the Ansible collection community.openwrt and we have just converted all the modules to ucode (to be released in a couple of days).

@russoz
russoz deleted the devcontainer branch October 2, 2026 21:23
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.

2 participants