name: PR check pipeline on: pull_request: branches: [ "main", "next" ] paths-ignore: - '**.md' - '**.txt' - "locales/*" - 'LICENSE' - 'PRIVACY' - '**/cd_pipeline.yml' - '**/dependabot.yml' - '**/codeql-analysis.yml' - '**/pr_next.yaml' - '.vscode/*' - '.devcontainer/*' workflow_dispatch: inputs: targets: description: Targets required: true default: '["chrome","firefox"]' type: choice options: - '["chrome","firefox"]' - '["chrome"]' - '["firefox"]' jobs: build: runs-on: ubuntu-latest container: node:23 strategy: fail-fast: false matrix: target: ${{ fromJSON(github.event.inputs.targets || '["chrome","firefox"]') }} steps: - uses: actions/checkout@main - run: | echo "WXT_GA4_API_SECRET=${{ secrets.GA4_SECRET }}" >> .env echo "WXT_GA4_MEASUREMENT_ID=${{ secrets.GA4_MEASUREMENT_ID }}" >> .env - run: yarn install # Patch for firefox dnd popup (see https://github.com/clauderic/dnd-kit/issues/1043) - run: grep -v "this.windowListeners.add(EventName.Resize, this.handleCancel);" core.esm.js > core.esm.js working-directory: ./node_modules/@dnd-kit/core/dist if: ${{ matrix.target == 'firefox' }} - run: yarn zip -b ${{ matrix.target }} - name: Drop artifacts (${{ matrix.target }}) uses: actions/upload-artifact@main with: name: ${{ matrix.target }} path: ./.output/tabs-aside-*-${{ matrix.target }}.zip include-hidden-files: true - name: web-ext lint if: ${{ matrix.target == 'firefox' }} uses: freaktechnik/web-ext-lint@main with: extension-root: ./.output/firefox-mv3 self-hosted: false - run: yarn audit