Skip to content

test: add failing TDD tests for tessellation base image CI optimization#102

Closed
ottobot-ai wants to merge 1 commit into
mainfrom
test/tessellation-base-image-tdd
Closed

test: add failing TDD tests for tessellation base image CI optimization#102
ottobot-ai wants to merge 1 commit into
mainfrom
test/tessellation-base-image-tdd

Conversation

@ottobot-ai

Copy link
Copy Markdown
Collaborator

TDD Tests for Tessellation Base Image Feature

This PR adds comprehensive failing tests for the tessellation base image CI optimization feature (Trello #69967833).

Test Coverage

TessellationBaseImageTest.scala:

  • workflow existence and configuration
  • structure and content
  • updates for JAR extraction and environment variables
  • CI performance improvements (≤10 min target)
  • Public image accessibility

DockerWorkflowTest.scala:

  • Docker workflow job structure and setup
  • GHCR authentication and publishing
  • Tessellation cloning and building
  • Version tagging and triggers
  • JAR extraction patterns

PerformanceIntegrationTest.scala:

  • End-to-end CI time measurement
  • Assembly skip verification
  • Image extraction vs compilation speed
  • Cluster startup with extracted JARs
  • Build cache improvements

Expected Behavior

All tests should FAIL until the feature is implemented
Tests compile successfully
No regressions to existing test suites

Implementation Guidance

These tests define the acceptance criteria from the specification:

  • New workflow publishing to GHCR
  • New with minimal JAR-only image
  • Updated with and
  • JAR extraction via pattern
  • CI time reduction from ~16 min to ≤10 min (40-45% improvement)
  • Metagraph JARs still built from source
  • Public image (no auth required)

Next Steps

  1. Merge this PR to establish the test baseline
  2. Implement the feature to make tests pass
  3. Verify performance improvements in actual CI runs

Related: Trello Card #69967833

…TDD)

- TessellationBaseImageTest: tests for build-tessellation-base.yml workflow, tessellation-base.Dockerfile, and e2e.yml updates
- DockerWorkflowTest: tests for Docker workflow integration and GHCR publishing
- PerformanceIntegrationTest: tests for CI performance improvements (≤10 min target)
- Added ci module to build.sbt

All tests designed to FAIL before implementation to prove TDD methodology.
Covers 9 acceptance criteria from specification:
- New workflow publishes tessellation-base image to GHCR
- E2E time reduced from ~16 min to ≤10 min
- SKIP_ASSEMBLY=true and PUBLISH=false in e2e.yml
- JAR extraction via docker create + docker cp
- Metagraph still built from source
- Public image (no auth required)
- Version tagging and trigger conditions

Related: Trello card 69967833 (Pre-build tessellation/ottochain Docker images)
@ottobot-ai ottobot-ai requested a review from scasplte2 February 25, 2026 02:02
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)
@ottobot-ai

Copy link
Copy Markdown
Collaborator Author

Moving to feature branch feat/ci-base-image on ottobot-ai/ottochain for agent iteration. Will submit rollup PR to upstream when ready.

@ottobot-ai ottobot-ai closed this Feb 26, 2026
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.

1 participant