File tree Expand file tree Collapse file tree 3 files changed +2970
-1540
lines changed
Expand file tree Collapse file tree 3 files changed +2970
-1540
lines changed Original file line number Diff line number Diff line change 44 build :
55 runs-on : ubuntu-latest
66 steps :
7- - uses : actions/checkout@v2
7+ - uses : actions/checkout@v4
88 - name : Use Node.js
9- uses : actions/setup-node@v1
9+ uses : actions/setup-node@v4
1010 with :
11- node-version : ' 14.x'
11+ node-version : ' 20.x'
12+ # Enable unprivileged user namespaces for Chrome sandbox
13+ # This is required because Ubuntu 23.10+ disables them by default
14+ # See: https://github.com/actions/runner-images/issues/9621
15+ - name : Enable user namespaces
16+ run : sudo sysctl -w kernel.unprivileged_userns_clone=1
1217 - run : npm install
1318 - run : npm run build --if-present
1419 - run : npm test
Original file line number Diff line number Diff line change 1- process . env . CHROME_BIN = require ( 'chromium' ) . path
1+ // Use system Chrome/Chromium if available, otherwise let Karma find it
2+ // In CI environments, CHROME_BIN should be set or the system Chrome should be in PATH
3+ if ( ! process . env . CHROME_BIN ) {
4+ try {
5+ const chromiumPath = require ( 'chromium' ) . path
6+ if ( chromiumPath ) {
7+ process . env . CHROME_BIN = chromiumPath
8+ }
9+ } catch ( e ) {
10+ // If chromium package doesn't work, let Karma use system Chrome
11+ }
12+ }
213
314module . exports = function ( config ) {
415 config . set ( {
@@ -11,7 +22,17 @@ module.exports = function (config) {
1122 port : 9876 ,
1223 colors : true ,
1324 logLevel : config . LOG_INFO ,
14- browsers : [ 'ChromeHeadless' ] ,
25+ browsers : [ 'ChromeHeadlessCI' ] ,
26+ customLaunchers : {
27+ ChromeHeadlessCI : {
28+ base : 'ChromeHeadless' ,
29+ flags : [
30+ '--no-sandbox' ,
31+ '--disable-gpu' ,
32+ '--disable-dev-shm-usage'
33+ ]
34+ }
35+ } ,
1536 autoWatch : false ,
1637 singleRun : true ,
1738 concurrency : Infinity
You can’t perform that action at this time.
0 commit comments