mirror of
https://github.com/jquery/jquery.git
synced 2024-11-23 02:54:22 +00:00
6c7f755452
1. At the same time, there may be two supported versions of Firefox ESR. Run tests on both, installed locally. 2. Contrary to what we did in gh-5547, still run tests on Firefox 115 on BrowserStack - on `main`, we deleted it since we support only the versions supported upstream. In jQuery 3.x, we're testing on all versions matching ESR lines starting with Firefox 48, so for consistency let's keep Firefox 115 there as well. Closes gh-5548 Ref gh-5547
117 lines
3.8 KiB
YAML
117 lines
3.8 KiB
YAML
name: Node
|
|
|
|
on:
|
|
pull_request:
|
|
push:
|
|
branches-ignore: "dependabot/**"
|
|
|
|
permissions:
|
|
contents: read # to fetch code (actions/checkout)
|
|
|
|
jobs:
|
|
build-and-test:
|
|
runs-on: ubuntu-latest
|
|
name: ${{ matrix.NPM_SCRIPT }} - ${{ matrix.NAME }} (${{ matrix.NODE_VERSION }})
|
|
strategy:
|
|
fail-fast: false
|
|
matrix:
|
|
NAME: ["Node"]
|
|
NODE_VERSION: [18.x, 20.x]
|
|
NPM_SCRIPT: ["test:browserless"]
|
|
include:
|
|
- NAME: "Node"
|
|
NODE_VERSION: "20.x"
|
|
NPM_SCRIPT: "lint"
|
|
- NAME: "Chrome/Firefox"
|
|
NODE_VERSION: "20.x"
|
|
NPM_SCRIPT: "test:browser"
|
|
- NAME: "Chrome"
|
|
NODE_VERSION: "20.x"
|
|
NPM_SCRIPT: "test:slim"
|
|
- NAME: "Chrome"
|
|
NODE_VERSION: "20.x"
|
|
NPM_SCRIPT: "test:no-deprecated"
|
|
- NAME: "Chrome"
|
|
NODE_VERSION: "20.x"
|
|
NPM_SCRIPT: "test:selector-native"
|
|
- NAME: "Chrome"
|
|
NODE_VERSION: "20.x"
|
|
NPM_SCRIPT: "test:amd"
|
|
- NAME: "Firefox ESR (new)"
|
|
NODE_VERSION: "20.x"
|
|
NPM_SCRIPT: "test:firefox"
|
|
- NAME: "Firefox ESR (old)"
|
|
NODE_VERSION: "20.x"
|
|
NPM_SCRIPT: "test:firefox"
|
|
steps:
|
|
- name: Checkout
|
|
uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
|
|
|
|
- name: Use Node.js ${{ matrix.NODE_VERSION }}
|
|
uses: actions/setup-node@1e60f620b9541d16bece96c5465dc8ee9832be0b # v4.0.3
|
|
with:
|
|
node-version: ${{ matrix.NODE_VERSION }}
|
|
|
|
- name: Cache
|
|
uses: actions/cache@0c45773b623bea8c8e75f6c82b208c3cf94ea4f9 # v4.0.2
|
|
with:
|
|
path: ~/.npm
|
|
key: ${{ runner.os }}-node-${{ matrix.NODE_VERSION }}-npm-lock-${{ hashFiles('**/package-lock.json') }}
|
|
restore-keys: |
|
|
${{ runner.os }}-node-${{ matrix.NODE_VERSION }}-npm-lock-
|
|
|
|
- name: Set download URL for Firefox ESR (old)
|
|
run: |
|
|
echo "FIREFOX_SOURCE_URL=https://download.mozilla.org/?product=firefox-esr-latest-ssl&lang=en-US&os=linux64" >> "$GITHUB_ENV"
|
|
if: contains(matrix.NAME, 'Firefox ESR (old)')
|
|
|
|
- name: Set download URL for Firefox ESR (new)
|
|
run: |
|
|
echo "FIREFOX_SOURCE_URL=https://download.mozilla.org/?product=firefox-esr-next-latest-ssl&lang=en-US&os=linux64" >> "$GITHUB_ENV"
|
|
if: contains(matrix.NAME, 'Firefox ESR (new)')
|
|
|
|
- name: Install Firefox ESR
|
|
run: |
|
|
wget --no-verbose $FIREFOX_SOURCE_URL -O - | tar -jx -C ${HOME}
|
|
echo "PATH=${HOME}/firefox:$PATH" >> "$GITHUB_ENV"
|
|
echo "FIREFOX_BIN=${HOME}/firefox/firefox" >> "$GITHUB_ENV"
|
|
if: contains(matrix.NAME, 'Firefox ESR')
|
|
|
|
- name: Install dependencies
|
|
run: npm install
|
|
|
|
- name: Build All for Linting
|
|
run: npm run build:all
|
|
if: contains(matrix.NPM_SCRIPT, 'lint')
|
|
|
|
- name: Run tests
|
|
run: npm run ${{ matrix.NPM_SCRIPT }}
|
|
|
|
safari:
|
|
runs-on: macos-latest
|
|
env:
|
|
NODE_VERSION: 20.x
|
|
name: test:safari - Safari
|
|
steps:
|
|
- name: Checkout
|
|
uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
|
|
|
|
- name: Use Node.js ${{ env.NODE_VERSION }}
|
|
uses: actions/setup-node@1e60f620b9541d16bece96c5465dc8ee9832be0b # v4.0.3
|
|
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: Run tests
|
|
run: npm run test:safari
|