name: Node on: pull_request: push: branches-ignore: "dependabot/**" # Once a week every Monday schedule: - cron: "42 1 * * 1" permissions: contents: read env: NODE_VERSION: 20.x jobs: build-and-test: runs-on: ubuntu-latest name: | ${{ matrix.BROWSER }} | ${{ matrix.JQUERYS.name }} strategy: fail-fast: false matrix: BROWSER: [chrome, firefox] JQUERYS: - versions: --jquery git --jquery 3.x-git name: jQuery git - versions: --jquery 3.7.1 --jquery 3.6.4 --jquery 2.2.4 --jquery 1.12.4 name: jQuery stable steps: - name: Checkout uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 - name: Use Node.js ${{ env.NODE_VERSION }} uses: actions/setup-node@39370e3970a6d050c480ffad4ff0ed4d3fdee5af # v4.1.0 with: node-version: ${{ env.NODE_VERSION }} - name: Cache uses: actions/cache@6849a6489940f00c2f30c0fb92c6274307ccb58a # v4.1.2 with: path: ~/.npm key: ${{ runner.os }}-node-${{ env.NODE_VERSION }}-npm-lock-${{ hashFiles('**/package-lock.json') }} restore-keys: | ${{ runner.os }}-node-${{ env.NODE_VERSION }}-npm-lock- - name: Install npm dependencies run: npm install - name: Lint run: npm run lint - name: Build run: npm run build - name: Test run: | npm run test:unit -- -h -b ${{ matrix.BROWSER }} \ ${{ matrix.JQUERYS.versions }} \ --retries 3 --hard-retries 1 edge: runs-on: windows-latest name: | edge | ${{ matrix.JQUERYS.name }} strategy: fail-fast: false matrix: JQUERYS: - versions: --jquery git --jquery 3.x-git name: jQuery git - versions: --jquery 3.7.1 --jquery 3.6.4 --jquery 2.2.4 --jquery 1.12.4 name: jQuery stable steps: - name: Checkout uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 - name: Use Node.js ${{ env.NODE_VERSION }} uses: actions/setup-node@39370e3970a6d050c480ffad4ff0ed4d3fdee5af # v4.1.0 with: node-version: ${{ env.NODE_VERSION }} - name: Cache uses: actions/cache@6849a6489940f00c2f30c0fb92c6274307ccb58a # v4.1.2 with: path: ~/.npm key: ${{ runner.os }}-node-${{ env.NODE_VERSION }}-npm-lock-${{ hashFiles('**/package-lock.json') }} restore-keys: | ${{ runner.os }}-node-${{ env.NODE_VERSION }}-npm-lock- - name: Install dependencies run: npm install - name: Build run: npm run build - name: Test run: | npm run test:unit -- -h -b edge ` ${{ matrix.JQUERYS.versions }} ` --retries 3 --hard-retries 1 safari: runs-on: macos-latest name: | safari | ${{ matrix.JQUERYS.name }} strategy: fail-fast: false matrix: JQUERYS: - versions: --jquery git --jquery 3.x-git name: jQuery git - versions: --jquery 3.7.1 --jquery 3.6.4 --jquery 2.2.4 --jquery 1.12.4 name: jQuery stable steps: - name: Checkout uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 - name: Use Node.js ${{ env.NODE_VERSION }} uses: actions/setup-node@39370e3970a6d050c480ffad4ff0ed4d3fdee5af # v4.1.0 with: node-version: ${{ env.NODE_VERSION }} - name: Cache uses: actions/cache@6849a6489940f00c2f30c0fb92c6274307ccb58a # v4.1.2 with: path: ~/.npm key: ${{ runner.os }}-node-${{ env.NODE_VERSION }}-npm-lock-${{ hashFiles('**/package-lock.json') }} restore-keys: | ${{ runner.os }}-node-${{ env.NODE_VERSION }}-npm-lock- - name: Install dependencies run: npm install - name: Build run: npm run build - name: Test run: | npm run test:unit -- -b safari \ ${{ matrix.JQUERYS.versions }} \ --retries 3 --hard-retries 1