name: Browser Tests on: pull_request: push: branches-ignore: "dependabot/**" # Once a week every Monday schedule: - cron: "42 1 * * 1" permissions: contents: read env: NODE_VERSION: 22.x jobs: build-and-test: runs-on: ubuntu-latest name: | ${{ matrix.BROWSER }} | ${{ matrix.CONFIGS.name }} strategy: fail-fast: false matrix: BROWSER: [chrome, firefox] CONFIGS: - config: jtr-git.yml name: jQuery git - config: jtr-stable.yml name: jQuery stable steps: - name: Checkout uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 - name: Use Node.js ${{ env.NODE_VERSION }} uses: actions/setup-node@6044e13b5dc448c55e2357c09f80417699197238 # v6.2.0 with: node-version: ${{ env.NODE_VERSION }} cache: npm cache-dependency-path: '**/package-lock.json' - name: Install npm dependencies run: npm ci - name: Build run: npm run build - name: Test run: | npm run test:unit -- \ --headless -b ${{ matrix.BROWSER }} \ -c ${{ matrix.CONFIGS.config }} edge: runs-on: windows-latest name: | edge | ${{ matrix.CONFIGS.name }} strategy: fail-fast: false matrix: CONFIGS: - config: jtr-git.yml name: jQuery git - config: jtr-stable.yml name: jQuery stable steps: - name: Checkout uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 - name: Use Node.js ${{ env.NODE_VERSION }} uses: actions/setup-node@6044e13b5dc448c55e2357c09f80417699197238 # v6.2.0 with: node-version: ${{ env.NODE_VERSION }} cache: npm cache-dependency-path: '**/package-lock.json' - name: Install dependencies run: npm ci - name: Build run: npm run build - name: Test run: npm run test:unit -- --headless -b edge -c ${{ matrix.CONFIGS.config }} safari: runs-on: macos-latest name: | safari | ${{ matrix.CONFIGS.name }} strategy: fail-fast: false matrix: CONFIGS: - config: jtr-git.yml name: jQuery git - config: jtr-stable.yml name: jQuery stable steps: - name: Checkout uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 - name: Use Node.js ${{ env.NODE_VERSION }} uses: actions/setup-node@6044e13b5dc448c55e2357c09f80417699197238 # v6.2.0 with: node-version: ${{ env.NODE_VERSION }} cache: npm cache-dependency-path: '**/package-lock.json' - name: Install dependencies run: npm ci - name: Build run: npm run build - name: Test run: npm run test:unit -- -b safari -c ${{ matrix.CONFIGS.config }}