@cypress/github-action 6.7.6 → 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 +88 -78
  2. package/dist/index.js +24368 -1021
  3. package/package.json +8 -8
package/README.md CHANGED
@@ -63,14 +63,12 @@
63
63
  - Suppress [job summary](#suppress-job-summary)
64
64
  - [More examples](#more-examples)
65
65
 
66
- Examples contained in this repository, based on current Cypress versions, can be found in the [examples](./examples) directory. Examples for [Legacy Configuration](https://on.cypress.io/guides/references/legacy-configuration), which use Cypress `9.7.0`, are no longer maintained. They can be referred to in the [examples/v9](https://github.com/cypress-io/github-action/tree/v5/examples/v9) directory of the [v5](https://github.com/cypress-io/github-action/tree/v5/) branch.
66
+ Examples contained in this repository, based on current Cypress versions, can be found in the [examples](./examples) directory.
67
67
 
68
68
  Live examples, such as [example-basic.yml](.github/workflows/example-basic.yml) are shown together with a status badge. Click on the status badge to read the source code of the workflow, for example
69
69
 
70
70
  [![End-to-End example](https://github.com/cypress-io/github-action/actions/workflows/example-basic.yml/badge.svg)](.github/workflows/example-basic.yml)
71
71
 
72
- Older **external** examples based on a [Legacy Configuration](https://on.cypress.io/guides/references/legacy-configuration) for Cypress `9` and earlier can be found in the [README](https://github.com/cypress-io/github-action/blob/v5/README.md) for version `v5`.
73
-
74
72
  **Note:** this package assumes that [cypress](https://www.npmjs.com/package/cypress) is declared as a development dependency in the [package.json](https://docs.npmjs.com/creating-a-package-json-file) file. The [cypress npm module](https://www.npmjs.com/package/cypress) is required to run Cypress via its [Module API](https://on.cypress.io/module-api).
75
73
 
76
74
  ### End-to-End Testing
@@ -80,7 +78,7 @@ name: End-to-end tests
80
78
  on: push
81
79
  jobs:
82
80
  cypress-run:
83
- runs-on: ubuntu-22.04
81
+ runs-on: ubuntu-24.04
84
82
  steps:
85
83
  - name: Checkout
86
84
  uses: actions/checkout@v4
@@ -92,9 +90,9 @@ jobs:
92
90
 
93
91
  [![End-to-End example](https://github.com/cypress-io/github-action/actions/workflows/example-basic.yml/badge.svg)](.github/workflows/example-basic.yml)
94
92
 
95
- 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.
96
94
 
97
- 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.
98
96
 
99
97
  ### Component Testing
100
98
 
@@ -105,7 +103,7 @@ name: Component tests
105
103
  on: push
106
104
  jobs:
107
105
  cypress-run:
108
- runs-on: ubuntu-22.04
106
+ runs-on: ubuntu-24.04
109
107
  steps:
110
108
  - name: Checkout
111
109
  uses: actions/checkout@v4
@@ -152,7 +150,7 @@ name: Chrome
152
150
  on: push
153
151
  jobs:
154
152
  chrome:
155
- runs-on: ubuntu-22.04
153
+ runs-on: ubuntu-24.04
156
154
  name: E2E on Chrome
157
155
  steps:
158
156
  - uses: actions/checkout@v4
@@ -170,7 +168,7 @@ name: Firefox
170
168
  on: push
171
169
  jobs:
172
170
  firefox:
173
- runs-on: ubuntu-22.04
171
+ runs-on: ubuntu-24.04
174
172
  name: E2E on Firefox
175
173
  steps:
176
174
  - uses: actions/checkout@v4
@@ -188,7 +186,7 @@ name: Edge
188
186
  on: push
189
187
  jobs:
190
188
  edge:
191
- runs-on: ubuntu-22.04
189
+ runs-on: ubuntu-24.04
192
190
  name: E2E on Edge
193
191
  steps:
194
192
  - uses: actions/checkout@v4
@@ -208,7 +206,7 @@ name: Chrome headed
208
206
  on: push
209
207
  jobs:
210
208
  cypress-run:
211
- runs-on: ubuntu-22.04
209
+ runs-on: ubuntu-24.04
212
210
  steps:
213
211
  - uses: actions/checkout@v4
214
212
  - uses: cypress-io/github-action@v6
@@ -226,7 +224,7 @@ name: Test in Docker
226
224
  on: push
227
225
  jobs:
228
226
  cypress-run:
229
- runs-on: ubuntu-22.04
227
+ runs-on: ubuntu-24.04
230
228
  # Cypress Docker image from https://hub.docker.com/r/cypress
231
229
  # with browsers pre-installed
232
230
  container:
@@ -250,7 +248,7 @@ name: Test with Docker cypress/included
250
248
  on: push
251
249
  jobs:
252
250
  cypress-run:
253
- runs-on: ubuntu-22.04
251
+ runs-on: ubuntu-24.04
254
252
  container:
255
253
  # Cypress Docker image from https://hub.docker.com/r/cypress/included
256
254
  # with Cypress globally pre-installed
@@ -278,7 +276,7 @@ name: Cypress tests
278
276
  on: push
279
277
  jobs:
280
278
  cypress-run:
281
- runs-on: ubuntu-22.04
279
+ runs-on: ubuntu-24.04
282
280
  steps:
283
281
  - name: Checkout
284
282
  uses: actions/checkout@v4
@@ -296,7 +294,7 @@ name: Cypress tests
296
294
  on: push
297
295
  jobs:
298
296
  cypress-run:
299
- runs-on: ubuntu-22.04
297
+ runs-on: ubuntu-24.04
300
298
  steps:
301
299
  - name: Checkout
302
300
  uses: actions/checkout@v4
@@ -322,7 +320,7 @@ on: push
322
320
  jobs:
323
321
  cypress-run:
324
322
  name: Cypress run
325
- runs-on: ubuntu-22.04
323
+ runs-on: ubuntu-24.04
326
324
  steps:
327
325
  - name: Checkout
328
326
  uses: actions/checkout@v4
@@ -353,7 +351,7 @@ on: push
353
351
  jobs:
354
352
  cypress-run:
355
353
  name: Cypress run
356
- runs-on: ubuntu-22.04
354
+ runs-on: ubuntu-24.04
357
355
  steps:
358
356
  - name: Checkout
359
357
  uses: actions/checkout@v4
@@ -377,7 +375,7 @@ on: push
377
375
  jobs:
378
376
  cypress-run:
379
377
  name: Cypress run
380
- runs-on: ubuntu-22.04
378
+ runs-on: ubuntu-24.04
381
379
  steps:
382
380
  - name: Checkout
383
381
  uses: actions/checkout@v4
@@ -405,7 +403,7 @@ on: push
405
403
  jobs:
406
404
  cypress-run:
407
405
  name: Cypress run
408
- runs-on: ubuntu-22.04
406
+ runs-on: ubuntu-24.04
409
407
  steps:
410
408
  - name: Checkout
411
409
  uses: actions/checkout@v4
@@ -431,7 +429,7 @@ on: push
431
429
  jobs:
432
430
  cypress-run:
433
431
  name: Cypress run
434
- runs-on: ubuntu-22.04
432
+ runs-on: ubuntu-24.04
435
433
  steps:
436
434
  - name: Checkout
437
435
  uses: actions/checkout@v4
@@ -462,7 +460,7 @@ name: Example echo PR number and URL
462
460
  on: push
463
461
  jobs:
464
462
  cypress-run:
465
- runs-on: ubuntu-22.04
463
+ runs-on: ubuntu-24.04
466
464
  steps:
467
465
  - name: Checkout
468
466
  uses: actions/checkout@v4
@@ -500,7 +498,7 @@ on: push
500
498
  jobs:
501
499
  cypress-run:
502
500
  name: Cypress run
503
- runs-on: ubuntu-22.04
501
+ runs-on: ubuntu-24.04
504
502
  steps:
505
503
  - name: Checkout
506
504
  uses: actions/checkout@v4
@@ -527,11 +525,11 @@ name: tags
527
525
  on: push
528
526
  jobs:
529
527
  cypress-run:
530
- runs-on: ubuntu-22.04
528
+ runs-on: ubuntu-24.04
531
529
  # let's make sure our "app" works on several versions of Node
532
530
  strategy:
533
531
  matrix:
534
- node: [18, 20, 22]
532
+ node: [18, 20, 22, 23]
535
533
  name: E2E on Node v${{ matrix.node }}
536
534
  steps:
537
535
  - name: Setup Node
@@ -561,7 +559,7 @@ You can pass multiple tags using commas like `tag: node-18,nightly,staging`.
561
559
 
562
560
  ### Specify auto cancel after failures
563
561
 
564
- Specify the number of failed tests that will cancel a run when using the [Cypress Cloud Auto Cancellation](https://docs.cypress.io/guides/cloud/smart-orchestration#Auto-Cancellation) feature.
562
+ Specify the number of failed tests that will cancel a run when using the [Cypress Cloud Auto Cancellation](https://docs.cypress.io/cloud/features/smart-orchestration/run-cancellation) feature.
565
563
 
566
564
  This feature requires Cypress 12.6.0 or later and a [Cypress Cloud Business or Enterprise](https://www.cypress.io/cloud/) account.
567
565
 
@@ -570,7 +568,7 @@ name: Cypress E2E Tests
570
568
  on: push
571
569
  jobs:
572
570
  cypress-run:
573
- runs-on: ubuntu-22.04
571
+ runs-on: ubuntu-24.04
574
572
  name: E2E
575
573
  steps:
576
574
 
@@ -588,7 +586,7 @@ jobs:
588
586
  GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
589
587
  ```
590
588
 
591
- See [Auto Cancellation](https://docs.cypress.io/guides/cloud/smart-orchestration#Auto-Cancellation) for more information.
589
+ See [Auto Cancellation](https://docs.cypress.io/cloud/features/smart-orchestration/run-cancellation) for more information.
592
590
 
593
591
  ### Artifacts
594
592
 
@@ -599,7 +597,7 @@ name: Artifacts
599
597
  on: push
600
598
  jobs:
601
599
  cypress-run:
602
- runs-on: ubuntu-22.04
600
+ runs-on: ubuntu-24.04
603
601
  name: Artifacts
604
602
  steps:
605
603
  - uses: actions/checkout@v4
@@ -628,7 +626,7 @@ name: example-quiet
628
626
  on: push
629
627
  jobs:
630
628
  cypress-run:
631
- runs-on: ubuntu-22.04
629
+ runs-on: ubuntu-24.04
632
630
  steps:
633
631
  - name: Checkout
634
632
  uses: actions/checkout@v4
@@ -653,7 +651,7 @@ on: push
653
651
  jobs:
654
652
  cypress-run:
655
653
  name: Cypress run
656
- runs-on: ubuntu-22.04
654
+ runs-on: ubuntu-24.04
657
655
  steps:
658
656
  - name: Checkout
659
657
  uses: actions/checkout@v4
@@ -676,7 +674,7 @@ on: push
676
674
  jobs:
677
675
  cypress-run:
678
676
  name: Cypress run
679
- runs-on: ubuntu-22.04
677
+ runs-on: ubuntu-24.04
680
678
  steps:
681
679
  - name: Checkout
682
680
  uses: actions/checkout@v4
@@ -701,7 +699,7 @@ on: push
701
699
  jobs:
702
700
  test:
703
701
  name: Cypress run
704
- runs-on: ubuntu-22.04
702
+ runs-on: ubuntu-24.04
705
703
  strategy:
706
704
  # when one test fails, DO NOT cancel the other
707
705
  # containers, because this will kill Cypress processes
@@ -733,19 +731,19 @@ jobs:
733
731
 
734
732
  ![Parallel run](images/parallel.png)
735
733
 
736
- The Cypress GH Action does not spawn or create any additional containers - it only links the multiple containers spawned using the matrix strategy into a single logical Cypress Cloud run where it splits the specs amongst the machines. See the [Cypress Cloud Smart Orchestration](https://on.cypress.io/guides/cloud/smart-orchestration/) guide for a detailed explanation.
734
+ The Cypress GH Action does not spawn or create any additional containers - it only links the multiple containers spawned using the matrix strategy into a single logical Cypress Cloud run where it splits the specs amongst the machines. See the [Cypress Cloud Smart Orchestration](https://docs.cypress.io/cloud/features/smart-orchestration/overview/) guide for a detailed explanation.
737
735
 
738
736
  If you use the GitHub Actions facility for [Re-running workflows and jobs](https://docs.github.com/en/actions/managing-workflow-runs/re-running-workflows-and-jobs), note that [Re-running failed jobs in a workflow](https://docs.github.com/en/actions/managing-workflow-runs/re-running-workflows-and-jobs?tool=webui#re-running-failed-jobs-in-a-workflow) is not suited for use with parallel recording into Cypress Cloud. Re-running failed jobs in this situation does not simply re-run failed Cypress tests. Instead it re-runs **all** Cypress tests, load-balanced over the containers with failed jobs.
739
737
 
740
- To optimize runs when there are failing tests present, refer to optional [Cypress Cloud Smart Orchestration](https://on.cypress.io/guides/cloud/smart-orchestration/) Premium features:
741
- - [Spec Prioritization](https://on.cypress.io/guides/cloud/smart-orchestration/spec-prioritization)
742
- - [Run Cancellation](https://docs.cypress.io/guides/cloud/smart-orchestration/run-cancellation). See also [Specify auto cancel after failures](#specify-auto-cancel-after-failures) for details of how to set this option in a Cypress GH Action workflow.
738
+ To optimize runs when there are failing tests present, refer to optional [Cypress Cloud Smart Orchestration](https://docs.cypress.io/cloud/features/smart-orchestration/overview/) Premium features:
739
+ - [Spec Prioritization](https://docs.cypress.io/cloud/features/smart-orchestration/spec-prioritization)
740
+ - [Auto Cancellation](https://docs.cypress.io/guides/cloud/smart-orchestration/run-cancellation). See also [Specify auto cancel after failures](#specify-auto-cancel-after-failures) for details of how to set this option in a Cypress GH Action workflow.
743
741
 
744
742
  During staged rollout of a new GitHub-hosted runner version, GitHub may provide a mixture of current and new image versions used by the container matrix. It is recommended to use a [Docker image](#docker-image) in the parallel job run which avoids any Cypress Cloud errors due to browser major version mismatch from the two different image versions. A [Docker image](#docker-image) is not necessary if testing against the default built-in Electron browser because this browser version is fixed by the Cypress version in use and it is unaffected by any GitHub runner image rollout.
745
743
 
746
744
  ### Component and E2E Testing
747
745
 
748
- [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
749
747
 
750
748
  ```yml
751
749
  - name: Run E2E tests
@@ -770,7 +768,7 @@ name: Build
770
768
  on: push
771
769
  jobs:
772
770
  cypress-run:
773
- runs-on: ubuntu-22.04
771
+ runs-on: ubuntu-24.04
774
772
  steps:
775
773
  - name: Checkout
776
774
  uses: actions/checkout@v4
@@ -789,7 +787,7 @@ name: With server
789
787
  on: push
790
788
  jobs:
791
789
  cypress-run:
792
- runs-on: ubuntu-22.04
790
+ runs-on: ubuntu-24.04
793
791
  steps:
794
792
  - name: Checkout
795
793
  uses: actions/checkout@v4
@@ -807,7 +805,7 @@ name: With server
807
805
  on: push
808
806
  jobs:
809
807
  cypress-run:
810
- runs-on: ubuntu-22.04
808
+ runs-on: ubuntu-24.04
811
809
  steps:
812
810
  - name: Checkout
813
811
  uses: actions/checkout@v4
@@ -833,7 +831,7 @@ name: With servers
833
831
  on: push
834
832
  jobs:
835
833
  cypress-run:
836
- runs-on: ubuntu-22.04
834
+ runs-on: ubuntu-24.04
837
835
  steps:
838
836
  - name: Checkout
839
837
  uses: actions/checkout@v4
@@ -863,7 +861,7 @@ name: After server responds
863
861
  on: push
864
862
  jobs:
865
863
  cypress-run:
866
- runs-on: ubuntu-22.04
864
+ runs-on: ubuntu-24.04
867
865
  steps:
868
866
  - name: Checkout
869
867
  uses: actions/checkout@v4
@@ -929,7 +927,7 @@ Under Node.js version 18 and later, `wait-on` may fail to recognize that a `loca
929
927
 
930
928
  ### Custom install command
931
929
 
932
- 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:
933
931
 
934
932
  ```yml
935
933
  - uses: cypress-io/github-action@v6
@@ -939,6 +937,8 @@ If you want to overwrite the install command
939
937
 
940
938
  See [example-install-command.yml](.github/workflows/example-install-command.yml) workflow file.
941
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
+
942
942
  ### Command prefix
943
943
 
944
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 --`.
@@ -948,7 +948,7 @@ name: Visual
948
948
  on: push
949
949
  jobs:
950
950
  e2e:
951
- runs-on: ubuntu-22.04
951
+ runs-on: ubuntu-24.04
952
952
  steps:
953
953
  - name: Checkout
954
954
  uses: actions/checkout@v4
@@ -991,7 +991,7 @@ name: Parallel
991
991
  on: push
992
992
  jobs:
993
993
  test:
994
- runs-on: ubuntu-22.04
994
+ runs-on: ubuntu-24.04
995
995
  strategy:
996
996
  matrix:
997
997
  # run 3 copies of the current job in parallel
@@ -1070,7 +1070,7 @@ repo/
1070
1070
  on: push
1071
1071
  jobs:
1072
1072
  cypress-run:
1073
- runs-on: ubuntu-22.04
1073
+ runs-on: ubuntu-24.04
1074
1074
  steps:
1075
1075
  - uses: actions/checkout@v4
1076
1076
  - uses: cypress-io/github-action@v6
@@ -1108,7 +1108,7 @@ name: E2E
1108
1108
  on: push
1109
1109
  jobs:
1110
1110
  test:
1111
- runs-on: ubuntu-22.04
1111
+ runs-on: ubuntu-24.04
1112
1112
  steps:
1113
1113
  - uses: actions/checkout@v4
1114
1114
  - name: Install root dependencies
@@ -1135,7 +1135,7 @@ name: example-basic-pnpm
1135
1135
  on: push
1136
1136
  jobs:
1137
1137
  basic-pnpm:
1138
- runs-on: ubuntu-22.04
1138
+ runs-on: ubuntu-24.04
1139
1139
  steps:
1140
1140
  - name: Checkout
1141
1141
  uses: actions/checkout@v4
@@ -1146,7 +1146,7 @@ jobs:
1146
1146
  - name: Install Node.js
1147
1147
  uses: actions/setup-node@v4
1148
1148
  with:
1149
- node-version: 20
1149
+ node-version: 22
1150
1150
  cache: 'pnpm'
1151
1151
  cache-dependency-path: examples/basic-pnpm/pnpm-lock.yaml
1152
1152
  - name: Cypress run
@@ -1190,7 +1190,7 @@ name: example-yarn-classic
1190
1190
  on: push
1191
1191
  jobs:
1192
1192
  yarn-classic:
1193
- runs-on: ubuntu-22.04
1193
+ runs-on: ubuntu-24.04
1194
1194
  steps:
1195
1195
  - name: Checkout
1196
1196
  uses: actions/checkout@v4
@@ -1211,7 +1211,7 @@ name: example-yarn-modern
1211
1211
  on: push
1212
1212
  jobs:
1213
1213
  yarn-modern:
1214
- runs-on: ubuntu-22.04
1214
+ runs-on: ubuntu-24.04
1215
1215
  steps:
1216
1216
  - name: Checkout
1217
1217
  uses: actions/checkout@v4
@@ -1236,7 +1236,7 @@ name: example-yarn-modern-pnp
1236
1236
  on: push
1237
1237
  jobs:
1238
1238
  yarn-classic:
1239
- runs-on: ubuntu-22.04
1239
+ runs-on: ubuntu-24.04
1240
1240
  steps:
1241
1241
  - name: Checkout
1242
1242
  uses: actions/checkout@v4
@@ -1266,7 +1266,7 @@ jobs:
1266
1266
  # the example has Yarn workspace in its "root" folder
1267
1267
  # examples/start-and-yarn-workspaces
1268
1268
  # and tests in a subfolder like "workspace-1"
1269
- runs-on: ubuntu-22.04
1269
+ runs-on: ubuntu-24.04
1270
1270
  steps:
1271
1271
  - uses: actions/checkout@v4
1272
1272
  - uses: cypress-io/github-action@v6
@@ -1288,11 +1288,11 @@ name: End-to-end tests
1288
1288
  on: push
1289
1289
  jobs:
1290
1290
  cypress-run:
1291
- runs-on: ubuntu-22.04
1291
+ runs-on: ubuntu-24.04
1292
1292
  # let's make sure our "app" works on several versions of Node
1293
1293
  strategy:
1294
1294
  matrix:
1295
- node: [18, 20, 22]
1295
+ node: [18, 20, 22, 23]
1296
1296
  name: E2E on Node v${{ matrix.node }}
1297
1297
  steps:
1298
1298
  - name: Setup Node
@@ -1323,10 +1323,10 @@ name: Node versions
1323
1323
  on: push
1324
1324
  jobs:
1325
1325
  cypress-run:
1326
- runs-on: ubuntu-22.04
1326
+ runs-on: ubuntu-24.04
1327
1327
  strategy:
1328
1328
  matrix:
1329
- node: [18, 20, 22]
1329
+ node: [18, 20, 22, 23]
1330
1330
  name: E2E on Node v${{ matrix.node }}
1331
1331
  steps:
1332
1332
  - uses: actions/setup-node@v4
@@ -1349,7 +1349,7 @@ name: E2E
1349
1349
  on: push
1350
1350
  jobs:
1351
1351
  test:
1352
- runs-on: ubuntu-22.04
1352
+ runs-on: ubuntu-24.04
1353
1353
  steps:
1354
1354
  - uses: actions/checkout@v4
1355
1355
  - name: Install dependencies
@@ -1400,7 +1400,7 @@ You can tell the CI to stop the job or the individual step if it runs for longer
1400
1400
  ```yml
1401
1401
  jobs:
1402
1402
  cypress-run:
1403
- runs-on: ubuntu-22.04
1403
+ runs-on: ubuntu-24.04
1404
1404
  # stop the job if it runs over 10 minutes
1405
1405
  # to prevent a hanging process from using all your CI minutes
1406
1406
  timeout-minutes: 10
@@ -1460,7 +1460,7 @@ To collect more verbose GitHub Action logs you can set a GitHub secret or variab
1460
1460
 
1461
1461
  ### Logs from the test runner
1462
1462
 
1463
- To see the [Cypress debug logs](http://on.cypress.io/troubleshooting#Print-DEBUG-logs) add an environment variable to the action:
1463
+ To see all [Cypress debug logs](http://on.cypress.io/troubleshooting#Print-DEBUG-logs), add the environment variable `DEBUG` to the workflow using the value `cypress:*`:
1464
1464
 
1465
1465
  ```yml
1466
1466
  - name: Cypress tests with debug logs
@@ -1469,6 +1469,8 @@ To see the [Cypress debug logs](http://on.cypress.io/troubleshooting#Print-DEBUG
1469
1469
  DEBUG: 'cypress:*'
1470
1470
  ```
1471
1471
 
1472
+ Replace the value `cypress:*` with specific [Cypress log sources](https://on.cypress.io/troubleshooting#Log-sources) to filter debug log output.
1473
+
1472
1474
  ### Debugging waiting for URL to respond
1473
1475
 
1474
1476
  If you have a problem with `wait-on` not working, you can check the [src/ping.js](src/ping.js) logic from the local machine.
@@ -1478,29 +1480,37 @@ If you have a problem with `wait-on` not working, you can check the [src/ping.js
1478
1480
  - start your server
1479
1481
  - from another terminal call the `ping` yourself to validate the server is responding:
1480
1482
 
1481
- ```
1482
- $ node src/ping-cli.js <url>
1483
+ ```shell
1484
+ node src/ping-cli.js <url>
1483
1485
  ```
1484
1486
 
1485
- For example
1487
+ For example:
1486
1488
 
1487
- ```
1489
+ ```text
1488
1490
  $ node src/ping-cli.js https://example.cypress.io
1489
1491
  pinging url https://example.cypress.io for 30 seconds
1490
- ::debug::pinging https://example.cypress.io has finished ok
1491
1492
  ```
1492
1493
 
1493
- ## More information
1494
+ You can also enable debug logs by setting the environment variable `DEBUG='@cypress/github-action'`, for example:
1494
1495
 
1495
- - 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/)
1496
- - Read [Test the Preview Vercel Deploys](https://glebbahmutov.com/blog/develop-preview-test/) blog post
1497
- - [Creating actions](https://docs.github.com/en/actions/creating-actions) docs
1496
+ ```text
1497
+ $ DEBUG='@cypress/github-action' node src/ping-cli.js https://example.cypress.io
1498
+ pinging url https://example.cypress.io for 30 seconds
1499
+ @cypress/github-action total ping timeout 60000 +0ms
1500
+ @cypress/github-action individual ping timeout 30000ms +0ms
1501
+ @cypress/github-action retries limit 2 +0ms
1502
+ @cypress/github-action pinging https://example.cypress.io has finished ok after 185ms +185ms
1503
+ ```
1498
1504
 
1499
1505
  ## Extras
1500
1506
 
1501
1507
  ### Manual trigger
1502
1508
 
1503
- 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.
1504
1514
 
1505
1515
  ### Outputs
1506
1516
 
@@ -1542,7 +1552,7 @@ name: info
1542
1552
  on: push
1543
1553
  jobs:
1544
1554
  cypress-run:
1545
- runs-on: ubuntu-22.04
1555
+ runs-on: ubuntu-24.04
1546
1556
  steps:
1547
1557
  - name: Checkout
1548
1558
  uses: actions/checkout@v4
@@ -1559,7 +1569,7 @@ name: info
1559
1569
  on: push
1560
1570
  jobs:
1561
1571
  cypress-run:
1562
- runs-on: ubuntu-22.04
1572
+ runs-on: ubuntu-24.04
1563
1573
  steps:
1564
1574
  - name: Checkout
1565
1575
  uses: actions/checkout@v4
@@ -1590,7 +1600,7 @@ on:
1590
1600
  - cron: '0 4 * * *'
1591
1601
  jobs:
1592
1602
  nightly:
1593
- runs-on: ubuntu-22.04
1603
+ runs-on: ubuntu-24.04
1594
1604
  steps:
1595
1605
  - name: Checkout
1596
1606
  uses: actions/checkout@v4
@@ -1611,7 +1621,7 @@ name: Summary titles
1611
1621
  on: push
1612
1622
  jobs:
1613
1623
  tests:
1614
- runs-on: ubuntu-22.04
1624
+ runs-on: ubuntu-24.04
1615
1625
  steps:
1616
1626
  - uses: actions/checkout@v4
1617
1627
  - name: Cypress headless tests
@@ -1639,7 +1649,7 @@ name: Example no summary
1639
1649
  on: push
1640
1650
  jobs:
1641
1651
  cypress-run:
1642
- runs-on: ubuntu-22.04
1652
+ runs-on: ubuntu-24.04
1643
1653
  steps:
1644
1654
  - name: Checkout
1645
1655
  uses: actions/checkout@v4
@@ -1655,13 +1665,13 @@ jobs:
1655
1665
 
1656
1666
  Node.js is required to run this action. The recommended version `v6` supports:
1657
1667
 
1658
- - **Node.js** 18.x, 20.x and 22.x
1668
+ - **Node.js** 18.x, 20.x, 22.x and 23.x
1659
1669
 
1660
1670
  and is generally aligned with [Node.js's release schedule](https://github.com/nodejs/Release).
1661
1671
 
1662
1672
  ### Usage
1663
1673
 
1664
- `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.
1665
1675
 
1666
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)
1667
1677
 
@@ -1673,7 +1683,7 @@ View the [CHANGELOG](./CHANGELOG.md) document for an overview of version changes
1673
1683
 
1674
1684
  ## Compatibility
1675
1685
 
1676
- - `github-action@v6` is the current recommended version and uses `node20`
1686
+ - `github-action@v6` is the current recommended version, uses `node20` and is compatible with Cypress `10` and above.
1677
1687
  - `github-action` versions `v1` to `v5` are unsupported: they rely on Node.js `12` and `16` in End-of-life status.
1678
1688
 
1679
1689
  ## Contributing