Skip to content

Validate SDK development and ship creator release assets - #4030

Closed
TomCC7 wants to merge 2 commits into
fix/installer-verificationfrom
test/installer-acceptance
Closed

Validate SDK development and ship creator release assets#4030
TomCC7 wants to merge 2 commits into
fix/installer-verificationfrom
test/installer-acceptance

Conversation

@TomCC7

@TomCC7 TomCC7 commented Sep 9, 2026

Copy link
Copy Markdown
Member

Superseded by the replacement Python dimup stack: #4042#4043#4044#4045#4046#4047. See the onboarding PRD for the current review map.


Adds end-to-end acceptance for SDK development and a versioned curl bootstrap for the one-shot workspace creator. CI builds native creator binaries on Ubuntu 22.04 x86_64/ARM64. Existing DimOS releases receive the binaries, bootstrap, and checksums; Python publishing explicitly downloads only Python artifacts. No release is published by this change.

Acceptance covers both profiles on Ubuntu 22.04/24.04: contributor setup, SDK creation from the checkout's wheel, editable hello execution/tests, source edits, adding a dependency, restoration, and a fresh clone. The hello test uses isolated transport/config/state. Shell tests cover Bash/Zsh activation and direnv load/unload; bootstrap tests cover architecture, checksums, argument forwarding, and cleanup.

Removes the old Bash installer and documents the workspace-first flow. The setup diagram is a small Mermaid generator rather than a browser application.

Local validation: full manipulation acceptance passed; 8 current Rust tests and standalone Clippy passed; 11 lightweight Python/shell/bootstrap tests passed (direnv unavailable locally, exercised in CI); Ruff, focused Mypy, lockfile validation, and native release packaging passed. The repository-wide Clippy hook still traverses an unrelated DimSLAM flake issue; standalone installer Clippy is used.

The workspace-creator CI run for 55ee524a36 passed: all four Ubuntu/profile acceptance jobs, native x86_64/ARM64 release builds, Rust checks, and all 12 lightweight tests including direnv load/unload. The minimal test job explicitly avoids runtime conftest imports and uses importlib collection.

Pending: dedicated AGX Orin/JetPack 6.2 runner provisioning/results and team verification of robot workflows. Separately, the base PR's repository-wide CI hit test_create_or_attach_splits_owner_and_reader; its automatic retry passed but the original job remained red. This is outside the installer paths. Public curl promotion stays withdrawn until acceptance; existing releases do not contain the new assets automatically.

@TomCC7
TomCC7 added this pull request to stack #4031 September 9, 2026 19:59
@TomCC7 TomCC7 changed the title test(installer): add platform acceptance and consolidate installation docs Add installer acceptance CI and consolidate installation docs Sep 9, 2026
@codecov

codecov Bot commented Sep 9, 2026

Copy link
Copy Markdown

❌ 1 Tests Failed:

Tests completed Failed Passed Skipped
5002 1 5001 184
View the top 1 failed test(s) by shortest run time
dimos.codebase_checks.test_docs_branding::test_docs_use_current_branding
Stack Traces | 0.014s run time
def test_docs_use_current_branding() -> None:
        """Fail if any file under docs/ spells the brand "DimOS" instead of "dimOS"."""
        hits = find_old_branding()
        if hits:
            listing = "\n".join(
                f"  - {p.relative_to(DIMOS_PROJECT_ROOT)}:{lineno}: {line.strip()}"
                for p, lineno, line in hits
            )
>           raise AssertionError(f'Found "DimOS" in docs/:\n{listing}\n\nThe brand is spelled "dimOS".')
E           AssertionError: Found "DimOS" in docs/:
E             - docs/adr/0001-installer-ownership.md:3: DimOS uses a one-shot workspace creator derived selectively from DIOS installation logic, rather than a second public management CLI. It scaffolds an editable SDK package or prepares a contributor checkout, while the existing dimos CLI owns runtime commands and read-only workspace diagnostics. uv owns Python and its lockfile, Pixi owns userspace dependencies, and Nix remains the custom native build environment; one activation script supports explicit sourcing and optional direnv. Developers own generated source and manifests, restoration preserves their edits, and initializer artifacts ship with DimOS releases. Host configuration remains a host responsibility; CI verifies installation and the small starter, while team members verify robot workflows.
E             - docs/installation/installer.md:1: # Create a DimOS development workspace
E             - docs/installation/installer.md:83: To work on DimOS itself rather than an SDK application:
E             - docs/installation/installer.md:89: An empty contributor directory is cloned from DimOS (`--branch` selects the
E             - docs/installation/installer.md:124: `.venv/bin/dimos doctor`. If Python or DimOS itself is missing, use the initializer
E             - docs/installation/installer.md:133: attaches them, checksums, and `create-dimos.sh` to the matching DimOS release. The
E             - docs/quickstart.md:7: ## Install DimOS
E           
E           The brand is spelled "dimOS".

hits       = [(PosixPath('.../docs/adr/0001-installer-ownership.md'), 3, 'DimOS uses a one-shot workspace...lation/installer.md'), 133, 'attaches them, checksums, and `create-dimos.sh` to the matching DimOS release. The'), ...]
listing    = '  - docs/adr/0001-installer-ownership.md:3: DimOS uses a one-shot workspace creator derived selectively from DIOS ins... them, checksums, and `create-dimos.sh` to the matching DimOS release. The\n  - docs/quickstart.md:7: ## Install DimOS'

dimos/codebase_checks/test_docs_branding.py:43: AssertionError

To view more test analytics, go to the Test Analytics Dashboard
📋 Got 3 mins? Take this short survey to help us improve Test Analytics.

@TomCC7
TomCC7 force-pushed the test/installer-acceptance branch from 6ad059f to 78e9b88 Compare September 9, 2026 23:59
@TomCC7 TomCC7 changed the title Add installer acceptance CI and consolidate installation docs Validate SDK development and ship creator release assets Sep 9, 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