[SPIKE] Replace SQLite with PGLite for in-process test DB #1163
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 Software Factory | |
| on: | |
| push: | |
| branches: | |
| - main | |
| - ci-bisect | |
| - ci-bisect-** | |
| pull_request: | |
| paths: | |
| - ".github/workflows/ci-software-factory.yaml" | |
| - "packages/runtime-common/**" | |
| - "packages/base/**" | |
| - "packages/boxel-icons/**" | |
| - "packages/host/**" | |
| - "packages/matrix/**" | |
| - "packages/postgres/**" | |
| - "packages/realm-server/**" | |
| - "packages/software-factory/**" | |
| - "package.json" | |
| - "pnpm-lock.yaml" | |
| workflow_dispatch: | |
| concurrency: | |
| group: ci-software-factory-${{ github.head_ref || github.run_id }} | |
| cancel-in-progress: true | |
| permissions: | |
| checks: write | |
| contents: read | |
| id-token: write | |
| pull-requests: write | |
| jobs: | |
| test-web-assets: | |
| name: Build test web assets | |
| uses: ./.github/workflows/test-web-assets.yaml | |
| with: | |
| caller: ci-software-factory | |
| software-factory-test: | |
| name: Software Factory Tests | |
| needs: test-web-assets | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 | |
| - uses: ./.github/actions/init | |
| - name: Download test web assets | |
| uses: actions/download-artifact@3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c # v8.0.1 | |
| with: | |
| name: ${{ needs.test-web-assets.outputs.artifact_name }} | |
| path: .test-web-assets-artifact | |
| - name: Restore test web assets into workspace | |
| shell: bash | |
| run: | | |
| shopt -s dotglob | |
| cp -a .test-web-assets-artifact/. ./ | |
| - name: Install Playwright Browsers | |
| run: pnpm exec playwright install | |
| working-directory: packages/software-factory | |
| - name: Run Node tests | |
| run: pnpm test:node | |
| working-directory: packages/software-factory | |
| - name: Serve test assets (icons + host dist) | |
| run: | | |
| mise run ci:serve-test-assets & | |
| timeout 180 bash -c 'until curl -sf http://localhost:4200 > /dev/null && curl -sf http://localhost:4206 > /dev/null; do sleep 2; done' | |
| - name: Run Playwright tests | |
| run: pnpm test:playwright | |
| working-directory: packages/software-factory | |
| - name: Upload Playwright traces | |
| if: ${{ !cancelled() }} | |
| uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7.0.1 | |
| with: | |
| name: software-factory-playwright-traces | |
| path: packages/software-factory/test-results/**/trace.zip | |
| retention-days: 30 | |
| if-no-files-found: ignore |