Files
flights_web/.gitea/workflows/release-verify.yml
T
gnezim 245221bcb0
ci-deploy / build-deploy-test (push) Failing after 4m7s
ci: backport ci-deploy fixes to release + release-verify
Two CI fixes had been applied to ci-deploy.yml but never propagated:

1. release-verify.yml: install Playwright browsers before e2e
   `pnpm install --frozen-lockfile` only fetches the npm package; the
   chromium binary needs `playwright install --with-deps`. Without this
   the e2e step fails on a fresh runner with "browser not found".
   (mirrors ci-deploy commit 6e7e931)

2. release.yml: exclude tests/eslint/** from the paranoid `pnpm test`
   typescript-eslint's project cache doesn't see runtime-generated
   probe files inside the runner container, so those config-drift
   guards pass locally but fail CI-only — same reason ci-deploy uses
   the exclude flag. (mirrors ci-deploy commit 3fccd8e)

Other ci-deploy specifics (pve-201 concurrency, /api pre-warm + tunnel
diagnostics, CI_DEPLOY=1 quarantine env) intentionally stay ci-deploy-
only: release-verify runs the full suite by design, and the other
fixes are tied to ci-deploy's host/build path.
2026-04-27 23:45:18 +03:00

65 lines
2.0 KiB
YAML

name: release-verify
# Workflow C: run after Jenkins has finished building (operator triggers manually).
# Probes the customer URL until it serves a fresh build, then runs the e2e suite
# against http://flights-ui.devwebzavod.ru with the console-error gate.
on:
workflow_dispatch:
jobs:
verify:
runs-on: ubuntu-latest
timeout-minutes: 30
env:
TELEGRAM_BOT_TOKEN: ${{ secrets.TELEGRAM_BOT_TOKEN }}
TELEGRAM_CHAT_ID: ${{ secrets.TELEGRAM_CHAT_ID }}
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Notify start
if: ${{ env.TELEGRAM_BOT_TOKEN != '' }}
run: scripts/ci/notify-telegram.sh start release-verify
- name: Setup Node + pnpm
uses: actions/setup-node@v4
with:
node-version-file: '.nvmrc'
- uses: pnpm/action-setup@v4
- name: Install dependencies
run: pnpm install --frozen-lockfile
- name: Wait for customer URL
id: wait_customer
run: scripts/ci/wait-for-url.sh http://flights-ui.devwebzavod.ru/ru-ru/onlineboard 60 5
- name: Install Playwright browsers
id: playwright_install
run: pnpm exec playwright install --with-deps chromium
- name: Run Playwright e2e against customer URL
id: e2e_customer
env:
BASE_URL: http://flights-ui.devwebzavod.ru
run: pnpm test:e2e
- name: Upload artifacts on failure
if: failure()
uses: actions/upload-artifact@v3
with:
name: release-verify-failure-${{ github.run_id }}
path: |
playwright-report/
retention-days: 7
- name: Notify (success)
if: success() && env.TELEGRAM_BOT_TOKEN != ''
run: scripts/ci/notify-telegram.sh ok release-verify "customer URL e2e green"
- name: Notify (failure)
if: failure() && env.TELEGRAM_BOT_TOKEN != ''
run: scripts/ci/notify-telegram.sh fail release-verify "see Gitea run for Playwright report"