feat(ci): последовательный deploy IFT -> E2E -> stage -> E2E (core).
CI / test (push) Successful in 14m42s
CI / test (push) Successful in 14m42s
Stage после API CT remote на IFT; после stage — smoke-core + полный CT на stage. Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
@@ -1,9 +1,9 @@
|
||||
name: Deploy stage (core)
|
||||
|
||||
# Auto после успешного CI на master: тот же sha-*, плюс floating :stage.
|
||||
# Auto после успешного E2E IFT на master: promote sha-* → :stage и SSH deploy.
|
||||
on:
|
||||
workflow_run:
|
||||
workflows: [CI]
|
||||
workflows: ["E2E IFT (core)"]
|
||||
types: [completed]
|
||||
branches: [master, main]
|
||||
workflow_dispatch:
|
||||
|
||||
@@ -0,0 +1,53 @@
|
||||
name: E2E IFT (core)
|
||||
|
||||
# После успешного Deploy IFT — smoke-core на стенде + полный API CT (remote) против живого IFT.
|
||||
# Учётки — из /opt/eventhub-ift/.env по SSH (ADMIN_*).
|
||||
on:
|
||||
workflow_run:
|
||||
workflows: ["Deploy IFT (core)"]
|
||||
types: [completed]
|
||||
workflow_dispatch:
|
||||
|
||||
concurrency:
|
||||
group: eventhub-back-e2e-ift
|
||||
cancel-in-progress: false
|
||||
|
||||
env:
|
||||
BUILDKIT_PROGRESS: quiet
|
||||
DOCKER_BUILDKIT: 1
|
||||
|
||||
jobs:
|
||||
ift-e2e:
|
||||
if: |
|
||||
github.event_name == 'workflow_dispatch' ||
|
||||
(github.event_name == 'workflow_run' && github.event.workflow_run.conclusion == 'success')
|
||||
runs-on: ubuntu-latest
|
||||
timeout-minutes: 90
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
with:
|
||||
ref: ${{ github.event_name == 'workflow_run' && github.event.workflow_run.head_sha || github.sha }}
|
||||
|
||||
- name: Wait for Docker daemon
|
||||
run: bash scripts/ensure-docker-daemon.sh 240
|
||||
|
||||
- name: Set up Docker Buildx
|
||||
uses: docker/setup-buildx-action@v3
|
||||
|
||||
- name: Load API test credentials from IFT .env
|
||||
env:
|
||||
SSH_HOST: ${{ secrets.IFT_SSH_HOST }}
|
||||
SSH_USER: ${{ secrets.IFT_SSH_USER }}
|
||||
SSH_KEY: ${{ secrets.IFT_SSH_PRIVATE_KEY }}
|
||||
run: bash scripts/load-stand-api-env.sh ift
|
||||
|
||||
- name: E2E IFT (full API suite)
|
||||
env:
|
||||
SSH_HOST: ${{ secrets.IFT_SSH_HOST }}
|
||||
SSH_USER: ${{ secrets.IFT_SSH_USER }}
|
||||
SSH_KEY: ${{ secrets.IFT_SSH_PRIVATE_KEY }}
|
||||
API_HOST: ${{ secrets.E2E_IFT_API_HOST }}
|
||||
ADMIN_API_HOST: ${{ secrets.E2E_IFT_ADMIN_API_HOST }}
|
||||
WS_HOST: ${{ secrets.E2E_IFT_WS_HOST }}
|
||||
ADMIN_WS_HOST: ${{ secrets.E2E_IFT_ADMIN_WS_HOST }}
|
||||
run: bash scripts/run-stand-api-tests.sh ift
|
||||
@@ -0,0 +1,53 @@
|
||||
name: E2E stage (core)
|
||||
|
||||
# После успешного Deploy stage — smoke-core на стенде + полный API CT (remote) против живого stage.
|
||||
# Учётки — из /opt/eventhub-stage/.env по SSH (ADMIN_*).
|
||||
on:
|
||||
workflow_run:
|
||||
workflows: ["Deploy stage (core)"]
|
||||
types: [completed]
|
||||
workflow_dispatch:
|
||||
|
||||
concurrency:
|
||||
group: eventhub-back-e2e-stage
|
||||
cancel-in-progress: false
|
||||
|
||||
env:
|
||||
BUILDKIT_PROGRESS: quiet
|
||||
DOCKER_BUILDKIT: 1
|
||||
|
||||
jobs:
|
||||
stage-e2e:
|
||||
if: |
|
||||
github.event_name == 'workflow_dispatch' ||
|
||||
(github.event_name == 'workflow_run' && github.event.workflow_run.conclusion == 'success')
|
||||
runs-on: ubuntu-latest
|
||||
timeout-minutes: 90
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
with:
|
||||
ref: ${{ github.event_name == 'workflow_run' && github.event.workflow_run.head_sha || github.sha }}
|
||||
|
||||
- name: Wait for Docker daemon
|
||||
run: bash scripts/ensure-docker-daemon.sh 240
|
||||
|
||||
- name: Set up Docker Buildx
|
||||
uses: docker/setup-buildx-action@v3
|
||||
|
||||
- name: Load API test credentials from stage .env
|
||||
env:
|
||||
SSH_HOST: ${{ secrets.STAGE_SSH_HOST }}
|
||||
SSH_USER: ${{ secrets.STAGE_SSH_USER }}
|
||||
SSH_KEY: ${{ secrets.STAGE_SSH_PRIVATE_KEY }}
|
||||
run: bash scripts/load-stand-api-env.sh stage
|
||||
|
||||
- name: E2E stage (full API suite)
|
||||
env:
|
||||
SSH_HOST: ${{ secrets.STAGE_SSH_HOST }}
|
||||
SSH_USER: ${{ secrets.STAGE_SSH_USER }}
|
||||
SSH_KEY: ${{ secrets.STAGE_SSH_PRIVATE_KEY }}
|
||||
API_HOST: ${{ secrets.E2E_STAGE_API_HOST }}
|
||||
ADMIN_API_HOST: ${{ secrets.E2E_STAGE_ADMIN_API_HOST }}
|
||||
WS_HOST: ${{ secrets.E2E_STAGE_WS_HOST }}
|
||||
ADMIN_WS_HOST: ${{ secrets.E2E_STAGE_ADMIN_WS_HOST }}
|
||||
run: bash scripts/run-stand-api-tests.sh stage
|
||||
Reference in New Issue
Block a user