Jump to content

Connect SuperML | Leeroopedia MCP: Equip your AI agents with best practices, code verification, and debugging knowledge. Powered by Leeroo — building Organizational Superintelligence. Contact us at founders@leeroo.com.

Implementation:InternLM Lmdeploy Daily Ete Test

From Leeroopedia
Revision as of 15:14, 16 February 2026 by Admin (talk | contribs) (Auto-imported from implementations/InternLM_Lmdeploy_Daily_Ete_Test.md)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)


Knowledge Sources
Domains CI, Testing, GPU
Last Updated 2026-02-07 15:00 GMT

Overview

A GitHub Actions workflow that runs daily end-to-end tests for lmdeploy on A100 GPUs, covering quantization, tool tests, RESTful API tests, pipeline tests, benchmarks, and code coverage collection.

Description

The daily_ete_test.yml workflow is the primary comprehensive CI test suite for lmdeploy. It is triggered on a cron schedule (weekdays at 14:00 UTC) or via manual dispatch. The workflow consists of the following jobs:

  • linux-build: Builds the lmdeploy wheel package on ubuntu-latest using Docker (CUDA 12.8), then uploads it as an artifact.
  • download_pkgs: Downloads build artifacts to the self-hosted A100 runner and prepares the test environment. Supports offline mode.
  • test_quantization: Tests AWQ (W4A16) and W8A8 quantization, running in parallel based on backend selection (turbomind/pytorch).
  • test_tools: A matrix job covering backends (turbomind, pytorch), model types (llm, mllm), and functions (pipeline, restful, chat). Runs pytest suites with varying GPU counts (1, 2, 4, 8 GPUs).
  • test_restful: Tests the RESTful API server with multiple models (InternLM, Qwen3, InternVL3, etc.) using different tensor parallelism settings and log probability modes.
  • test_pipeline: Tests the pipeline interface including long-text functionality across multiple GPU configurations.
  • test_benchmark: Runs benchmark test scripts to validate benchmarking functionality.
  • get_coverage_report: Combines all coverage data from previous jobs and generates a coverage report.

All test jobs run inside the openmmlab/lmdeploy:latest-cu12.8 Docker image on self-hosted A100 runners with GPU access.

Usage

Triggered automatically on weekdays or manually via GitHub Actions with configurable inputs for repository, branch, backend, model type, function filter, offline mode, and regression function selection.

Code Reference

Source Location

Signature

name: daily_ete_test

on:
  workflow_dispatch:
    inputs:
      repo_org: { type: string, default: 'InternLM/lmdeploy' }
      repo_ref: { type: string, default: 'main' }
      backend: { type: string, default: "['turbomind', 'pytorch']" }
      model: { type: string, default: "['llm','mllm']" }
      function: { type: string, default: '["pipeline", "restful", "chat"]' }
      offline_mode: { type: boolean, default: false }
      regression_func: { type: string, default: "['quant', 'tools','restful','pipeline','benchmark','evaluation']" }
  schedule:
    - cron: '00 14 * * 0-4'

jobs:
  linux-build: ...
  download_pkgs: ...
  test_quantization: ...
  test_tools: ...
  test_restful: ...
  test_pipeline: ...
  test_benchmark: ...
  get_coverage_report: ...

I/O Contract

Inputs

Name Type Required Description
repo_org string No Repository organization/name (default: InternLM/lmdeploy)
repo_ref string No Branch, tag, or commit ID (default: main)
backend string Yes JSON list of backends to test: turbomind, pytorch
model string Yes JSON list of model types: llm, mllm
function string Yes JSON list of test functions: pipeline, restful, chat
offline_mode boolean Yes Whether to use pre-prepared offline packages
regression_func string Yes JSON list of regression areas: quant, tools, restful, pipeline, benchmark, evaluation

Outputs

Name Type Description
Build artifacts wheel file lmdeploy wheel package uploaded as GitHub artifact
Test reports Allure reports Test results stored in REPORT_DIR
Coverage report XML/text Combined code coverage report

Usage Examples

# Manual trigger with custom parameters:
# Go to Actions > daily_ete_test > Run workflow
# Set backend: "['turbomind']"
# Set model: "['llm']"
# Set function: '["pipeline"]'
# Set regression_func: "['tools','pipeline']"

Related Pages

Page Connections

Double-click a node to navigate. Hold to expand connections.
Principle
Implementation
Heuristic
Environment