Skip to content

Docker-first build, test, and lint (no host cosmocc) - #12

Merged
SteveParson merged 1 commit into
mainfrom
cursor/docker-first-build-6d2a
Nov 3, 2026
Merged

SteveParson merged 1 commit into
mainfrom
cursor/docker-first-build-6d2a

Conversation

@SteveParson

Copy link
Copy Markdown
Owner

Summary

Makes Docker the preferred local workflow so the Mac only needs Docker — no cosmocc, clang-format, or clang-tidy on the host.

Changes

  • Multi-stage Dockerfile: builder (cosmocc), test, lint (LLVM 21, matches existing CI), runtime (scratch + assimilated APE)
  • Makefile: docker-test, docker-lint, docker-king, docker-image, docker-run (skip host cosmocc download)
  • .dockerignore, docker-compose.yml
  • Docs: README + AGENTS.md Docker-first
  • CI: .github/workflows/ci.yml runs Docker test + lint on PRs and main

How to use

git submodule update --init
make docker-test
make docker-king    # writes ./king
make docker-lint
make docker-image   # king:local
make docker-run     # needs .env or DISCORD_TOKEN

Verification

Locally on this agent VM:

  • make docker-test → 84 passed, 0 failed
  • make docker-king / docker-image / docker-lint succeeded

Native make / make test remain available for optional host builds.

Open in Web Open in Cursor 

Make Docker the preferred local path so the host only needs Docker:
multi-stage Dockerfile (builder/test/lint/runtime), Makefile wrappers,
compose helpers, .dockerignore, docs, and a PR CI workflow.

Co-authored-by: me <me@steveparson.ca>
@SteveParson
SteveParson merged commit 1e3b44e into main Nov 3, 2026
2 checks passed
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