Main branch for CRM use-case #28
This file contains 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 Host | |
on: | |
push: | |
branches: [main] | |
pull_request: | |
permissions: | |
checks: write | |
contents: read | |
id-token: write | |
pull-requests: write | |
jobs: | |
host-test: | |
name: Host Tests | |
runs-on: ubuntu-latest | |
strategy: | |
fail-fast: false | |
matrix: | |
shardIndex: [1, 2, 3, 4, 5, 6] | |
shardTotal: [6] | |
concurrency: | |
group: boxel-host-test${{ github.head_ref || github.run_id }}-shard${{ matrix.shardIndex }} | |
cancel-in-progress: true | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: ./.github/actions/init | |
- name: Build boxel-ui | |
run: pnpm build | |
working-directory: packages/boxel-ui/addon | |
- name: Start host to serve assets for fastboot | |
run: pnpm start & | |
env: | |
NODE_OPTIONS: --max_old_space_size=4096 | |
working-directory: packages/host | |
- name: Wait for ember-cli to be ready | |
run: pnpm npx wait-for-localhost 4200 | |
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 (shard ${{ matrix.shardIndex }}) | |
run: pnpm test-with-percy | |
env: | |
PERCY_TOKEN: ${{ secrets.PERCY_TOKEN_HOST }} | |
PERCY_PARALLEL_NONCE: ${{ github.run_id }}-${{ github.run_attempt }} | |
HOST_TEST_PARTITION: ${{ matrix.shardIndex }} | |
HOST_TEST_PARTITION_COUNT: ${{ matrix.shardTotal }} | |
working-directory: packages/host | |
- name: Upload junit report to GitHub Actions Artifacts | |
uses: actions/upload-artifact@v4 | |
if: always() | |
with: | |
name: host-test-report-${{ matrix.shardIndex }} | |
path: junit/host-${{ matrix.shardIndex }}.xml | |
retention-days: 30 | |
host-merge-reports-and-publish: | |
name: Merge Host reports and publish | |
if: always() | |
needs: host-test | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: ./.github/actions/init | |
- name: Finalise Percy | |
run: npx percy build:finalize | |
working-directory: packages/host | |
env: | |
PERCY_TOKEN: ${{ secrets.PERCY_TOKEN_HOST }} | |
PERCY_PARALLEL_NONCE: ${{ github.run_id }}-${{ github.run_attempt }} | |
- name: Download JUnit reports from GitHub Actions Artifacts | |
uses: actions/download-artifact@v4 | |
with: | |
path: all-host-reports | |
pattern: host-test-report-* | |
merge-multiple: true | |
- run: ls | |
- run: ls all-host-reports | |
- name: Merge reports | |
run: npx junit-report-merger host.xml "./all-host-reports/*.xml" | |
- name: Upload merged report | |
uses: actions/upload-artifact@v4 | |
if: always() | |
with: | |
name: host-test-report-merged | |
path: host.xml | |
retention-days: 30 | |
- name: Publish test results | |
uses: EnricoMi/[email protected] | |
if: always() | |
with: | |
junit_files: host.xml | |
check_name: Host Test Results |