Skip to content

Commit aec9caa

Browse files
authored
Build: Update tested browsers, actions, fix CI
Last updates before archiving, to double check everything still works with newer browsers. Changes: * Update tested browsers * Disable old iOS tests as BrowserStack no longer makes them available * Update GitHub Actions * Pin Ubuntu used for GitHub Actions to 22.04; latest is 24.04 and PhantomJS no longer works on it * Set `.nvmrc` so that a proper Node.js version is used locally * Fix Yaml handling in `.editorconfig` Closes gh-502
1 parent 2f1afae commit aec9caa

File tree

6 files changed

+181
-71
lines changed

6 files changed

+181
-71
lines changed

.editorconfig

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,6 @@ charset = utf-8
1010
trim_trailing_whitespace = true
1111
insert_final_newline = true
1212

13-
[package.json]
13+
[*.{json,yml}]
1414
indent_style = space
1515
indent_size = 2

.github/workflows/node.js.yml

Lines changed: 18 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -7,32 +7,25 @@ env:
77

88
jobs:
99
build:
10-
runs-on: ubuntu-latest
10+
runs-on: ubuntu-22.04
1111
steps:
12-
- name: Checkout
13-
uses: actions/checkout@v2
12+
- name: Checkout
13+
uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1
1414

15-
- name: Cache
16-
uses: actions/cache@v2
17-
with:
18-
path: ~/.npm
19-
key: ${{ runner.os }}-node-${{ env.NODE_VERSION }}-npm-lock-${{ hashFiles('**/package-lock.json') }}
20-
restore-keys: |
21-
${{ runner.os }}-node-${{ env.NODE_VERSION }}-npm-lock-
15+
- name: Use Node.js ${{ env.NODE_VERSION }}
16+
uses: actions/setup-node@395ad3262231945c25e8478fd5baf05154b1d79f # v6.1.0
17+
with:
18+
node-version: ${{ env.NODE_VERSION }}
19+
cache: npm
20+
cache-dependency-path: '**/package-lock.json'
2221

23-
- name: Use Node.js ${{ env.NODE_VERSION }}
24-
uses: actions/[email protected]
25-
with:
26-
node-version: ${{ env.NODE_VERSION }}
22+
- name: Install dependencies
23+
run: npm ci
2724

28-
- name: Install dependencies
29-
run: |
30-
npm install
31-
32-
- name: Run tests
33-
env:
34-
BROWSER_STACK_USERNAME: ${{ secrets.BROWSER_STACK_USERNAME }}
35-
BROWSER_STACK_ACCESS_KEY: ${{ secrets.BROWSER_STACK_ACCESS_KEY }}
36-
run: |
37-
export PATH=${HOME}/firefox:$PATH
38-
npm test
25+
- name: Run tests
26+
env:
27+
BROWSER_STACK_USERNAME: ${{ secrets.BROWSER_STACK_USERNAME }}
28+
BROWSER_STACK_ACCESS_KEY: ${{ secrets.BROWSER_STACK_ACCESS_KEY }}
29+
run: |
30+
export PATH=${HOME}/firefox:$PATH
31+
npm test

.nvmrc

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
16

Gruntfile.js

Lines changed: 39 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@ module.exports = function( grunt ) {
66
browsers = {
77
phantom: [ "PhantomJS" ],
88
desktop: [],
9+
desktop2: [],
910
android: [],
1011
ios: [],
1112
old: {
@@ -31,31 +32,52 @@ module.exports = function( grunt ) {
3132
// See https://github.com/jquery/sizzle/wiki/Sizzle-Documentation#browsers
3233

3334
browsers.desktop = [
34-
"bs_chrome-45", // shares V8 with Node.js v4 LTS
35-
"bs_chrome-68", // shares V8 with Node.js v10.24.1 LTS
36-
"bs_chrome-84", // shares V8 with Node.js v14.20.0 LTS
37-
"bs_chrome-109", "bs_chrome-110",
35+
"bs_chrome-124", // shares V8 with Node.js v22.21.1 LTS
36+
"bs_chrome-136", // shares V8 with Node.js v24.12.0 LTS
37+
"bs_chrome-142", "bs_chrome-143",
3838

39-
// Firefox ESR + last 2 Firefox versions
40-
"bs_firefox-60", "bs_firefox-68", "bs_firefox-78", "bs_firefox-91", "bs_firefox-102",
41-
"bs_firefox-108", "bs_firefox-109",
39+
// Firefox ESR + last 2 Firefox
40+
"bs_firefox-115", "bs_firefox-128", "bs_firefox-140",
41+
"bs_firefox-145", "bs_firefox-146",
4242

43-
"bs_edge-15", "bs_edge-16", "bs_edge-17", "bs_edge-18",
44-
"bs_edge-108", "bs_edge-109",
43+
// last Edge Legacy + last 2 Edge
44+
"bs_edge-18", "bs_edge-142", "bs_edge-143",
4545

4646
"bs_ie-9", "bs_ie-10", "bs_ie-11",
4747

48-
"bs_opera-94", "bs_opera-95",
48+
"bs_opera-123", "bs_opera-124",
49+
50+
"bs_safari-15", "bs_safari-16", "bs_safari-17",
51+
"bs_safari-18", "bs_safari-26"
52+
];
53+
54+
browsers.desktop2 = [
55+
"bs_chrome-45", // shares V8 with Node.js v4 LTS
56+
"bs_chrome-68", // shares V8 with Node.js v10.24.1 LTS
57+
"bs_chrome-84", // shares V8 with Node.js v14.21.3 LTS
58+
"bs_chrome-102", // shares V8 with Node.js v18.20.8 LTS
59+
"bs_chrome-113", // shares V8 with Node.js v20.19.6 LTS
60+
61+
62+
// Firefox ESR
63+
"bs_firefox-60", "bs_firefox-68", "bs_firefox-78", "bs_firefox-91",
64+
"bs_firefox-102",
65+
66+
// Edge Legacy <18
67+
"bs_edge-15", "bs_edge-16", "bs_edge-17",
4968

5069
// Real Safari 6.1 and 7.0 are not available
5170
"bs_safari-6.0", "bs_safari-8.0", "bs_safari-9.1", "bs_safari-10.1",
52-
"bs_safari-11.1", "bs_safari-12.1", "bs_safari-13.1", "bs_safari-14",
53-
"bs_safari-15", "bs_safari-16"
71+
"bs_safari-11.1", "bs_safari-12.1", "bs_safari-13.1", "bs_safari-14"
5472
];
5573

5674
browsers.ios = [
57-
"bs_ios-9.3", "bs_ios-10", "bs_ios-11", "bs_ios-12", "bs_ios-13",
58-
"bs_ios-14", "bs_ios-15", "bs_ios-16"
75+
76+
// No longer available on BrowserStack
77+
// "bs_ios-9.3", "bs_ios-10",
78+
79+
"bs_ios-11", "bs_ios-12", "bs_ios-13", "bs_ios-14", "bs_ios-15",
80+
"bs_ios-16", "bs_ios-17", "bs_ios-18", "bs_ios-26"
5981
];
6082
browsers.android = [
6183
"bs_android-4.0", "bs_android-4.1", "bs_android-4.2",
@@ -201,6 +223,9 @@ module.exports = function( grunt ) {
201223
desktop: {
202224
browsers: browsers.desktop
203225
},
226+
desktop2: {
227+
browsers: browsers.desktop2
228+
},
204229
android: {
205230
browsers: browsers.android
206231
},

tasks/karma-tests.js

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -12,12 +12,15 @@ module.exports = function( grunt ) {
1212
const done = this.async();
1313

1414
const tasks = isBrowserStack ? [
15-
"karma:phantom", "karma:desktop",
15+
"karma:phantom", "karma:desktop", "karma:desktop2",
1616

1717
"karma:oldIe", "karma:oldFirefox", "karma:oldChrome",
1818
"karma:oldSafari", "karma:oldOpera",
1919

20-
"karma:ios", "karma:oldIos"
20+
"karma:ios"
21+
22+
// BrowserStack no longer shares old iOS simulators
23+
// "karma:oldIos",
2124

2225
// See #314 :-(
2326
// "karma:android", "karma:oldAndroid"

0 commit comments

Comments
 (0)