@cypress/github-action 6.7.7 → 6.7.8

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (3) hide show
  1. package/README.md +60 -60
  2. package/dist/index.js +57 -38
  3. package/package.json +6 -6
package/README.md CHANGED
@@ -78,7 +78,7 @@ name: End-to-end tests
78
78
  on: push
79
79
  jobs:
80
80
  cypress-run:
81
- runs-on: ubuntu-22.04
81
+ runs-on: ubuntu-24.04
82
82
  steps:
83
83
  - name: Checkout
84
84
  uses: actions/checkout@v4
@@ -90,9 +90,9 @@ jobs:
90
90
 
91
91
  [![End-to-End example](https://github.com/cypress-io/github-action/actions/workflows/example-basic.yml/badge.svg)](.github/workflows/example-basic.yml)
92
92
 
93
- The workflow file [example-basic.yml](.github/workflows/example-basic.yml) shows how Cypress runs on GH Actions using Ubuntu (20 and 22), Windows, and macOS without additional OS dependencies necessary.
93
+ The workflow file [example-basic.yml](.github/workflows/example-basic.yml) shows how Cypress runs on GH Actions using Ubuntu (`22.04` and `24.04`), Windows, and macOS without additional OS dependencies necessary.
94
94
 
95
- This workflow uses the default [test type](https://on.cypress.io/guides/overview/why-cypress#Test-types) of [End-to-End (E2E) Testing](https://on.cypress.io/guides/overview/why-cypress#End-to-end). Alternatively, [Component Testing](https://on.cypress.io/guides/overview/why-cypress#Component) can be utilized by referencing the [Component Testing](#component-testing) section below.
95
+ This workflow uses the default [test type](https://on.cypress.io/choosing-testing-type) of [End-to-End (E2E) Testing](https://on.cypress.io/app/core-concepts/testing-types#What-is-E2E-Testing). Alternatively, [Component Testing](https://on.cypress.io/app/core-concepts/testing-types#What-is-Component-Testing) can be utilized by referencing the [Component Testing](#component-testing) section below.
96
96
 
97
97
  ### Component Testing
98
98
 
@@ -103,7 +103,7 @@ name: Component tests
103
103
  on: push
104
104
  jobs:
105
105
  cypress-run:
106
- runs-on: ubuntu-22.04
106
+ runs-on: ubuntu-24.04
107
107
  steps:
108
108
  - name: Checkout
109
109
  uses: actions/checkout@v4
@@ -150,7 +150,7 @@ name: Chrome
150
150
  on: push
151
151
  jobs:
152
152
  chrome:
153
- runs-on: ubuntu-22.04
153
+ runs-on: ubuntu-24.04
154
154
  name: E2E on Chrome
155
155
  steps:
156
156
  - uses: actions/checkout@v4
@@ -168,7 +168,7 @@ name: Firefox
168
168
  on: push
169
169
  jobs:
170
170
  firefox:
171
- runs-on: ubuntu-22.04
171
+ runs-on: ubuntu-24.04
172
172
  name: E2E on Firefox
173
173
  steps:
174
174
  - uses: actions/checkout@v4
@@ -186,7 +186,7 @@ name: Edge
186
186
  on: push
187
187
  jobs:
188
188
  edge:
189
- runs-on: ubuntu-22.04
189
+ runs-on: ubuntu-24.04
190
190
  name: E2E on Edge
191
191
  steps:
192
192
  - uses: actions/checkout@v4
@@ -206,7 +206,7 @@ name: Chrome headed
206
206
  on: push
207
207
  jobs:
208
208
  cypress-run:
209
- runs-on: ubuntu-22.04
209
+ runs-on: ubuntu-24.04
210
210
  steps:
211
211
  - uses: actions/checkout@v4
212
212
  - uses: cypress-io/github-action@v6
@@ -224,7 +224,7 @@ name: Test in Docker
224
224
  on: push
225
225
  jobs:
226
226
  cypress-run:
227
- runs-on: ubuntu-22.04
227
+ runs-on: ubuntu-24.04
228
228
  # Cypress Docker image from https://hub.docker.com/r/cypress
229
229
  # with browsers pre-installed
230
230
  container:
@@ -248,7 +248,7 @@ name: Test with Docker cypress/included
248
248
  on: push
249
249
  jobs:
250
250
  cypress-run:
251
- runs-on: ubuntu-22.04
251
+ runs-on: ubuntu-24.04
252
252
  container:
253
253
  # Cypress Docker image from https://hub.docker.com/r/cypress/included
254
254
  # with Cypress globally pre-installed
@@ -276,7 +276,7 @@ name: Cypress tests
276
276
  on: push
277
277
  jobs:
278
278
  cypress-run:
279
- runs-on: ubuntu-22.04
279
+ runs-on: ubuntu-24.04
280
280
  steps:
281
281
  - name: Checkout
282
282
  uses: actions/checkout@v4
@@ -294,7 +294,7 @@ name: Cypress tests
294
294
  on: push
295
295
  jobs:
296
296
  cypress-run:
297
- runs-on: ubuntu-22.04
297
+ runs-on: ubuntu-24.04
298
298
  steps:
299
299
  - name: Checkout
300
300
  uses: actions/checkout@v4
@@ -320,7 +320,7 @@ on: push
320
320
  jobs:
321
321
  cypress-run:
322
322
  name: Cypress run
323
- runs-on: ubuntu-22.04
323
+ runs-on: ubuntu-24.04
324
324
  steps:
325
325
  - name: Checkout
326
326
  uses: actions/checkout@v4
@@ -351,7 +351,7 @@ on: push
351
351
  jobs:
352
352
  cypress-run:
353
353
  name: Cypress run
354
- runs-on: ubuntu-22.04
354
+ runs-on: ubuntu-24.04
355
355
  steps:
356
356
  - name: Checkout
357
357
  uses: actions/checkout@v4
@@ -375,7 +375,7 @@ on: push
375
375
  jobs:
376
376
  cypress-run:
377
377
  name: Cypress run
378
- runs-on: ubuntu-22.04
378
+ runs-on: ubuntu-24.04
379
379
  steps:
380
380
  - name: Checkout
381
381
  uses: actions/checkout@v4
@@ -403,7 +403,7 @@ on: push
403
403
  jobs:
404
404
  cypress-run:
405
405
  name: Cypress run
406
- runs-on: ubuntu-22.04
406
+ runs-on: ubuntu-24.04
407
407
  steps:
408
408
  - name: Checkout
409
409
  uses: actions/checkout@v4
@@ -429,7 +429,7 @@ on: push
429
429
  jobs:
430
430
  cypress-run:
431
431
  name: Cypress run
432
- runs-on: ubuntu-22.04
432
+ runs-on: ubuntu-24.04
433
433
  steps:
434
434
  - name: Checkout
435
435
  uses: actions/checkout@v4
@@ -460,7 +460,7 @@ name: Example echo PR number and URL
460
460
  on: push
461
461
  jobs:
462
462
  cypress-run:
463
- runs-on: ubuntu-22.04
463
+ runs-on: ubuntu-24.04
464
464
  steps:
465
465
  - name: Checkout
466
466
  uses: actions/checkout@v4
@@ -498,7 +498,7 @@ on: push
498
498
  jobs:
499
499
  cypress-run:
500
500
  name: Cypress run
501
- runs-on: ubuntu-22.04
501
+ runs-on: ubuntu-24.04
502
502
  steps:
503
503
  - name: Checkout
504
504
  uses: actions/checkout@v4
@@ -525,7 +525,7 @@ name: tags
525
525
  on: push
526
526
  jobs:
527
527
  cypress-run:
528
- runs-on: ubuntu-22.04
528
+ runs-on: ubuntu-24.04
529
529
  # let's make sure our "app" works on several versions of Node
530
530
  strategy:
531
531
  matrix:
@@ -568,7 +568,7 @@ name: Cypress E2E Tests
568
568
  on: push
569
569
  jobs:
570
570
  cypress-run:
571
- runs-on: ubuntu-22.04
571
+ runs-on: ubuntu-24.04
572
572
  name: E2E
573
573
  steps:
574
574
 
@@ -597,7 +597,7 @@ name: Artifacts
597
597
  on: push
598
598
  jobs:
599
599
  cypress-run:
600
- runs-on: ubuntu-22.04
600
+ runs-on: ubuntu-24.04
601
601
  name: Artifacts
602
602
  steps:
603
603
  - uses: actions/checkout@v4
@@ -626,7 +626,7 @@ name: example-quiet
626
626
  on: push
627
627
  jobs:
628
628
  cypress-run:
629
- runs-on: ubuntu-22.04
629
+ runs-on: ubuntu-24.04
630
630
  steps:
631
631
  - name: Checkout
632
632
  uses: actions/checkout@v4
@@ -651,7 +651,7 @@ on: push
651
651
  jobs:
652
652
  cypress-run:
653
653
  name: Cypress run
654
- runs-on: ubuntu-22.04
654
+ runs-on: ubuntu-24.04
655
655
  steps:
656
656
  - name: Checkout
657
657
  uses: actions/checkout@v4
@@ -674,7 +674,7 @@ on: push
674
674
  jobs:
675
675
  cypress-run:
676
676
  name: Cypress run
677
- runs-on: ubuntu-22.04
677
+ runs-on: ubuntu-24.04
678
678
  steps:
679
679
  - name: Checkout
680
680
  uses: actions/checkout@v4
@@ -699,7 +699,7 @@ on: push
699
699
  jobs:
700
700
  test:
701
701
  name: Cypress run
702
- runs-on: ubuntu-22.04
702
+ runs-on: ubuntu-24.04
703
703
  strategy:
704
704
  # when one test fails, DO NOT cancel the other
705
705
  # containers, because this will kill Cypress processes
@@ -743,7 +743,7 @@ During staged rollout of a new GitHub-hosted runner version, GitHub may provide
743
743
 
744
744
  ### Component and E2E Testing
745
745
 
746
- [Component Testing](https://on.cypress.io/guides/overview/why-cypress#Component) and [End-to-End (E2E) Testing](https://on.cypress.io/guides/overview/why-cypress#End-to-end) types can be combined in the same job using separate steps
746
+ [Component Testing](https://on.cypress.io/app/core-concepts/testing-types#What-is-Component-Testing) and [End-to-End (E2E) Testing](https://on.cypress.io/app/core-concepts/testing-types#What-is-E2E-Testing) types can be combined in the same job using separate steps
747
747
 
748
748
  ```yml
749
749
  - name: Run E2E tests
@@ -768,7 +768,7 @@ name: Build
768
768
  on: push
769
769
  jobs:
770
770
  cypress-run:
771
- runs-on: ubuntu-22.04
771
+ runs-on: ubuntu-24.04
772
772
  steps:
773
773
  - name: Checkout
774
774
  uses: actions/checkout@v4
@@ -787,7 +787,7 @@ name: With server
787
787
  on: push
788
788
  jobs:
789
789
  cypress-run:
790
- runs-on: ubuntu-22.04
790
+ runs-on: ubuntu-24.04
791
791
  steps:
792
792
  - name: Checkout
793
793
  uses: actions/checkout@v4
@@ -805,7 +805,7 @@ name: With server
805
805
  on: push
806
806
  jobs:
807
807
  cypress-run:
808
- runs-on: ubuntu-22.04
808
+ runs-on: ubuntu-24.04
809
809
  steps:
810
810
  - name: Checkout
811
811
  uses: actions/checkout@v4
@@ -831,7 +831,7 @@ name: With servers
831
831
  on: push
832
832
  jobs:
833
833
  cypress-run:
834
- runs-on: ubuntu-22.04
834
+ runs-on: ubuntu-24.04
835
835
  steps:
836
836
  - name: Checkout
837
837
  uses: actions/checkout@v4
@@ -861,7 +861,7 @@ name: After server responds
861
861
  on: push
862
862
  jobs:
863
863
  cypress-run:
864
- runs-on: ubuntu-22.04
864
+ runs-on: ubuntu-24.04
865
865
  steps:
866
866
  - name: Checkout
867
867
  uses: actions/checkout@v4
@@ -927,7 +927,7 @@ Under Node.js version 18 and later, `wait-on` may fail to recognize that a `loca
927
927
 
928
928
  ### Custom install command
929
929
 
930
- If you want to overwrite the install command
930
+ The action installs dependencies based on a package manager lock file using default commands described in the [Installation](#installation) section below. If you want to overwrite the default install command you can use the `install-command` option:
931
931
 
932
932
  ```yml
933
933
  - uses: cypress-io/github-action@v6
@@ -937,6 +937,8 @@ If you want to overwrite the install command
937
937
 
938
938
  See [example-install-command.yml](.github/workflows/example-install-command.yml) workflow file.
939
939
 
940
+ If you do not commit a lock file to the repository, you cannot use the action to install dependencies. In this case you must ensure that dependencies are installed before using the action, and you must use the action option setting `install: false`.
941
+
940
942
  ### Command prefix
941
943
 
942
944
  You can prefix the default test command using the `command-prefix` option. This is useful for example when running [Percy](https://docs.percy.io/docs/cypress), which requires the test command to be wrapped with `percy exec --`.
@@ -946,7 +948,7 @@ name: Visual
946
948
  on: push
947
949
  jobs:
948
950
  e2e:
949
- runs-on: ubuntu-22.04
951
+ runs-on: ubuntu-24.04
950
952
  steps:
951
953
  - name: Checkout
952
954
  uses: actions/checkout@v4
@@ -989,7 +991,7 @@ name: Parallel
989
991
  on: push
990
992
  jobs:
991
993
  test:
992
- runs-on: ubuntu-22.04
994
+ runs-on: ubuntu-24.04
993
995
  strategy:
994
996
  matrix:
995
997
  # run 3 copies of the current job in parallel
@@ -1068,7 +1070,7 @@ repo/
1068
1070
  on: push
1069
1071
  jobs:
1070
1072
  cypress-run:
1071
- runs-on: ubuntu-22.04
1073
+ runs-on: ubuntu-24.04
1072
1074
  steps:
1073
1075
  - uses: actions/checkout@v4
1074
1076
  - uses: cypress-io/github-action@v6
@@ -1106,7 +1108,7 @@ name: E2E
1106
1108
  on: push
1107
1109
  jobs:
1108
1110
  test:
1109
- runs-on: ubuntu-22.04
1111
+ runs-on: ubuntu-24.04
1110
1112
  steps:
1111
1113
  - uses: actions/checkout@v4
1112
1114
  - name: Install root dependencies
@@ -1133,7 +1135,7 @@ name: example-basic-pnpm
1133
1135
  on: push
1134
1136
  jobs:
1135
1137
  basic-pnpm:
1136
- runs-on: ubuntu-22.04
1138
+ runs-on: ubuntu-24.04
1137
1139
  steps:
1138
1140
  - name: Checkout
1139
1141
  uses: actions/checkout@v4
@@ -1144,7 +1146,7 @@ jobs:
1144
1146
  - name: Install Node.js
1145
1147
  uses: actions/setup-node@v4
1146
1148
  with:
1147
- node-version: 20
1149
+ node-version: 22
1148
1150
  cache: 'pnpm'
1149
1151
  cache-dependency-path: examples/basic-pnpm/pnpm-lock.yaml
1150
1152
  - name: Cypress run
@@ -1188,7 +1190,7 @@ name: example-yarn-classic
1188
1190
  on: push
1189
1191
  jobs:
1190
1192
  yarn-classic:
1191
- runs-on: ubuntu-22.04
1193
+ runs-on: ubuntu-24.04
1192
1194
  steps:
1193
1195
  - name: Checkout
1194
1196
  uses: actions/checkout@v4
@@ -1209,7 +1211,7 @@ name: example-yarn-modern
1209
1211
  on: push
1210
1212
  jobs:
1211
1213
  yarn-modern:
1212
- runs-on: ubuntu-22.04
1214
+ runs-on: ubuntu-24.04
1213
1215
  steps:
1214
1216
  - name: Checkout
1215
1217
  uses: actions/checkout@v4
@@ -1234,7 +1236,7 @@ name: example-yarn-modern-pnp
1234
1236
  on: push
1235
1237
  jobs:
1236
1238
  yarn-classic:
1237
- runs-on: ubuntu-22.04
1239
+ runs-on: ubuntu-24.04
1238
1240
  steps:
1239
1241
  - name: Checkout
1240
1242
  uses: actions/checkout@v4
@@ -1264,7 +1266,7 @@ jobs:
1264
1266
  # the example has Yarn workspace in its "root" folder
1265
1267
  # examples/start-and-yarn-workspaces
1266
1268
  # and tests in a subfolder like "workspace-1"
1267
- runs-on: ubuntu-22.04
1269
+ runs-on: ubuntu-24.04
1268
1270
  steps:
1269
1271
  - uses: actions/checkout@v4
1270
1272
  - uses: cypress-io/github-action@v6
@@ -1286,7 +1288,7 @@ name: End-to-end tests
1286
1288
  on: push
1287
1289
  jobs:
1288
1290
  cypress-run:
1289
- runs-on: ubuntu-22.04
1291
+ runs-on: ubuntu-24.04
1290
1292
  # let's make sure our "app" works on several versions of Node
1291
1293
  strategy:
1292
1294
  matrix:
@@ -1321,7 +1323,7 @@ name: Node versions
1321
1323
  on: push
1322
1324
  jobs:
1323
1325
  cypress-run:
1324
- runs-on: ubuntu-22.04
1326
+ runs-on: ubuntu-24.04
1325
1327
  strategy:
1326
1328
  matrix:
1327
1329
  node: [18, 20, 22, 23]
@@ -1347,7 +1349,7 @@ name: E2E
1347
1349
  on: push
1348
1350
  jobs:
1349
1351
  test:
1350
- runs-on: ubuntu-22.04
1352
+ runs-on: ubuntu-24.04
1351
1353
  steps:
1352
1354
  - uses: actions/checkout@v4
1353
1355
  - name: Install dependencies
@@ -1398,7 +1400,7 @@ You can tell the CI to stop the job or the individual step if it runs for longer
1398
1400
  ```yml
1399
1401
  jobs:
1400
1402
  cypress-run:
1401
- runs-on: ubuntu-22.04
1403
+ runs-on: ubuntu-24.04
1402
1404
  # stop the job if it runs over 10 minutes
1403
1405
  # to prevent a hanging process from using all your CI minutes
1404
1406
  timeout-minutes: 10
@@ -1500,17 +1502,15 @@ pinging url https://example.cypress.io for 30 seconds
1500
1502
  @cypress/github-action pinging https://example.cypress.io has finished ok after 185ms +185ms
1501
1503
  ```
1502
1504
 
1503
- ## More information
1504
-
1505
- - Read our blog post [Drastically Simplify Testing on CI with Cypress GitHub Action](https://www.cypress.io/blog/2019/11/20/drastically-simplify-your-testing-with-cypress-github-action/)
1506
- - Read [Test the Preview Vercel Deploys](https://glebbahmutov.com/blog/develop-preview-test/) blog post
1507
- - [Creating actions](https://docs.github.com/en/actions/creating-actions) docs
1508
-
1509
1505
  ## Extras
1510
1506
 
1511
1507
  ### Manual trigger
1512
1508
 
1513
- If you add `workflow_dispatch` event to your workflow, you will be able to start the workflow by clicking a button on the GitHub page, see the [Test External Site Using GitHub Actions](https://www.youtube.com/watch?v=4TeSOj2Iy_Q) video.
1509
+ Each of the `example-*` workflows in the [.github/workflows](https://github.com/cypress-io/github-action/tree/master/.github/workflows) directory is configured to trigger on a `workflow_dispatch` event. This allows any of these workflows to be run manually.
1510
+
1511
+ [Fork](https://docs.github.com/en/pull-requests/collaborating-with-pull-requests/working-with-forks/fork-a-repo) and [clone](https://docs.github.com/en/pull-requests/collaborating-with-pull-requests/working-with-forks/fork-a-repo#cloning-your-forked-repository) this repository to try out the examples live in your own repository copy. Refer to the GitHub Actions documentation [Manually running a workflow](https://docs.github.com/en/actions/managing-workflow-runs-and-deployments/managing-workflow-runs/manually-running-a-workflow) which explains how to run a workflow from the Actions tab on GitHub. Workflows can also be run using the GitHub CLI or the REST API.
1512
+
1513
+ If you configure a `workflow_dispatch` event in your own workflows, you will be able to run them manually in the same way.
1514
1514
 
1515
1515
  ### Outputs
1516
1516
 
@@ -1552,7 +1552,7 @@ name: info
1552
1552
  on: push
1553
1553
  jobs:
1554
1554
  cypress-run:
1555
- runs-on: ubuntu-22.04
1555
+ runs-on: ubuntu-24.04
1556
1556
  steps:
1557
1557
  - name: Checkout
1558
1558
  uses: actions/checkout@v4
@@ -1569,7 +1569,7 @@ name: info
1569
1569
  on: push
1570
1570
  jobs:
1571
1571
  cypress-run:
1572
- runs-on: ubuntu-22.04
1572
+ runs-on: ubuntu-24.04
1573
1573
  steps:
1574
1574
  - name: Checkout
1575
1575
  uses: actions/checkout@v4
@@ -1600,7 +1600,7 @@ on:
1600
1600
  - cron: '0 4 * * *'
1601
1601
  jobs:
1602
1602
  nightly:
1603
- runs-on: ubuntu-22.04
1603
+ runs-on: ubuntu-24.04
1604
1604
  steps:
1605
1605
  - name: Checkout
1606
1606
  uses: actions/checkout@v4
@@ -1621,7 +1621,7 @@ name: Summary titles
1621
1621
  on: push
1622
1622
  jobs:
1623
1623
  tests:
1624
- runs-on: ubuntu-22.04
1624
+ runs-on: ubuntu-24.04
1625
1625
  steps:
1626
1626
  - uses: actions/checkout@v4
1627
1627
  - name: Cypress headless tests
@@ -1649,7 +1649,7 @@ name: Example no summary
1649
1649
  on: push
1650
1650
  jobs:
1651
1651
  cypress-run:
1652
- runs-on: ubuntu-22.04
1652
+ runs-on: ubuntu-24.04
1653
1653
  steps:
1654
1654
  - name: Checkout
1655
1655
  uses: actions/checkout@v4
@@ -1671,7 +1671,7 @@ and is generally aligned with [Node.js's release schedule](https://github.com/no
1671
1671
 
1672
1672
  ### Usage
1673
1673
 
1674
- `github-action` command-type options such as [`install-command`](https://github.com/cypress-io/github-action#custom-install-command), [`build`](https://github.com/cypress-io/github-action#build-app), [`start`](https://github.com/cypress-io/github-action#start-server) and [`command`](https://github.com/cypress-io/github-action#custom-test-command) are executed with the runner's version of Node.js. You can use GitHub's [actions/setup-node](https://github.com/actions/setup-node) to install an explicit Node.js version into the runner.
1674
+ `github-action` command-type options such as [`install-command`](#custom-install-command), [`build`](#build-app), [`start`](#start-server) and [`command`](#custom-test-command) are executed with the runner's version of Node.js. You can use GitHub's [actions/setup-node](https://github.com/actions/setup-node) to install an explicit Node.js version into the runner.
1675
1675
 
1676
1676
  [![Node versions example](https://github.com/cypress-io/github-action/actions/workflows/example-node-versions.yml/badge.svg)](.github/workflows/example-node-versions.yml)
1677
1677
 
package/dist/index.js CHANGED
@@ -48371,6 +48371,7 @@ function useColors() {
48371
48371
 
48372
48372
  // Is webkit? http://stackoverflow.com/a/16459606/376773
48373
48373
  // document is undefined in react-native: https://github.com/facebook/react-native/pull/1632
48374
+ // eslint-disable-next-line no-return-assign
48374
48375
  return (typeof document !== 'undefined' && document.documentElement && document.documentElement.style && document.documentElement.style.WebkitAppearance) ||
48375
48376
  // Is firebug? http://stackoverflow.com/a/398120/376773
48376
48377
  (typeof window !== 'undefined' && window.console && (window.console.firebug || (window.console.exception && window.console.table))) ||
@@ -48686,24 +48687,62 @@ function setup(env) {
48686
48687
  createDebug.names = [];
48687
48688
  createDebug.skips = [];
48688
48689
 
48689
- let i;
48690
- const split = (typeof namespaces === 'string' ? namespaces : '').split(/[\s,]+/);
48691
- const len = split.length;
48690
+ const split = (typeof namespaces === 'string' ? namespaces : '')
48691
+ .trim()
48692
+ .replace(' ', ',')
48693
+ .split(',')
48694
+ .filter(Boolean);
48692
48695
 
48693
- for (i = 0; i < len; i++) {
48694
- if (!split[i]) {
48695
- // ignore empty strings
48696
- continue;
48696
+ for (const ns of split) {
48697
+ if (ns[0] === '-') {
48698
+ createDebug.skips.push(ns.slice(1));
48699
+ } else {
48700
+ createDebug.names.push(ns);
48697
48701
  }
48702
+ }
48703
+ }
48698
48704
 
48699
- namespaces = split[i].replace(/\*/g, '.*?');
48700
-
48701
- if (namespaces[0] === '-') {
48702
- createDebug.skips.push(new RegExp('^' + namespaces.slice(1) + '$'));
48705
+ /**
48706
+ * Checks if the given string matches a namespace template, honoring
48707
+ * asterisks as wildcards.
48708
+ *
48709
+ * @param {String} search
48710
+ * @param {String} template
48711
+ * @return {Boolean}
48712
+ */
48713
+ function matchesTemplate(search, template) {
48714
+ let searchIndex = 0;
48715
+ let templateIndex = 0;
48716
+ let starIndex = -1;
48717
+ let matchIndex = 0;
48718
+
48719
+ while (searchIndex < search.length) {
48720
+ if (templateIndex < template.length && (template[templateIndex] === search[searchIndex] || template[templateIndex] === '*')) {
48721
+ // Match character or proceed with wildcard
48722
+ if (template[templateIndex] === '*') {
48723
+ starIndex = templateIndex;
48724
+ matchIndex = searchIndex;
48725
+ templateIndex++; // Skip the '*'
48726
+ } else {
48727
+ searchIndex++;
48728
+ templateIndex++;
48729
+ }
48730
+ } else if (starIndex !== -1) { // eslint-disable-line no-negated-condition
48731
+ // Backtrack to the last '*' and try to match more characters
48732
+ templateIndex = starIndex + 1;
48733
+ matchIndex++;
48734
+ searchIndex = matchIndex;
48703
48735
  } else {
48704
- createDebug.names.push(new RegExp('^' + namespaces + '$'));
48736
+ return false; // No match
48705
48737
  }
48706
48738
  }
48739
+
48740
+ // Handle trailing '*' in template
48741
+ while (templateIndex < template.length && template[templateIndex] === '*') {
48742
+ templateIndex++;
48743
+ }
48744
+
48745
+ return templateIndex === template.length;
48707
48746
  }
48708
48747
 
48709
48748
  /**
@@ -48714,8 +48753,8 @@ function setup(env) {
48714
48753
  */
48715
48754
  function disable() {
48716
48755
  const namespaces = [
48717
- ...createDebug.names.map(toNamespace),
48718
- ...createDebug.skips.map(toNamespace).map(namespace => '-' + namespace)
48756
+ ...createDebug.names,
48757
+ ...createDebug.skips.map(namespace => '-' + namespace)
48719
48758
  ].join(',');
48720
48759
  createDebug.enable('');
48721
48760
  return namespaces;
@@ -48729,21 +48768,14 @@ function setup(env) {
48729
48768
  * @api public
48730
48769
  */
48731
48770
  function enabled(name) {
48732
- if (name[name.length - 1] === '*') {
48733
- return true;
48734
- }
48735
-
48736
- let i;
48737
- let len;
48738
-
48739
- for (i = 0, len = createDebug.skips.length; i < len; i++) {
48740
- if (createDebug.skips[i].test(name)) {
48771
+ for (const skip of createDebug.skips) {
48772
+ if (matchesTemplate(name, skip)) {
48741
48773
  return false;
48742
48774
  }
48743
48775
  }
48744
48776
 
48745
- for (i = 0, len = createDebug.names.length; i < len; i++) {
48746
- if (createDebug.names[i].test(name)) {
48777
+ for (const ns of createDebug.names) {
48778
+ if (matchesTemplate(name, ns)) {
48747
48779
  return true;
48748
48780
  }
48749
48781
  }
@@ -48751,19 +48783,6 @@ function setup(env) {
48751
48783
  return false;
48752
48784
  }
48753
48785
 
48754
- /**
48755
- * Convert regexp to namespace
48756
- *
48757
- * @param {RegExp} regxep
48758
- * @return {String} namespace
48759
- * @api private
48760
- */
48761
- function toNamespace(regexp) {
48762
- return regexp.toString()
48763
- .substring(2, regexp.toString().length - 2)
48764
- .replace(/\.\*\?$/, '*');
48765
- }
48766
-
48767
48786
  /**
48768
48787
  * Coerce `val`.
48769
48788
  *
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@cypress/github-action",
3
- "version": "6.7.7",
3
+ "version": "6.7.8",
4
4
  "description": "GitHub Action for running Cypress end-to-end and component tests",
5
5
  "private": false,
6
6
  "main": "dist/index.js",
@@ -13,7 +13,7 @@
13
13
  "test": "echo \"There are no tests :(\"",
14
14
  "build": "ncc build -o dist index.js",
15
15
  "format": "prettier --write index.js src/ping.js",
16
- "check:markdown": "find *.md docs/*.md -print0 | xargs -0 -n1 markdown-link-check -c md-linkcheck.json",
16
+ "check:markdown": "find *.md docs/*.md -print0 | xargs -0 -n1 markdown-link-check",
17
17
  "update:cypress": "./scripts/update-cypress-latest.sh",
18
18
  "prepare": "husky"
19
19
  },
@@ -38,7 +38,7 @@
38
38
  "@actions/io": "1.1.3",
39
39
  "@octokit/core": "4.2.0",
40
40
  "argument-vector": "1.0.2",
41
- "debug": "4.3.7",
41
+ "debug": "4.4.0",
42
42
  "find-yarn-workspace-root": "2.0.0",
43
43
  "got": "11.8.6",
44
44
  "hasha": "5.2.2",
@@ -46,10 +46,10 @@
46
46
  "supports-color": "9.3.1"
47
47
  },
48
48
  "devDependencies": {
49
- "@types/node": "20.16.11",
49
+ "@types/node": "22.10.1",
50
50
  "@vercel/ncc": "0.38.1",
51
- "husky": "9.1.6",
52
- "markdown-link-check": "3.12.2",
51
+ "husky": "9.1.7",
52
+ "markdown-link-check": "3.13.6",
53
53
  "prettier": "3.3.3"
54
54
  },
55
55
  "publishConfig": {