name: Component Tests on: workflow_call: # Make this a reusable workflow, no value needed # https://docs.github.com/en/actions/using-workflows/reusing-workflows jobs: check: name: Component Test (${{ matrix.os }}.${{ matrix.node }}) permissions: contents: read actions: write strategy: fail-fast: false matrix: node: ['18', '20', '22'] os: [ # 'ubuntu-latest', 'windows-latest', 'macos-latest' ] runs-on: ${{ matrix.os }} steps: - name: ⬇️ Checkout Code uses: actions/checkout@08eba0b27e820071cde6df949e0beb9ba4906955 # v4.3.0 - name: 🧑‍🔧 Get Core Dependencies uses: ./.github/workflows/actions/get-core-dependencies - name: 🐢 Setup Node ${{ matrix.node }} uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020 # v4.4.0 with: node-version: ${{ matrix.node }} cache: 'pnpm' - name: Download Build Archive uses: ./.github/workflows/actions/download-archive with: name: webdriverio path: . filename: webdriverio-build.zip - name: Component Tests run: pnpm run test:component # component testing on Windows is currently broken # https://github.com/webdriverio/webdriverio/actions/runs/9075112951/job/24935302330#step:7:30 if: matrix.os != 'windows-latest' shell: bash - name: Check Git Context if: matrix.os != 'windows-latest' uses: ./.github/workflows/actions/check-git-context - uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4.6.2 if: failure() with: name: component-tests-${{ matrix.os }}-${{ matrix.node }}-logs path: e2e/browser-runner/logs