diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index c9568ab65..dcadbb819 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -7,10 +7,29 @@ on: workflow_dispatch: jobs: - # Builds the library and persists it as an artifact. - # Later jobs can then reuse that build artifact, skipping - # the build step. build: + runs-on: macos-latest + steps: + - name: Checkout + uses: actions/checkout@v3 + + - name: Set up Node.js + uses: actions/setup-node@v3 + with: + node-version: 18 + + - uses: pnpm/action-setup@v2 + with: + version: 7.12 + + - name: Install dependencies + run: pnpm install + + - name: Build + run: pnpm build + + test_unit: + needs: build runs-on: macos-latest steps: - name: Checkout @@ -31,21 +50,75 @@ jobs: - name: Unit tests run: pnpm test:unit - - name: Build - run: pnpm build + test_node: + needs: build + runs-on: macos-latest + steps: + - name: Checkout + uses: actions/checkout@v3 + + - name: Set up Node.js + uses: actions/setup-node@v3 + with: + node-version: 18 + + - uses: pnpm/action-setup@v2 + with: + version: 7.12 - - name: Node.js tests + - name: Install dependencies + run: pnpm install + + - name: Unit tests run: pnpm test:node + test_browser: + needs: build + runs-on: macos-latest + steps: + - name: Checkout + uses: actions/checkout@v3 + + - name: Set up Node.js + uses: actions/setup-node@v3 + with: + node-version: 18 + + - uses: pnpm/action-setup@v2 + with: + version: 7.12 + + - name: Install dependencies + run: pnpm install + - name: Browser tests run: pnpm test:browser - - name: Native tests - run: pnpm test:native - - name: Upload test artifacts if: always() uses: actions/upload-artifact@v3 with: name: playwright-report path: test/browser/test-results + + test_native: + needs: build + runs-on: macos-latest + steps: + - name: Checkout + uses: actions/checkout@v3 + + - name: Set up Node.js + uses: actions/setup-node@v3 + with: + node-version: 18 + + - uses: pnpm/action-setup@v2 + with: + version: 7.12 + + - name: Install dependencies + run: pnpm install + + - name: Native tests + run: pnpm test:native