@cypress/github-action 5.0.8 → 5.1.0

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 CHANGED
@@ -8,16 +8,17 @@
8
8
  - [Explicit version](#explicit-version)
9
9
  - Run tests in a given [browser](#browser)
10
10
  - using [Firefox](#firefox)
11
- - using [Edge](#edge)
11
+ - using [Edge](#edge)
12
12
  - using [headed mode](#headed)
13
13
  - Using [Docker image](#docker-image)
14
14
  - Specify [environment variables](#env)
15
15
  - Run only some [spec files](#specs)
16
16
  - Test [project in subfolder](#project)
17
17
  - [Record results](#record-test-results-on-cypress-cloud) on Cypress Cloud
18
+ - Specify [auto cancel](#specify-auto-cancel-after-failures) after failures
18
19
  - Tag [recordings](#tag-recordings)
19
- - [Quiet output](#quiet-flag)
20
20
  - Store [test artifacts](#artifacts) on GitHub
21
+ - [Quiet output](#quiet-flag)
21
22
  - Set Cypress [config values](#config)
22
23
  - Use specific [config file](#config-file)
23
24
  - Run tests in [parallel](#parallel)
@@ -404,6 +405,39 @@ The recording will have tags as labels on the run.
404
405
 
405
406
  You can pass multiple tags using commas like `tag: node-10,nightly,staging`.
406
407
 
408
+ ### Specify auto cancel after failures
409
+
410
+ 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.
411
+
412
+ This feature requires Cypress 12.6.0 or later and a [Cypress Cloud Business or Enterprise](https://www.cypress.io/cloud/) account.
413
+
414
+ ```yml
415
+ name: Cypress E2E Tests
416
+ on: [push]
417
+ jobs:
418
+ cypress-run:
419
+ runs-on: ubuntu-22.04
420
+ name: E2E
421
+ steps:
422
+ - name: Setup Node
423
+ uses: actions/setup-node@v3
424
+
425
+ - name: Checkout
426
+ uses: actions/checkout@v3
427
+
428
+ - name: Cypress run
429
+ uses: cypress-io/github-action@v5
430
+ with:
431
+ record: true
432
+ # Cancel the run after 2 failed tests
433
+ auto-cancel-after-failures: 2
434
+ env:
435
+ CYPRESS_RECORD_KEY: ${{ secrets.CYPRESS_RECORD_KEY }}
436
+ GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
437
+ ```
438
+
439
+ See [Auto Cancellation](https://docs.cypress.io/guides/cloud/smart-orchestration#Auto-Cancellation) for more information.
440
+
407
441
  ### Artifacts
408
442
 
409
443
  If you don't record the test run on Cypress Cloud, you can still store generated videos and screenshots as CI artifacts. See [cypress-gh-action-example](https://github.com/bahmutov/cypress-gh-action-example) and the workflow example below
package/action.yml CHANGED
@@ -7,6 +7,9 @@ inputs:
7
7
  description: 'Sends test results to Cypress Dashboard'
8
8
  required: false
9
9
  default: false
10
+ auto-cancel-after-failures:
11
+ description: 'Overrides the global Cloud configuration to set the failed test threshold for auto cancellation or to disable auto cancellation when recording to the Cloud (requires Cypress 12.x or later)'
12
+ required: false
10
13
  config:
11
14
  description: 'Set configuration values. Separate multiple values with a comma. The values set here override any values set in your configuration file.'
12
15
  required: false
package/dist/index.js CHANGED
@@ -78818,11 +78818,7 @@ const startServersMaybe = () => {
78818
78818
  )
78819
78819
 
78820
78820
  return separateStartCommands.map((startCommand) => {
78821
- return execCommand(
78822
- startCommand,
78823
- false,
78824
- `start server "${startCommand}`
78825
- )
78821
+ return execCommand(startCommand, false, `start server`)
78826
78822
  })
78827
78823
  }
78828
78824
 
@@ -79021,6 +79017,13 @@ const runTestsUsingCommandLine = async () => {
79021
79017
  cmd.push('--config-file')
79022
79018
  cmd.push(quoteArgument(configFileInput))
79023
79019
  }
79020
+ const autoCancelAfterFailures = core.getInput(
79021
+ 'auto-cancel-after-failures'
79022
+ )
79023
+ if (autoCancelAfterFailures) {
79024
+ cmd.push('--auto-cancel-after-failures')
79025
+ cmd.push(quoteArgument(autoCancelAfterFailures))
79026
+ }
79024
79027
 
79025
79028
  if (parallel || group) {
79026
79029
  let buildIdVar = null
@@ -79149,6 +79152,12 @@ const runTests = async () => {
79149
79152
  cypressOptions.browser = core.getInput('browser')
79150
79153
  }
79151
79154
 
79155
+ if (core.getInput('auto-cancel-after-failures')) {
79156
+ cypressOptions.autoCancelAfterFailures = core.getInput(
79157
+ 'auto-cancel-after-failures'
79158
+ )
79159
+ }
79160
+
79152
79161
  if (core.getInput('env')) {
79153
79162
  cypressOptions.env = core.getInput('env')
79154
79163
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@cypress/github-action",
3
- "version": "5.0.8",
3
+ "version": "5.1.0",
4
4
  "description": "GitHub Action for running Cypress end-to-end and component tests",
5
5
  "private": false,
6
6
  "main": "dist/index.js",
@@ -45,12 +45,11 @@
45
45
  "quote": "0.4.0"
46
46
  },
47
47
  "devDependencies": {
48
- "@types/node": "18.11.18",
48
+ "@types/node": "18.13.0",
49
49
  "@vercel/ncc": "0.36.1",
50
50
  "husky": "7.0.4",
51
51
  "markdown-link-check": "3.10.3",
52
- "prettier": "2.8.3",
53
- "stop-build": "1.1.0"
52
+ "prettier": "2.8.4"
54
53
  },
55
54
  "publishConfig": {
56
55
  "access": "public"