Skip to content

feat: add suite_status filter for cloud drift tests (#210) #386

feat: add suite_status filter for cloud drift tests (#210)

feat: add suite_status filter for cloud drift tests (#210) #386

Workflow file for this run

name: E2E Tests (Node.js)
on:
push:
branches: [main]
pull_request:
branches: [main]
permissions:
contents: read
jobs:
e2e:
strategy:
matrix:
os: [ubuntu-latest, macos-latest] # fence (sandbox) supported platforms
runs-on: ${{ matrix.os }}
steps:
- name: Checkout CLI
uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4
- name: Set up Go
uses: actions/setup-go@40f1582b2485089dde7abd97c1529aa768e1baff # v5
with:
go-version-file: go.mod
- name: Build CLI
run: make build
- name: Put local CLI on PATH
run: echo "$GITHUB_WORKSPACE" >> "$GITHUB_PATH"
- name: Run CI bootstrap example
# Reuse the docs bootstrap path while keeping the locally built CLI from
# this PR on PATH so the E2E job still validates the current branch.
run: bash "$GITHUB_WORKSPACE/docs/drift/cloud/ci-bootstrap-example.sh"
- name: Set up Node.js
uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020 # v4
with:
node-version: 22.18.0
- name: Clone drift-node-demo
run: git clone https://github.com/Use-Tusk/drift-node-demo.git ../drift-node-demo
- name: Install demo dependencies
working-directory: ../drift-node-demo
run: npm ci
- name: Run Node.js E2E tests Non-Interactive
working-directory: ../drift-node-demo
run: |
tusk drift run --print
# Exits non-zero if any test has deviations
# CI environments don't have a TTY, so the CLI falls back to headless mode by default.
# TUSK_TUI_CI_MODE=1 forces TUI mode, skips size warning, and auto-exits on completion.
- name: Run Node.js E2E tests Interactive
timeout-minutes: 2
working-directory: ../drift-node-demo
env:
TUSK_TUI_CI_MODE: "1"
run: tusk drift run