NAME

run-integration.pl - blank-environment Docker integration runner for a host-built tarball

SYNOPSIS

perl /opt/integration/run-integration.pl

DESCRIPTION

This script expects a host-built Developer-Dashboard tarball to be mounted into the container. It installs that tarball with cpanm, extracts it to a temporary source tree for update-script execution, and then exercises the installed dashboard CLI and web runtime against a fake project.

FUNCTIONS

main, _run_shell, _wait_for_http, _run_browser_dom, _browser_command, _browser_binary, _single_subdir, _decode_json_tail, _reset_dir, _write_text, _read_text, _trim, _shell_quote, _assert, _assert_match

Run and validate the host-built-tarball integration workflow.

PURPOSE

This integration script drives environment overrides and persisted configuration behavior in an environment that is closer to a real install than the unit tests. Read it when you need the exact orchestration steps, external tools, and explicit assertions for that broader check.

WHY IT EXISTS

It exists because environment overrides and persisted configuration behavior cannot be trusted from isolated unit coverage alone. The repository needs one place that shows how the bigger environment is created and what success looks like there.

WHEN TO USE

Use this file when validating environment overrides and persisted configuration behavior, when the blank-environment or browser-smoke docs change, or when a release verification step fails outside the unit-test layer.

HOW TO USE

Run it directly from the repository root in the environment it expects, read the emitted paths and logs on failure, and prefer the documented wrapper path when one exists so the integration environment stays reproducible.

WHAT USES IT

Release verification, integration checklists, and contributors diagnosing environment-specific failures use this file.

EXAMPLES

Example 1:

integration/blank-env/run-host-integration.sh

Use the host-side wrapper when you want the repository-managed Docker launch path instead of entering the container manually.

Example 2:

DASHBOARD_TARBALL_IN_CONTAINER=/artifacts/Developer-Dashboard-2.17.tar.gz perl integration/blank-env/run-integration.pl

Point the integration runner at one concrete tarball path inside the container.

Example 3:

perl integration/blank-env/run-integration.pl

Run this integration helper directly from the repository root.

Example 4:

prove -lv t/13-integration-assets.t

Check the lightweight asset guardrails before launching the heavier integration path.