@cypress/github-action 7.1.10 → 7.3.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
@@ -37,6 +37,7 @@ The following examples demonstrate the actions' functions.
37
37
  - using [headed mode](#headed)
38
38
  - Using [Docker image](#docker-image)
39
39
  - Specify [environment variables](#env)
40
+ - Specify [expose variables](#expose)
40
41
  - Run only some [spec files](#specs)
41
42
  - Test [project in subfolder](#project)
42
43
  - [Record results](#record-test-results-on-cypress-cloud) on Cypress Cloud
@@ -358,6 +359,30 @@ For more examples, see the workflows below, using environment variables for [rec
358
359
 
359
360
  [![Env example](https://github.com/cypress-io/github-action/actions/workflows/example-env.yml/badge.svg)](.github/workflows/example-env.yml)
360
361
 
362
+ ### Expose
363
+
364
+ Specify the expose argument with `expose` parameter. Expose variables are for non-sensitive, public config values that are synchronous and exposed to the browser (requires Cypress 15.10.0 or later).
365
+
366
+ ```yml
367
+ name: Cypress tests
368
+ on: push
369
+ jobs:
370
+ cypress-run:
371
+ runs-on: ubuntu-24.04
372
+ steps:
373
+ - name: Checkout
374
+ uses: actions/checkout@v6
375
+
376
+ - name: Cypress run with expose
377
+ uses: cypress-io/github-action@v7
378
+ with:
379
+ expose: host=api.dev.local,port=4222
380
+ ```
381
+
382
+ For more information, see [Cypress.expose()](https://docs.cypress.io/api/cypress-api/expose) in the Cypress documentation.
383
+
384
+ [![Expose example](https://github.com/cypress-io/github-action/actions/workflows/example-expose.yml/badge.svg)](.github/workflows/example-expose.yml)
385
+
361
386
  ### Specs
362
387
 
363
388
  Specify the [spec files to run](https://docs.cypress.io/guides/guides/command-line.html#cypress-run-spec-lt-spec-gt) with `spec` parameter
@@ -564,7 +589,10 @@ jobs:
564
589
  # let's make sure our "app" works on several versions of Node
565
590
  strategy:
566
591
  matrix:
567
- node: [20, 22, 24, 25]
592
+ node:
593
+ - 22
594
+ - 24
595
+ - 25
568
596
  name: E2E on Node v${{ matrix.node }}
569
597
  steps:
570
598
  - name: Checkout
@@ -1386,7 +1414,10 @@ jobs:
1386
1414
  # let's make sure our "app" works on several versions of Node
1387
1415
  strategy:
1388
1416
  matrix:
1389
- node: [20, 22, 24, 25]
1417
+ node:
1418
+ - 22
1419
+ - 24
1420
+ - 25
1390
1421
  name: E2E on Node v${{ matrix.node }}
1391
1422
  steps:
1392
1423
  - name: Checkout
@@ -1420,7 +1451,10 @@ jobs:
1420
1451
  runs-on: ubuntu-24.04
1421
1452
  strategy:
1422
1453
  matrix:
1423
- node: [20, 22, 24, 25]
1454
+ node:
1455
+ - 22
1456
+ - 24
1457
+ - 25
1424
1458
  name: E2E on Node v${{ matrix.node }}
1425
1459
  steps:
1426
1460
  - uses: actions/checkout@v6
@@ -1610,6 +1644,7 @@ jobs:
1610
1644
  | `--config-file`, `-C` | [`config-file`](#config-file) | Specify configuration file |
1611
1645
  | `--e2e` | [`component: false`](#component-testing) (default) | Run end to end tests |
1612
1646
  | `--env`, `-e` | [`env`](#env) | Specify environment variables |
1647
+ | `--expose`, `-x` | [`expose`](#expose) | Specify expose variables for non-sensitive, public config values |
1613
1648
  | `--group` | [`group`](#parallel) | Group recorded tests together under a single run for Cloud recording |
1614
1649
  | `--headed` | [`headed`](#headed) | Display the browser instead of running headlessly |
1615
1650
  | `--headless` | [`headed: false`](#headed) (default) | Hide the browser instead of running headed |
@@ -1887,9 +1922,9 @@ jobs:
1887
1922
 
1888
1923
  Node.js is required to run this action. The recommended version `v7` supports:
1889
1924
 
1890
- - **Node.js** 20.x, 22.x, 24.x and 25.x
1925
+ - **Node.js** 22.x, 24.x and 25.x
1891
1926
 
1892
- and is generally aligned with [Node.js's release schedule](https://github.com/nodejs/Release).
1927
+ and is generally aligned with [Node.js's release schedule](https://github.com/nodejs/Release#readme).
1893
1928
 
1894
1929
  ### Usage
1895
1930
 
@@ -1906,7 +1941,7 @@ View the [CHANGELOG](./CHANGELOG.md) document for an overview of version changes
1906
1941
  ## Compatibility
1907
1942
 
1908
1943
  - `github-action@v7` is the current recommended version, uses `node24` and is compatible with Cypress `10` and above.
1909
- - `github-action@v6` is deprecated. It uses `node20` which GitHub has deprecated. GitHub Actions will force runners to use `node24` beginning on Mar 4, 2026 - see [Deprecation of Node 20 on GitHub Actions runners](https://github.blog/changelog/2025-09-19-deprecation-of-node-20-on-github-actions-runners/).
1944
+ - `github-action@v6` is deprecated. It uses `node20` which has reached its end of life - see [Deprecation of Node 20 on GitHub Actions runners](https://github.blog/changelog/2025-09-19-deprecation-of-node-20-on-github-actions-runners/).
1910
1945
  - `github-action@v6.7.9` is the minimum version required to use GitHub Actions caching services. The legacy caching service used by lower versions of the action is no longer available.
1911
1946
  - `github-action` versions `v1` to `v5` are unsupported: they rely on Node.js `12` and `16` in End-of-life status.
1912
1947
 
package/action.yml CHANGED
@@ -29,6 +29,9 @@ inputs:
29
29
  env:
30
30
  description: 'Sets Cypress environment variables'
31
31
  required: false
32
+ expose:
33
+ description: 'Sets Cypress expose variables for non-sensitive, public config values (requires Cypress 15.10.0 or later)'
34
+ required: false
32
35
  group:
33
36
  description: 'Group setting for recording tests'
34
37
  required: false
package/dist/index.js CHANGED
@@ -102320,6 +102320,12 @@ const runTestsUsingCommandLine = async () => {
102320
102320
  cmd.push(envInput)
102321
102321
  }
102322
102322
 
102323
+ const exposeInput = core.getInput('expose')
102324
+ if (exposeInput) {
102325
+ cmd.push('--expose')
102326
+ cmd.push(exposeInput)
102327
+ }
102328
+
102323
102329
  const quiet = getInputBool('quiet')
102324
102330
  if (quiet) {
102325
102331
  cmd.push('--quiet')
@@ -102360,6 +102366,7 @@ const commandIgnoredStringInputs = [
102360
102366
  'config',
102361
102367
  'config-file',
102362
102368
  'env',
102369
+ 'expose',
102363
102370
  'group',
102364
102371
  'project',
102365
102372
  'spec',
@@ -102383,7 +102390,9 @@ const validateCustomCommand = () => {
102383
102390
  })
102384
102391
  if (ignoredInputParameters.length > 0) {
102385
102392
  core.warning(
102386
- `command parameter is used and the following other parameters are ignored: ${ignoredInputParameters.sort().join(', ')}.`
102393
+ `command parameter is used and the following other parameters are ignored: ${ignoredInputParameters
102394
+ .sort()
102395
+ .join(', ')}.`
102387
102396
  )
102388
102397
  }
102389
102398
  }
@@ -102479,6 +102488,10 @@ const runTests = async () => {
102479
102488
  cypressOptions.env = core.getInput('env')
102480
102489
  }
102481
102490
 
102491
+ if (core.getInput('expose')) {
102492
+ cypressOptions.expose = core.getInput('expose')
102493
+ }
102494
+
102482
102495
  if (cypressOptions.parallel || cypressOptions.group) {
102483
102496
  const { branch, buildId } = await getCiBuildId()
102484
102497
  if (branch) {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@cypress/github-action",
3
- "version": "7.1.10",
3
+ "version": "7.3.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",
@@ -57,9 +57,9 @@
57
57
  "@stylistic/eslint-plugin": "5.10.0",
58
58
  "@types/node": "25.4.0",
59
59
  "@vercel/ncc": "0.38.4",
60
- "eslint": "10.0.3",
61
- "eslint-plugin-cypress": "6.2.0",
62
- "globals": "17.3.0",
60
+ "eslint": "10.3.0",
61
+ "eslint-plugin-cypress": "6.4.0",
62
+ "globals": "17.6.0",
63
63
  "husky": "9.1.7",
64
64
  "markdown-link-check": "3.14.2",
65
65
  "prettier": "3.8.3"