Build: Test on iOS 18, no longer test on iOS 15
[jquery.git] / .github / workflows / browserstack.yml
blobabaeb0b8dc91dcff9a75b6d4f9e3f79b6662ed44
1 name: Browserstack
3 on:
4   push:
5     branches:
6       - main
8 jobs:
9   test:
10     runs-on: ubuntu-latest
11     environment: browserstack
12     env:
13       BROWSERSTACK_USERNAME: ${{ secrets.BROWSERSTACK_USERNAME }}
14       BROWSERSTACK_ACCESS_KEY: ${{ secrets.BROWSERSTACK_ACCESS_KEY }}
15       NODE_VERSION: 20.x
16     name: ${{ matrix.BROWSER }}
17     concurrency:
18       group: ${{ github.workflow }}-${{ matrix.BROWSER }}
19     timeout-minutes: 30
20     strategy:
21       fail-fast: false
22       matrix:
23         BROWSER:
24           - 'IE_11'
25           - 'Safari_latest'
26           - 'Safari_latest-1'
27           - 'Chrome_latest'
28           - 'Chrome_latest-1'
29           - 'Opera_latest'
30           - 'Edge_latest'
31           - 'Edge_latest-1'
32           - 'Firefox_latest'
33           - 'Firefox_latest-1'
34           - '__iOS_18'
35           - '__iOS_17'
36           - '__iOS_16'
37     steps:
38       - name: Checkout
39         uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
41       - name: Use Node.js ${{ env.NODE_VERSION }}
42         uses: actions/setup-node@39370e3970a6d050c480ffad4ff0ed4d3fdee5af # v4.1.0
43         with:
44           node-version: ${{ env.NODE_VERSION }}
46       - name: Cache
47         uses: actions/cache@6849a6489940f00c2f30c0fb92c6274307ccb58a # v4.1.2
48         with:
49           path: ~/.npm
50           key: ${{ runner.os }}-node-${{ env.NODE_VERSION }}-npm-lock-${{ hashFiles('**/package-lock.json') }}
51           restore-keys: |
52             ${{ runner.os }}-node-${{ env.NODE_VERSION }}-npm-lock-
54       - name: Install dependencies
55         run: npm install
57       - name: Build jQuery
58         run: npm run build:all
60       - name: Pretest script
61         run: npm run pretest
63       - name: Run tests
64         run: npm run test:unit -- -v --browserstack "${{ matrix.BROWSER }}" --run-id ${{ github.run_id }} --isolate --retries 3 --hard-retries 1