Skip to content

Uniform Makefile-driven test selection: 'make test TEST_TYPE=<level>' + integration-tests.yaml #316

Description

@ashokponkumar

Goal

Make integration-test selection configurable and uniform across the product repos via a standard Makefile interface:

make test TEST_TYPE=<smoke|core|full|...>

TEST_TYPE (a flag/variable) controls which tests run. The implementation is repo-independent — this repo maps TEST_TYPE to its own underlying selection (a -k/-m expression, a model-key list, a marker set, etc.) behind the same make test interface. Every CI caller and local developer then selects scope identically across torch-spyre / hf-adapters / spyre-inference.

Why

Today this repo's test scope is hard-coded in the workflow (a fixed matrix), so callers can't independently pick a subset. Standardizing on make test TEST_TYPE=... (a) gives one knob for scope, (b) makes the Makefile uniform across the product repos, and (c) decouples what to run (the variable) from how it's run (repo-internal).

Proposal

  1. Makefile: add/extend a test target that takes TEST_TYPE (default full, back-compatible) and maps each level to this repo's selection mechanism internally. Keep the target name and TEST_TYPE vocabulary consistent with the other product repos.
  2. Workflow: add an .github/workflows/integration-tests.yaml that exposes TEST_TYPE as a workflow_dispatch input and runs make test TEST_TYPE=${{ inputs.test_type }} instead of an inline hard-coded matrix. (A stub of this workflow is being added separately so the integration pipeline can start driving it; this issue tracks making it real + the Makefile.)
  3. Define the level vocabulary (smoke, core, full, …) consistently with torch-spyre.

Back-compat

TEST_TYPE defaults to full (current behavior). No change to test code required.

Scope

Makefile test target + TEST_TYPE plumbing + a real integration-tests.yaml consuming it. Companion issues: torch-spyre (label/tag-driven selection) and the other product repo.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions