Repository navigation
test(zero-swift): fix the flaky theRowAJumpLandedOnIsDeleted #544
Workflow file for this run
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: Public JS | |
| # CI for the public rocicorp/mono. Development happens in the private | |
| # rocicorp/mono-internal, which publishes a filtered copy of every commit to | |
| # mono (tools/public-sync). mono keeps the test suites only for the packages | |
| # we want outside contributions to, so this runs the static checks and those | |
| # packages' tests: on the synced commits, and on contributors' pull requests. | |
| # | |
| # It runs in mono-internal too, on the tree the sync would publish, so a change | |
| # that breaks mono fails on its mono-internal pull request. | |
| on: | |
| workflow_dispatch: | |
| push: | |
| branches: [main] | |
| # Any base, so a PR stacked on another one gets checked too. | |
| pull_request: | |
| concurrency: | |
| group: '${{ github.workflow }} @ ${{ github.event.pull_request.head.label || github.head_ref || github.ref }}' | |
| cancel-in-progress: ${{ github.event_name == 'pull_request' }} | |
| permissions: | |
| contents: read | |
| jobs: | |
| checks: | |
| name: Public Checks | |
| if: github.repository == 'rocicorp/mono' || github.repository == 'rocicorp/mono-internal' || github.repository == 'wevm/zero' | |
| # ubuntu-latest has 4 cores on public repos but only 2 on private ones, | |
| # where timing-sensitive tests flake; mono-internal uses a larger runner. | |
| runs-on: ${{ github.repository == 'rocicorp/mono-internal' && 'ubuntu-x64-8-core' || 'ubuntu-latest' }} | |
| steps: | |
| - uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0 | |
| with: | |
| persist-credentials: false | |
| # Delete what tools/public-sync/public-filter keeps private, leaving the | |
| # tree the sync publishes. | |
| - name: Keep only published files | |
| if: github.repository == 'rocicorp/mono-internal' | |
| run: git ls-files -z --cached --ignored --exclude-from=tools/public-sync/public-filter | xargs -0 rm -f -- | |
| - uses: pnpm/action-setup@0ebf47130e4866e96fce0953f49152a61190b271 # v6.0.9 | |
| with: | |
| version: 11.11.0 | |
| - uses: actions/setup-node@820762786026740c76f36085b0efc47a31fe5020 # v7.0.0 | |
| with: | |
| node-version: 24.x | |
| package-manager-cache: false | |
| - name: Get pnpm store path | |
| id: pnpm-store | |
| run: echo "path=$(pnpm store path --silent)" >> "$GITHUB_OUTPUT" | |
| - name: Cache pnpm store | |
| uses: actions/cache@27d5ce7f107fe9357f9df03efb73ab90386fccae # v5.0.5 | |
| with: | |
| path: ${{ steps.pnpm-store.outputs.path }} | |
| key: pnpm-store-v11-${{ runner.os }}-${{ runner.arch }}-full-${{ hashFiles('pnpm-lock.yaml', 'pnpm-workspace.yaml', 'package.json') }} | |
| restore-keys: | | |
| pnpm-store-v11-${{ runner.os }}-${{ runner.arch }}-full- | |
| - name: Install | |
| id: install | |
| run: pnpm install --frozen-lockfile | |
| # Each check runs even when an earlier one failed, so a pull request sees | |
| # every problem at once. | |
| - name: Sync Package Versions | |
| if: ${{ !cancelled() && steps.install.outcome == 'success' }} | |
| run: pnpm exec syncpack lint | |
| # No verify-deps: dependencies used only by private files (e.g. a test | |
| # helper) look unused here. mono-internal's own CI checks the full tree. | |
| - name: Oxfmt | |
| if: ${{ !cancelled() && steps.install.outcome == 'success' }} | |
| run: pnpm exec oxfmt --check | |
| - name: Lint | |
| if: ${{ !cancelled() && steps.install.outcome == 'success' }} | |
| run: pnpm run lint | |
| - name: Check Types | |
| if: ${{ !cancelled() && steps.install.outcome == 'success' }} | |
| run: pnpm run check-types | |
| test: | |
| name: Public Test | |
| if: github.repository == 'rocicorp/mono' || github.repository == 'rocicorp/mono-internal' || github.repository == 'wevm/zero' | |
| # See Public Checks. x64, since this runs WebKit and Firefox too. Ubuntu | |
| # 24.04, not ubuntu-latest: Playwright 1.60 has no browsers for 26.04. | |
| runs-on: ${{ github.repository == 'rocicorp/mono-internal' && 'ubuntu-x64-8-core' || 'ubuntu-24.04' }} | |
| steps: | |
| - uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0 | |
| with: | |
| persist-credentials: false | |
| - name: Keep only published files | |
| if: github.repository == 'rocicorp/mono-internal' | |
| run: git ls-files -z --cached --ignored --exclude-from=tools/public-sync/public-filter | xargs -0 rm -f -- | |
| - uses: pnpm/action-setup@0ebf47130e4866e96fce0953f49152a61190b271 # v6.0.9 | |
| with: | |
| version: 11.11.0 | |
| - uses: actions/setup-node@820762786026740c76f36085b0efc47a31fe5020 # v7.0.0 | |
| with: | |
| node-version: 24.x | |
| package-manager-cache: false | |
| - name: Get pnpm store path | |
| id: pnpm-store | |
| run: echo "path=$(pnpm store path --silent)" >> "$GITHUB_OUTPUT" | |
| - name: Cache pnpm store | |
| uses: actions/cache@27d5ce7f107fe9357f9df03efb73ab90386fccae # v5.0.5 | |
| with: | |
| path: ${{ steps.pnpm-store.outputs.path }} | |
| key: pnpm-store-v11-${{ runner.os }}-${{ runner.arch }}-full-${{ hashFiles('pnpm-lock.yaml', 'pnpm-workspace.yaml', 'package.json') }} | |
| restore-keys: | | |
| pnpm-store-v11-${{ runner.os }}-${{ runner.arch }}-full- | |
| - run: pnpm install --frozen-lockfile | |
| - uses: ./.github/actions/playwright-install | |
| # The packages whose tests are published (see tools/public-sync/ | |
| # public-filter). Each package's own vitest config runs its node and | |
| # browser projects. | |
| - name: Run tests | |
| run: >- | |
| pnpm | |
| --filter zero-client | |
| --filter replicache | |
| --filter @rocicorp/zero-events | |
| --filter zero-react | |
| --filter zero-solid | |
| --filter shared | |
| run test |