feat: единая админка runtime-конфигов и indpic (#22)
deploy-preland / deploy zoomstage.online (push) Successful in 1m1s
deploy-preland / deploy zoomstage.online (push) Successful in 1m1s
This commit is contained in:
1 parent
5b6b2d2053
commit
9515c1c62b
52 files changed
+2459
-34
No files matched your search
@@ -20,7 +20,7 @@ jobs:
|
||||
REMOTE_DIR: domains/zoomstage.online
|
||||
steps:
|
||||
- name: Install tools
|
||||
run: apt-get update && DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends ca-certificates git curl openssh-client sshpass php-cli
|
||||
run: apt-get update && DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends ca-certificates git curl openssh-client sshpass php-cli php-imagick
|
||||
|
||||
- name: Checkout staging branch
|
||||
env:
|
||||
@@ -38,8 +38,8 @@ jobs:
|
||||
php bin/release-assets.php --check
|
||||
for test in tests/check-*.php; do php "$test"; done
|
||||
php bin/release-assets.php --primary
|
||||
# /N/ по-прежнему принадлежит stage. Любое расхождение требует
|
||||
# сначала перенести актуальный снимок в Git по задаче.
|
||||
# preland#22: /N/ — runtime. Проверяем config и декодируем все 90
|
||||
# обязательных изображений используемых наборов, не сверяем с Git SHA.
|
||||
php bin/release-assets.php --stage-sets "$PRELAND_URL"
|
||||
|
||||
- name: Apply approved domain brand only if needed
|
||||
@@ -85,9 +85,8 @@ jobs:
|
||||
trap 'rm -f "$known_hosts" "$batch" "$files" "$dirs"' EXIT
|
||||
printf '%s\n' "$SFTP_KNOWN_HOSTS" > "$known_hosts"
|
||||
# Наборы `/N/` на stage — редактируемый контент. Кодовая доставка их
|
||||
# намеренно не перезаписывает: актуальное содержимое stage фиксируют в Git
|
||||
# отдельной синхронизацией по задаче.
|
||||
# Положительный список: tests/bin/планы не публикуются.
|
||||
# намеренно не перезаписывает. Обновление набора через админку не требует Git.
|
||||
# Положительный список: admin/tests/bin/планы/секреты не публикуются.
|
||||
php bin/release-assets.php --files | grep -vE '^(config\.json$|[0-9]+/)' > "$files"
|
||||
if grep -q '[^A-Za-z0-9._/-]' "$files"; then echo "имена с недопустимыми символами:"; grep '[^A-Za-z0-9._/-]' "$files"; exit 1; fi
|
||||
printf '%s\n' "-mkdir $REMOTE_DIR" > "$batch"
|
||||
@@ -141,10 +140,8 @@ 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/1/01_desk_1-source.avif" -o /dev/null || { echo "не опубликован первый набор примеров"; exit 1; }
|
||||
curl -fsS --max-time 30 "$PRELAND_URL/2/01_desk_1-source.avif" -o /dev/null || { echo "не опубликован второй набор примеров"; exit 1; }
|
||||
page2=$(curl -fsS --max-time 30 "$PRELAND_URL/?indpic=abcd2efghi&nc=$(date +%s)")
|
||||
printf '%s' "$page2" | grep -q '2/01_mob_1-source.avif' || { echo "indpic=2 не использует второй набор примеров"; exit 1; }
|
||||
# Список наборов берётся из runtime config, а не фиксируется как /1/ и /2/.
|
||||
# Полная проверка изображений ниже; одиночный HTTP200 недостаточен.
|
||||
php bin/release-assets.php --remote "$PRELAND_URL"
|
||||
php bin/release-brand.php --status "$PRELAND_URL"
|
||||
|
||||
|
||||
Reference in new issue
Block a user