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@a5ac7e51b41094c92402da3b24376905380afc29 # v4.1.6 - name: Use Node.js ${{ env.NODE_VERSION }} uses: actions/setup-node@60edb5dd545a775178f52524783378180af0d1f8 # v4.0.2 with: node-version: ${{ env.NODE_VERSION }} - name: Cache uses: actions/cache@0c45773b623bea8c8e75f6c82b208c3cf94ea4f9 # v4.0.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@a5ac7e51b41094c92402da3b24376905380afc29 # v4.1.6 - name: Use Node.js ${{ env.NODE_VERSION }} uses: actions/setup-node@60edb5dd545a775178f52524783378180af0d1f8 # v4.0.2 with: node-version: ${{ env.NODE_VERSION }} - name: Cache uses: actions/cache@0c45773b623bea8c8e75f6c82b208c3cf94ea4f9 # v4.0.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@a5ac7e51b41094c92402da3b24376905380afc29 # v4.1.6 - name: Use Node.js ${{ env.NODE_VERSION }} uses: actions/setup-node@60edb5dd545a775178f52524783378180af0d1f8 # v4.0.2 with: node-version: ${{ env.NODE_VERSION }} - name: Cache uses: actions/cache@0c45773b623bea8c8e75f6c82b208c3cf94ea4f9 # v4.0.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