Stepper: general multi-step flow shell as a first-class catalog component #1102
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| 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 |