@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.
- package/README.md +88 -78
- package/dist/index.js +24368 -1021
- 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.
|
|
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
|
[](.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-
|
|
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
|
[](.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 (
|
|
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/
|
|
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-
|
|
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-
|
|
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-
|
|
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-
|
|
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-
|
|
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-
|
|
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-
|
|
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-
|
|
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-
|
|
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-
|
|
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-
|
|
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-
|
|
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-
|
|
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-
|
|
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-
|
|
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-
|
|
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-
|
|
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/
|
|
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-
|
|
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/
|
|
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-
|
|
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-
|
|
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-
|
|
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-
|
|
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-
|
|
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
|

|
|
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://
|
|
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://
|
|
741
|
-
- [Spec Prioritization](https://
|
|
742
|
-
- [
|
|
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/
|
|
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-
|
|
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-
|
|
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-
|
|
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-
|
|
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-
|
|
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-
|
|
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-
|
|
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-
|
|
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-
|
|
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-
|
|
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:
|
|
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-
|
|
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-
|
|
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-
|
|
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-
|
|
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-
|
|
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-
|
|
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-
|
|
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-
|
|
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
|
|
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
|
-
|
|
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
|
-
|
|
1494
|
+
You can also enable debug logs by setting the environment variable `DEBUG='@cypress/github-action'`, for example:
|
|
1494
1495
|
|
|
1495
|
-
|
|
1496
|
-
-
|
|
1497
|
-
|
|
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
|
-
|
|
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-
|
|
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-
|
|
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-
|
|
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-
|
|
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-
|
|
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
|
|
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`](
|
|
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
|
[](.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
|
|
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
|