Skip to content

Testing: Enable deploy-smoke.sh 003-MiniWebApp slice (#676 step 6) #745

@PurHur

Description

@PurHur

Problem

#718 ✅ added script/deploy-smoke.sh / make deploy-smoke for 001-SimpleWeb and 002-StaticWeb. The 003 block is still a hard skip citing #568:

smoke_003_miniwebapp() {
  echo "deploy-smoke: 003-MiniWebApp: skip (AOT link blocked #568; PHPUnit dist E2E #612)" >&2
  return 0
}

#568 ✅ closed — native link works. #612 tracks PHPUnit dist E2E; operators still lack a shell gate that phpc deploy examples/003-MiniWebAppPHPC_DEPLOY_ROOT → binary stdout needles.

Goal

Implement smoke_003_miniwebapp() mirroring 001/002:

  1. phpc build --project examples/003-MiniWebApp
  2. phpc deploy -o $tmpdir/dist (or documented dist path)
  3. PHPC_DEPLOY_ROOT=$tmpdir/dist + CGI env (PATH_INFO=/home or QUERY_STRING=route=home)
  4. Assert stdout contains MiniWebApp / layout partial

Opt-out: DEPLOY_SMOKE_ONLY=003 env (parallel to EXAMPLES_AOT_SMOKE_ONLY=003 in #683).

Scope

  • Replace skip stub in script/deploy-smoke.sh
  • Wire script/miniwebapp-gates.sh stage 4d from mark 0 → ✅ when green
  • Update test/unit/DeploySmokeScriptTest.php — no longer assert stderr contains #568 skip
  • Document in examples/003-MiniWebApp/README.md deploy section
  • Do not enable in ci-local.sh until Testing: DEPLOY_SMOKE_GATE default in ci-local.sh (001/002 deploy bundle) #737 001/002 gate stable; optional DEPLOY_SMOKE_003_GATE=1 follow-up

Implementation hints

Piece File Notes
Smoke script/deploy-smoke.sh Copy smoke_001_simpleweb env helpers
Deploy lib/Web/ProjectDeploy.php Assert templates/, assets/, cgi-wrapper present
Includes #623 Runtime phpc_deploy_path() for templates
PHPUnit #612 Share env needles; shell gate lands first
CGI #682 Optional second path via cgi-wrapper in dist

Harness

make deploy-smoke                    # 001+002 today; 003 after this issue
DEPLOY_SMOKE_ONLY=003 make deploy-smoke
docker run --rm -v "$(pwd):/compiler" -w /compiler php-compiler:22.04-dev make deploy-smoke

Acceptance criteria

Dependencies

Verification

Local/Docker only — not GitHub Actions.

Links

Metadata

Metadata

Assignees

No one assigned

    Labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions