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.