Skip to content

Add emulator artifact bundles and CI fixtures for pass/fail/crash classification #26

Closed

Description

@zackees

Goal

Make build outputs and tests emulator-aware so runners have a stable artifact bundle and CI can classify pass/fail/crash behavior reliably.

Why

Different emulators require different artifact shapes. Today the build side is close, but not explicit enough for a generic runner layer. We also need deterministic fixtures for crash/pass/timeout behavior before emulator support can be trusted in CI.

Scope

  • extend build results to expose emulator-ready artifact bundles, not just one firmware path
  • standardize artifact naming for ELF, HEX, BIN, bootloader, partitions, and merged images
  • add deterministic pass, fail, timeout, and crash fixtures
  • add golden tests for result classification
  • ensure supported emulator targets assert the presence of required artifact bundles

Acceptance criteria

  • emulator-capable boards expose a machine-readable artifact bundle
  • fixtures exist for pass/fail/timeout/crash classification
  • CI-safe tests validate classification behavior without hardware
  • runner implementations can consume the artifact bundle without board-specific scraping logic

Likely files

  • build result/model types
  • board-family orchestrators
  • emulator test fixtures
  • classification tests

Parent: #21

Activity

  1. added
    enhancementNew feature or request
    area: emulationEmulator, simulator, and post-build test runner work
    priority: p1Important follow-up after p0 foundations
    on Apr 10, 2026
  2. zackees commented on Apr 10, 2026

    @zackees
    MemberAuthor

    Priority note: this is P1 and should begin once #23 has settled the runner/result contract enough to avoid churn.

    Dependencies and downstream consumers:

  3. zackees commented on Apr 11, 2026

    @zackees
    MemberAuthor

    Completed in PR #28. EmulatorArtifactBundle type with from_build_dir/from_paths, runner-specific validation, and classification golden tests.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    area: emulationEmulator, simulator, and post-build test runner workenhancementNew feature or requestpriority: p1Important follow-up after p0 foundations

    Type

    No type

    Projects

    No projects

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions