@visual-regression-tracker/agent-cypress 5.8.0 → 5.9.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 +110 -136
- package/dist/types.d.ts +2 -0
- package/dist/utils.d.ts +1 -0
- package/dist/utils.js +1 -0
- package/package.json +13 -4
- package/.github/dependabot.yml +0 -42
- package/.github/workflows/ci.yml +0 -26
- package/.github/workflows/release.yml +0 -37
- package/cypress.config.ts +0 -30
package/README.md
CHANGED
|
@@ -1,201 +1,175 @@
|
|
|
1
|
-
#
|
|
1
|
+
# Cypress agent for [Visual Regression Tracker](https://github.com/Visual-Regression-Tracker/Visual-Regression-Tracker)
|
|
2
2
|
|
|
3
|
-
[](https://www.npmjs.com/package/@visual-regression-tracker/agent-cypress)
|
|
4
4
|
|
|
5
|
-
|
|
5
|
+
Adds `cy.vrtStart()`, `cy.vrtTrack()` and `cy.vrtStop()` to [Cypress](https://www.cypress.io) tests. The agent is built on [sdk-js](https://github.com/Visual-Regression-Tracker/sdk-js).
|
|
6
6
|
|
|
7
|
-
##
|
|
7
|
+
## Requirements
|
|
8
8
|
|
|
9
|
-
|
|
9
|
+
- Cypress 12.17.1 or later
|
|
10
|
+
- Node.js 18 or later
|
|
11
|
+
- Visual Regression Tracker server 5.0.8 or later; 6 is recommended
|
|
10
12
|
|
|
11
|
-
|
|
13
|
+
## Install
|
|
12
14
|
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
### Add commands
|
|
16
|
-
|
|
17
|
-
`<rootDir>/cypress/support/e2e.js` or `<rootDir>/cypress/support/component.js`
|
|
18
|
-
|
|
19
|
-
All available commands:
|
|
20
|
-
|
|
21
|
-
```js
|
|
22
|
-
import {
|
|
23
|
-
addVrtCommands,
|
|
24
|
-
} from "@visual-regression-tracker/agent-cypress";
|
|
25
|
-
|
|
26
|
-
addVrtCommands();
|
|
27
|
-
```
|
|
28
|
-
|
|
29
|
-
or one by one:
|
|
30
|
-
|
|
31
|
-
```js
|
|
32
|
-
import {
|
|
33
|
-
addVrtTrackCommand,
|
|
34
|
-
addVrtStartCommand,
|
|
35
|
-
addVrtStopCommand,
|
|
36
|
-
addVrtTrackBufferCommand,
|
|
37
|
-
addVrtTrackBase64Command,
|
|
38
|
-
} from "@visual-regression-tracker/agent-cypress";
|
|
39
|
-
|
|
40
|
-
addVrtStartCommand();
|
|
41
|
-
addVrtStopCommand();
|
|
42
|
-
addVrtTrackCommand();
|
|
43
|
-
addVrtTrackBufferCommand();
|
|
44
|
-
addVrtTrackBase64Command();
|
|
15
|
+
```sh
|
|
16
|
+
npm install --save-dev @visual-regression-tracker/agent-cypress
|
|
45
17
|
```
|
|
46
18
|
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
`<rootDir>/cypress.config.js`
|
|
19
|
+
Register the plugin in `cypress.config.js` (under `component` for component tests):
|
|
50
20
|
|
|
51
21
|
```js
|
|
52
|
-
import { defineConfig } from
|
|
22
|
+
import { defineConfig } from "cypress";
|
|
53
23
|
import { addVisualRegressionTrackerPlugin } from "@visual-regression-tracker/agent-cypress";
|
|
54
24
|
|
|
55
25
|
export default defineConfig({
|
|
56
|
-
// e2e or component, depending of testing style
|
|
57
26
|
e2e: {
|
|
58
27
|
setupNodeEvents(on, config) {
|
|
59
28
|
addVisualRegressionTrackerPlugin(on, config);
|
|
60
|
-
}
|
|
61
|
-
}
|
|
29
|
+
},
|
|
30
|
+
},
|
|
62
31
|
});
|
|
63
32
|
```
|
|
64
33
|
|
|
65
|
-
|
|
34
|
+
Add the commands in `cypress/support/e2e.js` (or `component.js`):
|
|
35
|
+
|
|
36
|
+
```js
|
|
37
|
+
import { addVrtCommands } from "@visual-regression-tracker/agent-cypress";
|
|
38
|
+
|
|
39
|
+
addVrtCommands();
|
|
40
|
+
```
|
|
66
41
|
|
|
67
|
-
|
|
42
|
+
To add only some of them, use `addVrtStartCommand`, `addVrtStopCommand`, `addVrtTrackCommand`, `addVrtTrackBufferCommand` and `addVrtTrackBase64Command`.
|
|
68
43
|
|
|
69
|
-
|
|
44
|
+
## Configuration
|
|
45
|
+
|
|
46
|
+
| Option | Environment variable | Required | Default | Description |
|
|
47
|
+
| --- | --- | --- | --- | --- |
|
|
48
|
+
| `apiUrl` | `VRT_APIURL` | yes | | URL of the server API, e.g. `http://localhost:4200` |
|
|
49
|
+
| `apiKey` | `VRT_APIKEY` | yes | | API key of a user with access to the project |
|
|
50
|
+
| `project` | `VRT_PROJECT` | yes | | Project name or ID |
|
|
51
|
+
| `branchName` | `VRT_BRANCHNAME` | yes | | Current git branch |
|
|
52
|
+
| `sourceBranch` | `VRT_SOURCEBRANCH` | no | project's main branch | Branch to take baselines from while `branchName` has none of its own |
|
|
53
|
+
| `ciBuildId` | `VRT_CIBUILDID` | no | | ID of one CI build; machines with the same ID share a build |
|
|
54
|
+
| `enableSoftAssert` | `VRT_ENABLESOFTASSERT` | no | `false` | Log failed comparisons instead of failing the test |
|
|
55
|
+
|
|
56
|
+
Set the options under `env.visualRegressionTracker` in the Cypress config:
|
|
70
57
|
|
|
71
58
|
```js
|
|
72
59
|
export default defineConfig({
|
|
73
|
-
|
|
74
60
|
env: {
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
"project": "Default project",
|
|
83
|
-
|
|
84
|
-
// User apiKey
|
|
85
|
-
// Required
|
|
86
|
-
"apiKey": "tXZVHX0EA4YQM1MGDD",
|
|
87
|
-
|
|
88
|
-
// Current git branch
|
|
89
|
-
// Required
|
|
90
|
-
"branchName": "develop",
|
|
91
|
-
|
|
92
|
-
// Branch to take baselines from instead of the project's main branch
|
|
93
|
-
// Optional - when not set, main branch from project settings is used
|
|
94
|
-
// Also read from VRT_SOURCEBRANCH when not set here
|
|
95
|
-
"sourceBranch": "release",
|
|
96
|
-
|
|
97
|
-
// Log errors instead of throwing exceptions
|
|
98
|
-
// Optional - default false
|
|
99
|
-
"enableSoftAssert": true,
|
|
100
|
-
|
|
101
|
-
// Unique ID related to one CI build
|
|
102
|
-
// Optional - default null
|
|
103
|
-
"ciBuildId": "SOME_UNIQUE_ID",
|
|
104
|
-
}
|
|
105
|
-
}
|
|
61
|
+
visualRegressionTracker: {
|
|
62
|
+
apiUrl: "http://localhost:4200",
|
|
63
|
+
apiKey: "tXZVHX0EA4YQM1MGDD",
|
|
64
|
+
project: "Default project",
|
|
65
|
+
branchName: "develop",
|
|
66
|
+
},
|
|
67
|
+
},
|
|
106
68
|
});
|
|
107
69
|
```
|
|
108
70
|
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
_Used only if not explicit config provided_
|
|
112
|
-
_Is overriden if ENV variables are present_
|
|
71
|
+
If `visualRegressionTracker` is not set, the options are read from `vrt.json` in the working directory, with the same keys:
|
|
113
72
|
|
|
114
73
|
```json
|
|
115
74
|
{
|
|
116
75
|
"apiUrl": "http://localhost:4200",
|
|
117
|
-
"project": "Default project",
|
|
118
76
|
"apiKey": "tXZVHX0EA4YQM1MGDD",
|
|
119
|
-
"
|
|
77
|
+
"project": "Default project",
|
|
120
78
|
"branchName": "develop",
|
|
121
79
|
"sourceBranch": "release",
|
|
80
|
+
"ciBuildId": "commit_sha",
|
|
122
81
|
"enableSoftAssert": false
|
|
123
82
|
}
|
|
124
83
|
```
|
|
125
84
|
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
_Used only if not explicit config provided_
|
|
129
|
-
|
|
130
|
-
```
|
|
131
|
-
VRT_APIURL="http://localhost:4200"
|
|
132
|
-
VRT_PROJECT="Default project"
|
|
133
|
-
VRT_APIKEY="tXZVHX0EA4YQM1MGDD"
|
|
134
|
-
VRT_CIBUILDID="commit_sha"
|
|
135
|
-
VRT_BRANCHNAME="develop"
|
|
136
|
-
VRT_SOURCEBRANCH="release"
|
|
137
|
-
VRT_ENABLESOFTASSERT=true
|
|
138
|
-
```
|
|
85
|
+
Environment variables override `vrt.json` key by key. When `visualRegressionTracker` is set, only `VRT_SOURCEBRANCH` is read from the environment.
|
|
139
86
|
|
|
140
|
-
`
|
|
141
|
-
the server never read. The old name still works as an alias and logs a
|
|
142
|
-
deprecation warning; like the other `VRT_*` variables, `VRT_BASELINEBRANCHNAME`
|
|
143
|
-
is read only when `visualRegressionTracker` is not set in the Cypress config.
|
|
87
|
+
`baselineBranchName` (`VRT_BASELINEBRANCHNAME`) is a deprecated alias of `sourceBranch`. It still works and logs a warning once.
|
|
144
88
|
|
|
145
89
|
## Usage
|
|
146
90
|
|
|
147
|
-
### Setup
|
|
148
|
-
|
|
149
91
|
```js
|
|
150
|
-
cy.vrtStart();
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
### Assert
|
|
92
|
+
before(() => cy.vrtStart());
|
|
93
|
+
after(() => cy.vrtStop());
|
|
154
94
|
|
|
155
|
-
|
|
156
|
-
cy.
|
|
95
|
+
it("home page", () => {
|
|
96
|
+
cy.visit("/");
|
|
157
97
|
|
|
158
|
-
cy.
|
|
98
|
+
cy.vrtTrack("Home page");
|
|
159
99
|
|
|
160
|
-
cy.vrtTrack(
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
device: "Cloud agent",
|
|
166
|
-
customTags: "Cloud, DarkTheme, Auth",
|
|
100
|
+
cy.get("#navbar").vrtTrack("Navbar", {
|
|
101
|
+
os: "linux",
|
|
102
|
+
device: "desktop",
|
|
103
|
+
customTags: "smoke,dark",
|
|
104
|
+
comment: "Logged out",
|
|
167
105
|
diffTollerancePercent: 1,
|
|
168
106
|
ignoreAreas: [{ x: 1, y: 2, width: 100, height: 200 }],
|
|
169
107
|
retryLimit: 2,
|
|
170
|
-
keepScreenshot: false,
|
|
171
|
-
}
|
|
172
|
-
|
|
173
|
-
console.log("Screenshot has diff with baseline", err);
|
|
174
|
-
return true; // Skip failing test
|
|
175
|
-
}
|
|
176
|
-
);
|
|
108
|
+
keepScreenshot: false,
|
|
109
|
+
});
|
|
110
|
+
});
|
|
177
111
|
```
|
|
178
112
|
|
|
179
|
-
|
|
113
|
+
`cy.vrtTrack(name, options, errorCallback)` takes a screenshot of the page, or of the element it is chained on, and uploads it as multipart. Every option is optional:
|
|
114
|
+
|
|
115
|
+
| Option | Description |
|
|
116
|
+
| --- | --- |
|
|
117
|
+
| `os`, `device`, `customTags` | Tell baselines of the same name apart |
|
|
118
|
+
| `viewport` | Defaults to `viewportWidth`x`viewportHeight` times the pixel ratio |
|
|
119
|
+
| `diffTollerancePercent` | Allowed difference, in percent of all pixels (the spelling is the API's) |
|
|
120
|
+
| `comment` | Shown with the test run |
|
|
121
|
+
| `ignoreAreas` | `[{ x, y, width, height }]` in pixels, left out of the comparison |
|
|
122
|
+
| `retryLimit` | Retries while the result is `unresolved`, default 2 |
|
|
123
|
+
| `keepScreenshot` | Keep the local screenshot file, default `false` |
|
|
124
|
+
| any [`cy.screenshot()` option](https://docs.cypress.io/api/commands/screenshot#Arguments) | Passed to the screenshot |
|
|
180
125
|
|
|
181
|
-
|
|
126
|
+
The browser is taken from `Cypress.browser.name`.
|
|
182
127
|
|
|
183
|
-
|
|
128
|
+
`cy.vrtTrackBuffer(name, buffer, options)` and `cy.vrtTrackBase64(name, base64, options)` track an image you already have.
|
|
184
129
|
|
|
185
|
-
|
|
130
|
+
## Results and statuses
|
|
186
131
|
|
|
187
|
-
|
|
132
|
+
| Status | Outcome |
|
|
133
|
+
| --- | --- |
|
|
134
|
+
| `new` | No baseline yet: fails the test, or logs with `enableSoftAssert` |
|
|
135
|
+
| `unresolved` | Differs from the baseline: fails the test, or logs with `enableSoftAssert` |
|
|
136
|
+
| `ok`, `approved`, `autoApproved` | Passes |
|
|
137
|
+
| `failed` | A reviewer rejected it: passes with a warning |
|
|
138
|
+
| anything else | Passes with a warning |
|
|
188
139
|
|
|
189
|
-
|
|
140
|
+
Logs and warnings appear in the terminal that runs Cypress, not in the browser.
|
|
190
141
|
|
|
191
|
-
|
|
142
|
+
## Errors
|
|
192
143
|
|
|
193
|
-
|
|
144
|
+
A failed comparison or request fails the test with the server's message. Use `errorCallback` to handle it for one screenshot:
|
|
194
145
|
|
|
195
146
|
```js
|
|
196
|
-
cy.
|
|
147
|
+
cy.vrtTrack("Home page", {}, (err) => {
|
|
148
|
+
cy.log(err);
|
|
149
|
+
return true; // true: do not fail the test
|
|
150
|
+
});
|
|
197
151
|
```
|
|
198
152
|
|
|
153
|
+
Request errors name the HTTP status and add a hint for common causes, such as a wrong `apiKey` (401) or an image over the server's limits (413, 422). See [sdk-js](https://github.com/Visual-Regression-Tracker/sdk-js#errors).
|
|
154
|
+
|
|
199
155
|
## Examples
|
|
200
156
|
|
|
201
|
-
https://github.com/Visual-Regression-Tracker/examples-js
|
|
157
|
+
[examples-js](https://github.com/Visual-Regression-Tracker/examples-js)
|
|
158
|
+
|
|
159
|
+
## Releasing
|
|
160
|
+
|
|
161
|
+
Every push to `master` runs [semantic-release](https://semantic-release.gitbook.io). It reads the [Conventional Commits](https://www.conventionalcommits.org) since the last `v*` tag:
|
|
162
|
+
|
|
163
|
+
| Commit | Release |
|
|
164
|
+
| --- | --- |
|
|
165
|
+
| `fix:` | patch |
|
|
166
|
+
| `feat:` | minor |
|
|
167
|
+
| `feat!:` or a `BREAKING CHANGE:` footer | major |
|
|
168
|
+
| `chore:`, `ci:`, `docs:`, `test:` | none |
|
|
169
|
+
|
|
170
|
+
It then publishes to npm through trusted publishing with provenance, tags `vX.Y.Z`, and writes the GitHub release.
|
|
171
|
+
The `version` field in `package.json` is a placeholder. The released version lives in the tags and on npm.
|
|
172
|
+
|
|
173
|
+
## License
|
|
174
|
+
|
|
175
|
+
[Apache-2.0](LICENSE)
|
package/dist/types.d.ts
CHANGED
|
@@ -13,6 +13,7 @@ declare namespace Cypress {
|
|
|
13
13
|
* os: "MacOS",
|
|
14
14
|
* device: "Cloud agent",
|
|
15
15
|
* customTags: "Cloud, DarkTheme, Auth",
|
|
16
|
+
* comment: "Logged out",
|
|
16
17
|
* diffTollerancePercent: 1.23,
|
|
17
18
|
* ignoreAreas: [
|
|
18
19
|
* {x: 1, y: 2, width: 100, height: 200}
|
|
@@ -40,6 +41,7 @@ declare namespace Cypress {
|
|
|
40
41
|
os?: string;
|
|
41
42
|
device?: string;
|
|
42
43
|
customTags?: string;
|
|
44
|
+
comment?: string;
|
|
43
45
|
diffTollerancePercent?: number;
|
|
44
46
|
ignoreAreas?: IgnoreArea[];
|
|
45
47
|
retryLimit?: number;
|
package/dist/utils.d.ts
CHANGED
package/dist/utils.js
CHANGED
|
@@ -37,6 +37,7 @@ const toTestRunDto = ({ name, pixelRatio = 1, options, }) => {
|
|
|
37
37
|
os: options === null || options === void 0 ? void 0 : options.os,
|
|
38
38
|
device: options === null || options === void 0 ? void 0 : options.device,
|
|
39
39
|
customTags: options === null || options === void 0 ? void 0 : options.customTags,
|
|
40
|
+
comment: options === null || options === void 0 ? void 0 : options.comment,
|
|
40
41
|
diffTollerancePercent: options === null || options === void 0 ? void 0 : options.diffTollerancePercent,
|
|
41
42
|
ignoreAreas: options === null || options === void 0 ? void 0 : options.ignoreAreas,
|
|
42
43
|
// next two properties actually do not belong to TestRunDto and ideally should be removed from this object
|
package/package.json
CHANGED
|
@@ -1,9 +1,12 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@visual-regression-tracker/agent-cypress",
|
|
3
|
-
"version": "5.
|
|
3
|
+
"version": "5.9.0",
|
|
4
4
|
"description": "Visual Regression Tracker integration plugin for Cypress",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"types": "dist/",
|
|
7
|
+
"files": [
|
|
8
|
+
"dist"
|
|
9
|
+
],
|
|
7
10
|
"scripts": {
|
|
8
11
|
"build": "tsc",
|
|
9
12
|
"test": "jest",
|
|
@@ -28,15 +31,14 @@
|
|
|
28
31
|
"node": ">=16.16.0"
|
|
29
32
|
},
|
|
30
33
|
"dependencies": {
|
|
31
|
-
"@visual-regression-tracker/sdk-js": "^5.8.
|
|
34
|
+
"@visual-regression-tracker/sdk-js": "^5.8.1"
|
|
32
35
|
},
|
|
33
36
|
"devDependencies": {
|
|
34
37
|
"@jest/globals": "^30.5.2",
|
|
35
38
|
"@types/jest": "^30.0.0",
|
|
36
39
|
"@types/node": "^22.20.5",
|
|
37
|
-
"cypress": "^16.2.
|
|
40
|
+
"cypress": "^16.2.1",
|
|
38
41
|
"jest": "^30.5.2",
|
|
39
|
-
"semantic-release": "^25.0.9",
|
|
40
42
|
"ts-jest": "^29.4.15",
|
|
41
43
|
"typescript": "^6.0.3"
|
|
42
44
|
},
|
|
@@ -45,5 +47,12 @@
|
|
|
45
47
|
},
|
|
46
48
|
"publishConfig": {
|
|
47
49
|
"access": "public"
|
|
50
|
+
},
|
|
51
|
+
"overrides": {
|
|
52
|
+
"glob": "^14.0.2",
|
|
53
|
+
"minimatch": "^11.0.1"
|
|
54
|
+
},
|
|
55
|
+
"release": {
|
|
56
|
+
"preset": "conventionalcommits"
|
|
48
57
|
}
|
|
49
58
|
}
|
package/.github/dependabot.yml
DELETED
|
@@ -1,42 +0,0 @@
|
|
|
1
|
-
version: 2
|
|
2
|
-
updates:
|
|
3
|
-
- package-ecosystem: npm
|
|
4
|
-
directory: "/"
|
|
5
|
-
schedule:
|
|
6
|
-
interval: daily
|
|
7
|
-
open-pull-requests-limit: 2
|
|
8
|
-
ignore:
|
|
9
|
-
- dependency-name: "@types/node"
|
|
10
|
-
versions:
|
|
11
|
-
- 14.14.22
|
|
12
|
-
- 14.14.24
|
|
13
|
-
- 14.14.25
|
|
14
|
-
- 14.14.26
|
|
15
|
-
- 14.14.28
|
|
16
|
-
- 14.14.30
|
|
17
|
-
- 14.14.31
|
|
18
|
-
- 14.14.33
|
|
19
|
-
- 14.14.34
|
|
20
|
-
- 14.14.35
|
|
21
|
-
- 14.14.36
|
|
22
|
-
- 14.14.37
|
|
23
|
-
- 14.14.39
|
|
24
|
-
- 14.14.41
|
|
25
|
-
- 15.0.0
|
|
26
|
-
- dependency-name: ssri
|
|
27
|
-
versions:
|
|
28
|
-
- 6.0.2
|
|
29
|
-
- dependency-name: y18n
|
|
30
|
-
versions:
|
|
31
|
-
- 4.0.1
|
|
32
|
-
- 4.0.2
|
|
33
|
-
- 4.0.3
|
|
34
|
-
- dependency-name: semantic-release
|
|
35
|
-
versions:
|
|
36
|
-
- 17.4.2
|
|
37
|
-
- dependency-name: cypress
|
|
38
|
-
versions:
|
|
39
|
-
- 6.3.0
|
|
40
|
-
- 6.4.0
|
|
41
|
-
- 6.5.0
|
|
42
|
-
- 6.6.0
|
package/.github/workflows/ci.yml
DELETED
|
@@ -1,26 +0,0 @@
|
|
|
1
|
-
name: CI
|
|
2
|
-
|
|
3
|
-
on:
|
|
4
|
-
pull_request:
|
|
5
|
-
branches: [master]
|
|
6
|
-
|
|
7
|
-
jobs:
|
|
8
|
-
build:
|
|
9
|
-
runs-on: ubuntu-latest
|
|
10
|
-
|
|
11
|
-
steps:
|
|
12
|
-
- uses: actions/checkout@v5
|
|
13
|
-
|
|
14
|
-
- name: Setup Node.js environment
|
|
15
|
-
uses: actions/setup-node@v5
|
|
16
|
-
with:
|
|
17
|
-
node-version: 22
|
|
18
|
-
|
|
19
|
-
- name: Install npm dependencies
|
|
20
|
-
run: npm ci
|
|
21
|
-
|
|
22
|
-
- name: Build
|
|
23
|
-
run: npm run build
|
|
24
|
-
|
|
25
|
-
- name: Unit tests
|
|
26
|
-
run: npm test
|
|
@@ -1,37 +0,0 @@
|
|
|
1
|
-
name: Release
|
|
2
|
-
on:
|
|
3
|
-
push:
|
|
4
|
-
branches:
|
|
5
|
-
- master
|
|
6
|
-
jobs:
|
|
7
|
-
release:
|
|
8
|
-
name: Release
|
|
9
|
-
runs-on: ubuntu-latest
|
|
10
|
-
permissions:
|
|
11
|
-
contents: write # to publish a GitHub release
|
|
12
|
-
issues: write # to comment on released issues
|
|
13
|
-
pull-requests: write # to comment on released pull requests
|
|
14
|
-
id-token: write # to publish to npm with trusted publishing (OIDC) and provenance
|
|
15
|
-
|
|
16
|
-
steps:
|
|
17
|
-
- name: Checkout
|
|
18
|
-
uses: actions/checkout@v5
|
|
19
|
-
with:
|
|
20
|
-
fetch-depth: 0
|
|
21
|
-
|
|
22
|
-
- name: Setup Node.js environment
|
|
23
|
-
uses: actions/setup-node@v5
|
|
24
|
-
with:
|
|
25
|
-
node-version: 22
|
|
26
|
-
|
|
27
|
-
- name: Install dependencies
|
|
28
|
-
run: npm ci
|
|
29
|
-
|
|
30
|
-
- name: Build
|
|
31
|
-
run: npm run build
|
|
32
|
-
|
|
33
|
-
- name: Release
|
|
34
|
-
env:
|
|
35
|
-
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
|
36
|
-
NPM_TOKEN: ${{ secrets.NPM_TOKEN }}
|
|
37
|
-
run: npx semantic-release
|
package/cypress.config.ts
DELETED
|
@@ -1,30 +0,0 @@
|
|
|
1
|
-
import { defineConfig } from 'cypress';
|
|
2
|
-
import { addVisualRegressionTrackerPlugin } from "./lib/plugin";
|
|
3
|
-
|
|
4
|
-
/**
|
|
5
|
-
* @see https://docs.cypress.io/guides/references/configuration
|
|
6
|
-
*/
|
|
7
|
-
export default defineConfig({
|
|
8
|
-
e2e: {
|
|
9
|
-
baseUrl: "https://example.cypress.io",
|
|
10
|
-
specPattern: 'cypress/integration/*.spec.ts',
|
|
11
|
-
|
|
12
|
-
setupNodeEvents(on, config) {
|
|
13
|
-
// `on` is used to hook into various events Cypress emits
|
|
14
|
-
// `config` is the resolved Cypress config
|
|
15
|
-
addVisualRegressionTrackerPlugin(on, config);
|
|
16
|
-
},
|
|
17
|
-
},
|
|
18
|
-
video: false,
|
|
19
|
-
screenshotOnRunFailure: false,
|
|
20
|
-
retries: 0,
|
|
21
|
-
env: {
|
|
22
|
-
"visualRegressionTracker": {
|
|
23
|
-
"apiUrl": "http://localhost:4200",
|
|
24
|
-
"apiKey": "5H90NFWM6BMWWDMWKG8T11DWW22Y",
|
|
25
|
-
"project": "fcf9ab05-4bed-40d6-a033-c178948c9897",
|
|
26
|
-
"branchName": "master",
|
|
27
|
-
"enableSoftAssert": false
|
|
28
|
-
}
|
|
29
|
-
}
|
|
30
|
-
});
|