Skip to content

Stepper: general multi-step flow shell as a first-class catalog component #1102

Stepper: general multi-step flow shell as a first-class catalog component

Stepper: general multi-step flow shell as a first-class catalog component #1102

Workflow file for this run

name: CI Test
on:
workflow_dispatch:
push:
branches: [main]
pull_request:
permissions:
checks: write
contents: read
id-token: write
pull-requests: write
jobs:
live-test:
name: Live Tests (realm)
runs-on: ubuntu-latest
concurrency:
group: live-test-${{ github.head_ref || github.run_id }}
cancel-in-progress: true
env:
# The catalog/contents directory is populated by an explicit
# actions/checkout below; opt out of catalog-update.sh's `git pull`
# so it doesn't move HEAD off the PR commit during service startup.
SKIP_CATALOG_UPDATE: '1'
steps:
# Checkout the boxel monorepo
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # 4.2.2
with:
repository: cardstack/boxel
# Checkout this catalog repo directly into the monorepo's catalog location
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # 4.2.2
with:
path: packages/catalog/contents
- uses: ./.github/actions/init
- name: List catalog files
run: find packages/catalog/contents -type f | sort
- name: Build common dependencies
run: pnpm run build-common-deps
- name: Build Host for tests
run: NODE_OPTIONS='--max-old-space-size=8192' pnpm build
working-directory: packages/host
- name: Disable TCP/UDP network offloading
run: sudo ethtool -K eth0 tx off rx off
- name: Install D-Bus helpers
run: |
sudo apt-get update
sudo apt-get install -y dbus-x11 upower
sudo service dbus restart
sudo service upower restart
- name: Start test services (icons + host dist + realm servers)
run: mise run test-services:host | tee -a /tmp/server.log &
- name: Create realm users
run: pnpm register-realm-users
working-directory: packages/matrix
- name: Live test suite
run: dbus-run-session -- pnpm test:live
working-directory: packages/host
env:
DBUS_SYSTEM_BUS_ADDRESS: unix:path=/run/dbus/system_bus_socket
# Pass the realm URL via env — live-test-wait-for-servers.sh /
# testem-live.js read $REALM_URL and ignore positional args.
REALM_URL: https://localhost:4201/catalog/
- name: Upload junit report
uses: actions/upload-artifact@4cec3d8aa04e39d1a68397de0c4cd6fb9dce8ec1 # 4.6.1
if: ${{ !cancelled() }}
with:
name: host-live-test-report
path: junit/host-live.xml
retention-days: 30
- name: Print realm server logs
if: ${{ !cancelled() }}
run: cat /tmp/server.log