Build: Bump the github-actions group with 2 updates
[jquery.git] / .github / workflows / browserstack.yml
blob19ccebf8cddd584bd061c43825ec7d239cb653d6
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           - 'Firefox_115'
35           - '__iOS_17'
36           - '__iOS_16'
37           - '__iOS_15'
38     steps:
39       - name: Checkout
40         uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
42       - name: Use Node.js ${{ env.NODE_VERSION }}
43         uses: actions/setup-node@60edb5dd545a775178f52524783378180af0d1f8 # v4.0.2
44         with:
45           node-version: ${{ env.NODE_VERSION }}
47       - name: Cache
48         uses: actions/cache@0c45773b623bea8c8e75f6c82b208c3cf94ea4f9 # v4.0.2
49         with:
50           path: ~/.npm
51           key: ${{ runner.os }}-node-${{ env.NODE_VERSION }}-npm-lock-${{ hashFiles('**/package-lock.json') }}
52           restore-keys: |
53             ${{ runner.os }}-node-${{ env.NODE_VERSION }}-npm-lock-
55       - name: Install dependencies
56         run: npm install
58       - name: Build jQuery
59         run: npm run build:all
61       - name: Pretest script
62         run: npm run pretest
64       - name: Run tests
65         run: npm run test:unit -- -v --browserstack "${{ matrix.BROWSER }}" --run-id ${{ github.run_id }} --isolate --retries 3 --hard-retries 1