feat: initial Containerfile, devfiles, scripts, and CI#2
Merged
Conversation
Implement all 8 deliverables from Issue #1: - Containerfile (Fedora 41, Go 1.25, full UF toolchain, non-root dev user) - Containerfile.udi (UDI base for Eclipse Che / Dev Spaces) - devfile.yaml and devfile-dynamic.yaml (Devfile 2.2.0) - scripts: install-uf-tools, entrypoint, extract-changes, connect - podman-compose.yml for headless server mode (Model B) - CI workflow for multi-arch build and push to quay.io - README documenting all 3 deployment models - Full spec artifacts (spec, plan, research, contracts, tasks)
ECONNRESET during zod download caused CI build failure. Retry npm install up to 3 times with 5s delay between attempts.
Three issues addressed: - Fix dewey --version → dewey version in smoke tests - Build native amd64 first, run smoke tests, then add arm64 (was building 3 times: amd64 manifest, arm64 manifest, test) - Reuse native image in manifest via containers-storage instead of rebuilding
The OpenCode curl installer places the binary at ~/.opencode/bin/opencode and updates .bashrc, but .bashrc is not sourced by the container entrypoint. Adding the directory to the ENV PATH makes it available to all execution contexts.
The entrypoint logs (workspace detection, Ollama check) pollute stdout, causing the USER_OUTPUT comparison to fail. Using --entrypoint whoami gets clean output for the user check.
Eliminate QEMU emulation for cross-arch builds (~40 min → ~10 min target): - Add Containerfile.base (Fedora 41 + Go 1.25 + system packages) - Add build-base.yml CI workflow (weekly schedule + manual dispatch) - Refactor Containerfile to use opencode-base as FROM (109 → 48 lines) - Refactor build-push.yml to use native runners (ubuntu-24.04-arm) - Update spec with FR-022–FR-027, SC-001 (10 min CI target)
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Implements all 8 deliverables from Issue #1 (Discussion #88):
devuserVerification
Image builds successfully and all smoke tests pass:
Review
Closes #1