aboutsummaryrefslogtreecommitdiffstats
path: root/.github/workflows/browserstack.yml
diff options
context:
space:
mode:
Diffstat (limited to '.github/workflows/browserstack.yml')
-rw-r--r--.github/workflows/browserstack.yml64
1 files changed, 64 insertions, 0 deletions
diff --git a/.github/workflows/browserstack.yml b/.github/workflows/browserstack.yml
new file mode 100644
index 000000000..7350ca36d
--- /dev/null
+++ b/.github/workflows/browserstack.yml
@@ -0,0 +1,64 @@
+name: Browserstack
+
+on:
+ push:
+ branches:
+ - main
+
+jobs:
+ test:
+ runs-on: ubuntu-latest
+ environment: browserstack
+ env:
+ BROWSERSTACK_USERNAME: ${{ secrets.BROWSERSTACK_USERNAME }}
+ BROWSERSTACK_ACCESS_KEY: ${{ secrets.BROWSERSTACK_ACCESS_KEY }}
+ NODE_VERSION: 20.x
+ name: ${{ matrix.BROWSER }}
+ concurrency:
+ group: ${{ github.workflow }} ${{ matrix.BROWSER }}
+ strategy:
+ fail-fast: false
+ matrix:
+ BROWSER:
+ - 'IE_11'
+ - 'Safari_17'
+ - 'Safari_16'
+ - 'Chrome_120'
+ - 'Chrome_119'
+ - 'Edge_120'
+ - 'Edge_119'
+ - 'Firefox_121'
+ - 'Firefox_120'
+ - 'Firefox_115'
+ - '__iOS_17'
+ - '__iOS_16'
+ - '__iOS_15'
+ - 'Opera_106'
+ steps:
+ - name: Checkout
+ uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1
+
+ - 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@13aacd865c20de90d75de3b17ebe84f7a17d57d2 # v4.0.0
+ 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 jQuery
+ run: npm run build:all
+
+ - name: Pretest script
+ run: npm run pretest
+
+ - name: Run tests
+ run: npm run test:unit -- -v --browserstack "${{ matrix.BROWSER }}" --retries 3