name: Validate on: workflow_call: pull_request: push: branches: - main jobs: formatting: runs-on: ubuntu-22.04 steps: - uses: actions/checkout@v4 - uses: ./.github/actions/setup - run: pnpm format:check lint: runs-on: ubuntu-22.04 steps: - uses: actions/checkout@v4 - uses: ./.github/actions/setup - run: pnpm lint type-check: runs-on: ubuntu-22.04 steps: - uses: actions/checkout@v4 - uses: ./.github/actions/setup - run: pnpm compile validate-demo: runs-on: ubuntu-22.04 steps: - uses: actions/checkout@v4 - uses: ./.github/actions/setup - run: pnpm tsc --noEmit working-directory: demo - run: pnpm build:all working-directory: demo - run: pnpm wxt zip working-directory: demo - run: pnpm vitest run working-directory: demo tests: runs-on: ubuntu-22.04 steps: - uses: actions/checkout@v4 - uses: ./.github/actions/setup - name: pnpm test:coverage run: pnpm test:coverage --reporter=default --reporter=hanging-process - uses: codecov/codecov-action@v4 env: CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }} windows-tests: runs-on: windows-latest steps: - uses: actions/checkout@v4 - uses: ./.github/actions/setup - run: pnpm test run template: runs-on: ubuntu-22.04 strategy: matrix: template: - react - solid - svelte - vanilla - vue steps: - uses: actions/checkout@v4 - uses: ./.github/actions/setup - run: pnpm pack - run: npm i working-directory: templates/${{ matrix.template }} - run: npm i -D ../../wxt-*.tgz working-directory: templates/${{ matrix.template }} - run: pnpm compile if: matrix.template != 'svelte' working-directory: templates/${{ matrix.template }} - run: pnpm check if: matrix.template == 'svelte' working-directory: templates/${{ matrix.template }} - run: pnpm build working-directory: templates/${{ matrix.template }}