docs: add tessellation base image spec for CI optimization#101
Closed
ottobot-ai wants to merge 1 commit into
Closed
docs: add tessellation base image spec for CI optimization#101ottobot-ai wants to merge 1 commit into
ottobot-ai wants to merge 1 commit into
Conversation
Specifies pre-building tessellation JARs into a Docker image to reduce E2E CI time from ~16 min to ~10 min (~40% improvement). Key decisions: - Only tessellation JARs pre-built (gl0/gl1/keytool/wallet) - Metagraph JARs (ml0/cl1/dl1) still built from source every PR - SKIP_ASSEMBLY=true + PUBLISH=false in e2e.yml - JAR-only scratch image, extracted via docker create + docker cp - Public image (no auth required for pulls) - Manual dispatch + auto-rebuild on patch changes Phase 2 (sbt incremental cache) deferred to separate card. Resolves: Pre-build tessellation/ottochain Docker images (Trello #69967833)
ottobot-ai
added a commit
that referenced
this pull request
Feb 25, 2026
Implements spec from PR #101. Reduces E2E CI time from ~16 min to ~8-10 min by pre-building tessellation GL0/GL1 JARs and using SKIP_ASSEMBLY=true. Changes: - New .github/workflows/build-tessellation-base.yml Builds tessellation assembly JARs and publishes to ghcr.io/ottobot-ai/tessellation-base:v{VERSION}. Triggers on push to paths: build.sbt, project/**, patches/, Dockerfile. Also supports manual dispatch. - New tessellation-base.Dockerfile Minimal alpine image containing only GL0/GL1 assembly JARs. ML0/CL1/DL1 (OttoChain) intentionally excluded — built per-PR from source. - Updated .github/workflows/e2e.yml Pulls pre-built base image, extracts JARs via docker create+cp to tessellation target directories, then runs just up with SKIP_ASSEMBLY=true PUBLISH=false. - Added modules/ci with TDD tests (43 tests from PR #102). File-content tests now pass (workflow/Dockerfile structure verified). Runtime tests (CI timing, actual image pull) remain in TDD red phase until image is built and pushed to GHCR. Trello: https://trello.com/c/69967833a7f71628ede9e523 Spec: PR #101 Tests: PR #102 (test/tessellation-base-image-tdd)
9 tasks
Collaborator
Author
|
Moving to feature branch |
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
Specifies pre-building tessellation JARs into a Docker image to reduce E2E CI time from ~16 min to ~10 min (~40% improvement).
Key Decisions
Architecture
build-tessellation-base.ymlworkflow builds tessellation JARs and publishes to GHCRtessellation-base.Dockerfilecreates minimal JAR-only imagee2e.ymlextracts JARs viadocker create + docker cppattern withSKIP_ASSEMBLY=trueAcceptance Criteria
ghcr.io/ottobot-ai/tessellation-base:v4.0.0-rc.2SKIP_ASSEMBLY=true+PUBLISH=falseTrello Card
Pre-build tessellation/ottochain Docker images
Related