Skip to content

realm: Remove error reporting on indexing (#1160) #6379

realm: Remove error reporting on indexing (#1160)

realm: Remove error reporting on indexing (#1160) #6379

Workflow file for this run

name: CI
on:
push:
branches: [main]
pull_request:
permissions:
checks: write
contents: read
id-token: write
pull-requests: write
jobs:
lint:
name: Lint
runs-on: ubuntu-latest
concurrency:
group: lint-${{ github.head_ref || github.run_id }}
cancel-in-progress: true
steps:
- uses: actions/checkout@v3
- uses: ./.github/actions/init
- name: Lint AI Bot
if: always()
run: pnpm run lint
working-directory: packages/ai-bot
- name: Lint Boxel Motion
# This addition to each step causes the job to proceed even if one lint job fails so we can see all errors
if: always()
run: pnpm run lint
working-directory: packages/boxel-motion/addon
- name: Build Boxel Motion
# To faciliate linting of projects that depend on Boxel Motion
if: always()
run: pnpm run build
working-directory: packages/boxel-motion/addon
- name: Lint Boxel Motion Test App
if: always()
run: pnpm run lint
working-directory: packages/boxel-motion/test-app
- name: Lint Boxel UI
if: always()
run: pnpm run lint
working-directory: packages/boxel-ui/addon
- name: Build Boxel UI
# To faciliate linting of projects that depend on Boxel UI
if: always()
run: pnpm run build
working-directory: packages/boxel-ui/addon
- name: Lint Boxel UI Test App
if: always()
run: pnpm run lint
working-directory: packages/boxel-ui/test-app
- name: Lint Boxel Motion
if: always()
run: pnpm run lint
working-directory: packages/boxel-motion/addon
- name: Build Boxel Motion
# To faciliate linting of projects that depend on Boxel Motion
if: always()
run: pnpm run build
working-directory: packages/boxel-motion/addon
- name: Lint Boxel Motion Test App
if: always()
run: pnpm run lint
working-directory: packages/boxel-motion/test-app
- name: Lint Host
if: always()
run: pnpm run lint
working-directory: packages/host
- name: Lint Matrix
if: always()
run: pnpm run lint
working-directory: packages/matrix
- name: Lint Realm Server
if: always()
run: pnpm run lint
working-directory: packages/realm-server
- name: Lint Runtime Common
if: always()
run: pnpm run lint
working-directory: packages/runtime-common
ai-bot-test:
name: AI bot Tests
runs-on: ubuntu-latest
concurrency:
group: ai-bot-test-${{ github.head_ref || github.run_id }}
cancel-in-progress: true
steps:
- uses: actions/checkout@v3
- uses: ./.github/actions/init
- name: AI Bot test suite
run: pnpm test
working-directory: packages/ai-bot
boxel-motion-test:
name: Boxel Motion Tests
runs-on: ubuntu-latest
concurrency:
group: boxel-motion-test-${{ github.head_ref || github.run_id }}
cancel-in-progress: true
steps:
- uses: actions/checkout@v3
- uses: ./.github/actions/init
- name: Build boxel-motion
run: pnpm build
working-directory: packages/boxel-motion/addon
- name: Run test suite
run: pnpm test
working-directory: packages/boxel-motion/test-app
boxel-ui-test:
name: Boxel UI Tests
runs-on: ubuntu-latest
concurrency:
group: boxel-ui-test-${{ github.head_ref || github.run_id }}
cancel-in-progress: true
steps:
- uses: actions/checkout@v3
- uses: ./.github/actions/init
- name: Build boxel-ui
run: pnpm build
working-directory: packages/boxel-ui/addon
- name: Run test suite
run: pnpm test
working-directory: packages/boxel-ui/test-app
boxel-ui-raw-icon-changes-only:
name: Boxel UI ensure raw icon changes only
runs-on: ubuntu-latest
concurrency:
group: boxel-ui-raw-icon-changes-only-${{ github.head_ref || github.run_id }}
cancel-in-progress: true
steps:
- uses: actions/checkout@v3
- uses: ./.github/actions/init
- name: Rebuild boxel-ui icons
run: pnpm rebuild:icons
working-directory: packages/boxel-ui/addon
- name: Fail if generated icons have been changed without underlying raw icon changing
run: git diff --exit-code
host-test:
name: Host Tests
runs-on: ubuntu-latest
concurrency:
group: boxel-host-test-${{ github.head_ref || github.run_id }}
cancel-in-progress: true
steps:
- uses: actions/checkout@v3
- uses: ./.github/actions/init
- name: Build boxel-ui
run: pnpm build
working-directory: packages/boxel-ui/addon
- name: Build host dist/ for fastboot
run: pnpm build
env:
NODE_OPTIONS: --max_old_space_size=4096
working-directory: packages/host
- name: Start realm servers
run: pnpm start:all &
working-directory: packages/realm-server
- name: create realm users
run: pnpm register-realm-users
working-directory: packages/matrix
- name: host test suite
run: pnpm test-with-percy
env:
PERCY_TOKEN: ${{ secrets.PERCY_TOKEN_HOST }}
working-directory: packages/host
- name: Publish test results
uses: EnricoMi/[email protected]
if: always()
with:
junit_files: junit/host.xml
matrix-client-test-1:
name: Matrix Client Tests - Group 1
runs-on: ubuntu-latest
concurrency:
group: matrix-client-test-1-${{ github.head_ref || github.run_id }}
cancel-in-progress: true
steps:
- uses: actions/checkout@v3
- uses: ./.github/actions/init
- name: Install Playwright Browsers
run: pnpm exec playwright install --with-deps
working-directory: packages/matrix
- name: Build boxel-ui
run: pnpm build
working-directory: packages/boxel-ui/addon
- name: Build boxel-motion
run: pnpm build
working-directory: packages/boxel-motion/addon
- name: Build host dist/ for fastboot
run: pnpm build
env:
NODE_OPTIONS: --max_old_space_size=4096
working-directory: packages/host
- name: Start realm servers
run: pnpm start:without-matrix &
working-directory: packages/realm-server
- name: Run Playwright tests
run: pnpm test:group group1
working-directory: packages/matrix
- uses: actions/upload-artifact@v3
if: always()
with:
name: playwright-report
path: packages/matrix/playwright-report/
retention-days: 30
matrix-client-test-2:
name: Matrix Client Tests - Group 2
runs-on: ubuntu-latest
concurrency:
group: matrix-client-test-2-${{ github.head_ref || github.run_id }}
cancel-in-progress: true
steps:
- uses: actions/checkout@v3
- uses: ./.github/actions/init
- name: Install Playwright Browsers
run: pnpm exec playwright install --with-deps
working-directory: packages/matrix
- name: Build boxel-ui
run: pnpm build
working-directory: packages/boxel-ui/addon
- name: Build boxel-motion
run: pnpm build
working-directory: packages/boxel-motion/addon
- name: Build host dist/ for fastboot
run: pnpm build
env:
NODE_OPTIONS: --max_old_space_size=4096
working-directory: packages/host
- name: Start realm servers
run: pnpm start:without-matrix &
working-directory: packages/realm-server
- name: Run Playwright tests
run: pnpm test:group group2
working-directory: packages/matrix
- uses: actions/upload-artifact@v3
if: always()
with:
name: playwright-report
path: packages/matrix/playwright-report/
retention-days: 30
realm-server-test:
name: Realm Server Tests
runs-on: ubuntu-latest
concurrency:
group: realm-server-test-${{ github.head_ref || github.run_id }}
cancel-in-progress: true
steps:
- uses: actions/checkout@v3
- uses: ./.github/actions/init
- name: Build boxel-ui
run: pnpm build
working-directory: packages/boxel-ui/addon
- name: Build host dist/ for fastboot
run: pnpm build
env:
NODE_OPTIONS: --max_old_space_size=4096
working-directory: packages/host
- name: Start realm servers
run: pnpm start:all &
working-directory: packages/realm-server
- name: create realm users
run: pnpm register-realm-users
working-directory: packages/matrix
- name: realm server test suite
run: pnpm test:wait-for-servers
working-directory: packages/realm-server
- name: realm server DOM tests
run: pnpm test:dom
working-directory: packages/realm-server
change-check:
name: Check which packages changed
if: github.ref == 'refs/heads/main'
runs-on: ubuntu-latest
outputs:
boxel: ${{ steps.filter.outputs.boxel }}
ai-bot: ${{ steps.filter.outputs.ai-bot }}
steps:
- uses: actions/checkout@v3
- uses: dorny/paths-filter@v2
id: filter
with:
filters: |
boxel:
- '.github/workflows/build-host.yml'
- '.github/workflows/deploy-host.yml'
- '.github/workflows/manual-deploy.yml'
- '.github/workflows/ci.yaml'
- 'packages/base/**'
- 'packages/boxel-ui/**'
- 'packages/host/**'
- 'packages/realm-server/**'
- 'packages/runtime-common/**'
- 'pnpm-lock.yaml'
ai-bot:
- '.github/workflows/manual-ai-bot.yml'
- '.github/workflows/ci.yaml'
- 'packages/runtime-common/**'
- 'packages/ai-bot/**'
- 'pnpm-lock.yaml'
deploy:
name: Deploy boxel to staging
if: ${{ needs.change-check.outputs.boxel == 'true' }}
needs:
- change-check
- boxel-ui-test
- host-test
- realm-server-test
uses: ./.github/workflows/manual-deploy.yml
secrets: inherit
with:
environment: "staging"
deploy-ai-bot:
needs:
- ai-bot-test
- change-check
if: ${{ needs.change-check.outputs.ai-bot == 'true' }}
uses: ./.github/workflows/manual-ai-bot.yml
secrets: inherit
with:
environment: "staging"