Skip to content

[EPIC] Create Dependency Installation Package for E2E Tests #113

@josecelano

Description

@josecelano

Parent Epic: #112 - Refactor and Improve E2E Test Execution

Overview

Convert the bash setup scripts into a Rust package that detects and installs required dependencies. This package provides both a library and CLI binary, making dependency management accessible to AI agents and humans. The work is split into 4 manageable sub-issues (phases).

Sub-Issues

This issue is split into 4 phases:

  1. Create Detection Logic Package #114 - Create Detection Logic Package (Phase 1, 2-3 hours)
  2. Create CLI Binary with Check Command #115 - Create CLI Binary with Check Command (Phase 2, 2-3 hours)
  3. Create Docker Test Infrastructure #116 - Create Docker Test Infrastructure (Phase 3, 2-3 hours)
  4. Implement Installation Logic #117 - Implement Installation Logic (Phase 4, 4-5 hours)

Total Time: 10-14 hours

Goals

  • Convert bash scripts to Rust package packages/dependency-installer/
  • Create reusable library for detection and installation
  • Provide CLI binary for manual dependency management
  • Make dependency management accessible to AI agents

Key Components

Required Dependencies:

  • cargo-machete (unused dependency detection)
  • OpenTofu (infrastructure provisioning)
  • Ansible (configuration management)
  • LXD (VM-based testing)

Package Structure:

  • Library: Detection and installation logic
  • Binary: CLI commands (check, install, list)
  • Tests: Comprehensive unit and Docker-based tests

Acceptance Criteria

  • Pre-commit checks pass
  • All 4 sub-issues completed successfully
  • Package follows packages/linting/ pattern
  • CLI binary is functional and tested
  • Documentation is complete

Time Estimate

10-14 hours (split into 4 sub-issues of 2-5 hours each)

Specification

See detailed specification: docs/issues/113-1-1-create-dependency-installation-package-for-e2e-tests.md

Sub-issues

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions