diff --git a/.gitea/workflows/deploy.yml b/.gitea/workflows/deploy.yml index 6e00daa..3167052 100644 --- a/.gitea/workflows/deploy.yml +++ b/.gitea/workflows/deploy.yml @@ -135,6 +135,10 @@ jobs: echo "$api" case "$api" in *'zoomzilla.ru\/api\/images\/public\/create'*) ;; *) echo "на странице нет адреса загрузки Zoomzilla"; exit 1 ;; esac printf '%s' "$page" | grep -q 'claim?key=' || { echo "переход не на claim"; exit 1; } + curl -fsS --max-time 30 "$PRELAND_URL/images/demo/1/source.avif" -o /dev/null || { echo "не опубликован первый набор примеров"; exit 1; } + curl -fsS --max-time 30 "$PRELAND_URL/images/demo-2/1/source.avif" -o /dev/null || { echo "не опубликован второй набор примеров"; exit 1; } + page2=$(curl -fsS --max-time 30 "$PRELAND_URL/?indpic=2&nc=$(date +%s)") + printf '%s' "$page2" | grep -q 'images/demo-2/1/source_mob.avif' || { echo "indpic=2 не использует второй набор примеров"; exit 1; } deploy-zoompixel-production: name: deploy ${{ matrix.name }} diff --git a/tests/check-demo-layout.php b/tests/check-demo-layout.php index 5e2d6a9..d3c8fb6 100644 --- a/tests/check-demo-layout.php +++ b/tests/check-demo-layout.php @@ -42,6 +42,17 @@ if (!str_contains($template, $pathBuilder) $failures[] = 'Template и examples должны строить путь из Index-совместимого имени demo/demo-N.'; } +$workflow = (string) file_get_contents($root . '/.gitea/workflows/deploy.yml'); +foreach ([ + '"$PRELAND_URL/images/demo/1/source.avif"', + '"$PRELAND_URL/images/demo-2/1/source.avif"', + '"$PRELAND_URL/?indpic=2&nc=$(date +%s)"', +] as $requiredStageSmokeCheck) { + if (!str_contains($workflow, $requiredStageSmokeCheck)) { + $failures[] = "Stage-деплой обязан проверять публикацию {$requiredStageSmokeCheck}."; + } +} + if ($failures !== []) { fwrite(STDERR, "FAILED\n- " . implode("\n- ", $failures) . "\n"); exit(1);