Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

chore: Add burn-in mismatch error #28065

Closed
wants to merge 100 commits into from
Closed
Show file tree
Hide file tree
Changes from 7 commits
Commits
Show all changes
100 commits
Select commit Hold shift + click to select a range
86d8b96
docs: fix typo in CONTRIBUTING.md (#27705)
Crustum7 Sep 8, 2023
70248ab
fix: prerequest correlation for various retried and cached requests (…
ryanthemanuel Sep 11, 2023
a1161c9
fix: hanging on basic auth requests in chromium browsers (#27781)
ryanthemanuel Sep 11, 2023
356edfc
chore: fix the changelog to pass release readiness (#27787)
AtofStryker Sep 12, 2023
f8b4c59
fix: update net stubbing to not intercept requests sent to dev server…
mschile Sep 12, 2023
8638abb
chore: prep changelog ready for release and bump cypress version (#27…
AtofStryker Sep 12, 2023
0e239bf
feat(app): Update Runs page visuals to new layout and card design (#2…
dkasper-was-taken Sep 14, 2023
849da7c
chore: update chrome PR creation workflow to add to firewatch board (…
Sep 15, 2023
8e68282
chore: update kpi report generation to include feature review metrics…
Sep 15, 2023
5eaa4d0
chore: updating browser version script to use versionhistory api (#27…
mschile Sep 15, 2023
dc282cd
chore: fix linting error (#27825)
Sep 15, 2023
343097b
chore: use docker compose to run cypress. (#27831)
mjhenkes Sep 19, 2023
2247ffd
test: add new system test for --headless=old (#27834)
mschile Sep 19, 2023
381b505
chore: Update Chrome (stable) to 117.0.5938.88 and Chrome (beta) to 1…
github-actions[bot] Sep 19, 2023
a9d2dc2
chore: update contributor workflow to include approval job (#27822)
astone123 Sep 20, 2023
0ba2a48
test: adding back protocol component tests (#27697)
mschile Sep 20, 2023
311001b
chore: improve logging on retried upload failures (#27847)
ryanthemanuel Sep 20, 2023
3477e4d
chore: remove Github Action for triggering CircleCI pipeline (#27865)
astone123 Sep 20, 2023
887cd40
dependency(deps): update dependency electron to v25.8.1 [security] (#…
renovate[bot] Sep 21, 2023
154311a
chore: gate restricted contexts with approval job for contributor wor…
astone123 Sep 21, 2023
ce17a44
fix: issue with font flooding (#27860)
ryanthemanuel Sep 21, 2023
273d8ce
chore: skip binary jobs if we don't have a circle token (#27876)
astone123 Sep 21, 2023
199f4c3
chore: remove KPI generation workflow (#27887)
Sep 22, 2023
b1efbaf
chore(deps): update dependency systeminformation to v5.21.7 [security…
renovate[bot] Sep 25, 2023
dbfb3e6
chore: Update installation requirements in CONTRIBUTING.md (#27878)
Crustum7 Sep 25, 2023
b114dce
fix: statusCode allow 999 (#27853)
riwu Sep 25, 2023
a1b4124
chore: release 13.3.0 (#27900)
astone123 Sep 25, 2023
1ec045f
chore: fix action to properly add PR to the Triage Board for visibili…
Sep 27, 2023
0871b03
chore: update 13.3.0 release date in changelog (#27918)
astone123 Sep 27, 2023
8da1e5c
fix: correlate prerequests in order instead of reverse order (#27892)
ryanthemanuel Sep 27, 2023
654e501
chore: add manifest.v3 extension for chrome (#27888)
cacieprins Sep 28, 2023
12d61d7
chore: Update Chrome (stable) to 117.0.5938.132 and Chrome (beta) to …
github-actions[bot] Sep 28, 2023
fa55a43
chore: update electron 🌟 (#27940)
renovate[bot] Sep 29, 2023
2c9a317
chore: update the packages/electron README to update the electron upd…
AtofStryker Sep 29, 2023
9ca7883
fix: set a crashed flag when cri detects a crash (#27909)
cacieprins Oct 2, 2023
a364f24
chore: Update v8 snapshot cache (#27877)
github-actions[bot] Oct 2, 2023
59fb48b
test: re-enable test for --headless=old (#27932)
mschile Oct 2, 2023
6073426
chore: remove binary build step from Linux CI (#27959)
astone123 Oct 3, 2023
c573160
fix: yield waited responses in the order that they occured (#27806)
astone123 Oct 3, 2023
784f0cf
chore: add utility for purging urls from Cloudflare cache (#27923)
astone123 Oct 4, 2023
4c11731
chore: optimize task execution (#27848)
astone123 Oct 4, 2023
6bdebd7
chore: follow-up cli optimizations (#27974)
dkasper-was-taken Oct 4, 2023
86057dc
chore: add @packages/example as a dependency of create-cypress-tests …
astone123 Oct 5, 2023
9659e18
chore: remove build step from `unit-tests` workflow use cached artifa…
dkasper-was-taken Oct 5, 2023
92cc6da
chore: exit successfully when test report directory doesn't exist (#2…
astone123 Oct 6, 2023
1a6f879
fix: report results correctly when the browser crashes mid-test (#27786)
cacieprins Oct 6, 2023
9f3d5b4
fix: build better-sqlite3 (#27968)
ryanthemanuel Oct 9, 2023
b3b7d3b
chore: fix component tests in contributor flow (#27883)
young-robot Oct 10, 2023
2a26f07
add error enum for burn in config mismatch
mabela416 Oct 10, 2023
078dc0a
fix: support proxy correlation timeout notifications and additional p…
ryanthemanuel Oct 10, 2023
34c8b1f
refactor: Spellcheck (#27964)
calvinballing Oct 11, 2023
093d78a
docs: update code of conduct (#27988)
abhisar-yadav Oct 11, 2023
5efecf9
chore: fix problem with single tab run mode introduced by #27786 (#28…
ryanthemanuel Oct 11, 2023
4e720c8
chore: fix types breaking due to exposing too much inside of protocol…
ryanthemanuel Oct 11, 2023
6373930
chore: release 13.3.1 (#28022)
dkasper-was-taken Oct 11, 2023
facf87d
fix(deps): update dependency zod to v3.22.3 [security] (#27966)
renovate[bot] Oct 13, 2023
4bf8e3e
pass burnInConfig in the create run body for the cloud
mabela416 Oct 13, 2023
5a7eee5
fix(grep): fix options sent to fast glob package - issue 27216 (#27231)
samtsai Oct 13, 2023
bffc2f3
chore: use env to override branch instead of cli arg (#28057)
astone123 Oct 16, 2023
861474f
chore: release @cypress/grep-v4.0.1
semantic-release-bot Oct 16, 2023
c8c5b51
dependency: packages/data-context/package.json to reduce vulnerabilit…
ryanthemanuel Oct 16, 2023
624acb4
add burn in mismatch system-test
mabela416 Oct 16, 2023
fd2a27d
chore: release create-cypress-tests-v2.0.4
semantic-release-bot Oct 16, 2023
357cc6f
update system-test snapshot
mabela416 Oct 17, 2023
e488a05
update record_spec mode test to send burnInConfig
mabela416 Oct 17, 2023
4b4f143
add errors snapshot for cloud_burn_in_mismatch
mabela416 Oct 17, 2023
e4d8e0f
update record_spec snapshot
mabela416 Oct 17, 2023
ca6d30d
fix: force gzip when no accept encoding header is sent and use identi…
ryanthemanuel Oct 17, 2023
a96b9b1
chore: remove Cypress Conf promo from README (#28076)
astone123 Oct 17, 2023
ff89ffa
fix: proxy issues with service workers and clean up at end of specs (…
ryanthemanuel Oct 18, 2023
5d667b3
chore: update cache-version date (#28084)
mschile Oct 18, 2023
04a1156
chore: 13.3.2 release (#28086)
mschile Oct 18, 2023
74a06c5
fix: ignore dash, underscore and space in search (#28012)
janlengyel Oct 23, 2023
d960686
fix: fix failures and correlation in proxy (#28094)
ryanthemanuel Oct 23, 2023
dbd2139
fix: issue with proxy correlations and web/shared workers (#28105)
ryanthemanuel Oct 24, 2023
7f01e8d
chore: 13.3.3 release updates (#28129)
mschile Oct 24, 2023
058f3a8
test: fix spec search in windows (#28130)
mschile Oct 24, 2023
186f725
docs: fix typos in guides (#28120)
shresthasurav Oct 24, 2023
09fa9d7
chore: update homepage field to point to marketing site (#28133)
astone123 Oct 25, 2023
15f7300
fix: issue with service worker attachments (#28147)
ryanthemanuel Oct 26, 2023
80cc83d
chore: fix test flake with shared workers and correlating on failures…
ryanthemanuel Oct 26, 2023
201e9f3
feat: experimental retries (#27930)
AtofStryker Oct 26, 2023
b4cfb47
chore: update @ffprobe-installer/ffprobe so all system tests run on d…
cacieprins Oct 26, 2023
95d1a0c
chore: updating v8 snapshot cache
Oct 26, 2023
f30a16a
chore: updating v8 snapshot cache
Oct 26, 2023
4036d71
chore: update changelog for #28141 fix (#28161)
ryanthemanuel Oct 27, 2023
7defccf
chore: increase timeout for experimental retries test (#28163)
cacieprins Oct 27, 2023
e0ad2d7
chore: fixes changelog whitespace (#28164)
cacieprins Oct 27, 2023
397ab4c
chore: 13.4.0 release updates (#28166)
cacieprins Oct 27, 2023
08d73d4
chore: fixes changelog whitespace (#28168)
cacieprins Oct 27, 2023
c097aa0
Merge branch 'develop' into feature/test-burn-in
cacieprins Oct 27, 2023
3225c00
Merge pull request #28169 from cypress-io/merge/develop-to-test-burn-in
ryanthemanuel Oct 30, 2023
f935516
add error enum for burn in config mismatch
mabela416 Oct 10, 2023
9dfb761
pass burnInConfig in the create run body for the cloud
mabela416 Oct 13, 2023
ead977f
add burn in mismatch system-test
mabela416 Oct 16, 2023
1a7594d
fix merge conflict with record_spec snapshot
mabela416 Nov 1, 2023
d413a05
update record_spec mode test to send burnInConfig
mabela416 Oct 17, 2023
2dbf030
add errors snapshot for cloud_burn_in_mismatch
mabela416 Oct 17, 2023
786566c
update record_spec snapshot
mabela416 Oct 17, 2023
015c094
update record_spec snapshot
mabela416 Nov 1, 2023
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
41 changes: 41 additions & 0 deletions packages/errors/__snapshot-html__/CLOUD_BURN_IN_MISMATCH.html

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

7 changes: 7 additions & 0 deletions packages/errors/src/errors.ts
Original file line number Diff line number Diff line change
Expand Up @@ -383,6 +383,13 @@ export const AllCypressErrors = {

https://on.cypress.io/auto-cancellation-mismatch`
},
CLOUD_BURN_IN_MISMATCH: (arg1: {runUrl: string, burnInConfig: string, configFileBaseName: string}) => {
return errTemplate`\
You passed in a ${fmt.highlightSecondary(`experimentalBurnIn`)} configuration, but this run originally started with a different configuration for ${fmt.highlightSecondary(`experimentalBurnIn`)}.
This ${fmt.highlightSecondary(`experimentalBurnIn`)} config came from your ${fmt.path(arg1.configFileBaseName)} file or an environment variable.
The existing run is: ${fmt.url(arg1.runUrl)}
The experimentalBurnIn configuration you tried to pass was: ${fmt.stringify(arg1.burnInConfig)}`
},
DEPRECATED_BEFORE_BROWSER_LAUNCH_ARGS: () => {
return errTemplate`\
Deprecation Warning: The ${fmt.highlight(`before:browser:launch`)} plugin event changed its signature in ${fmt.cypressVersion(`4.0.0`)}
Expand Down
12 changes: 12 additions & 0 deletions packages/errors/test/unit/visualSnapshotErrors_spec.ts
Original file line number Diff line number Diff line change
Expand Up @@ -563,6 +563,18 @@ describe('visual error templates', () => {
}],
}
},
CLOUD_BURN_IN_MISMATCH: () => {
return {
default: [{
runUrl: 'https://cloud.cypress.io/project/abcd/runs/1',
burnInConfig: `{
default: 1,
flaky:2
}`,
configFileBaseName: 'cypress.config.json',
}],
}
},
DEPRECATED_BEFORE_BROWSER_LAUNCH_ARGS: () => {
return {
default: [],
Expand Down
1 change: 1 addition & 0 deletions packages/graphql/schemas/schema.graphql
Original file line number Diff line number Diff line change
Expand Up @@ -1136,6 +1136,7 @@ enum ErrorTypeEnum {
CLOUD_API_RESPONSE_FAILED_RETRYING
CLOUD_AUTO_CANCEL_MISMATCH
CLOUD_AUTO_CANCEL_NOT_AVAILABLE_IN_PLAN
CLOUD_BURN_IN_MISMATCH
CLOUD_CANCEL_SKIPPED_SPEC
CLOUD_CANNOT_CREATE_RUN_OR_INSTANCE
CLOUD_CANNOT_PROCEED_IN_PARALLEL
Expand Down
1 change: 1 addition & 0 deletions packages/server/lib/cloud/api.ts
Original file line number Diff line number Diff line change
Expand Up @@ -363,6 +363,7 @@ module.exports = {
'specPattern',
'tags',
'testingType',
'burnInConfig',
]),
runnerCapabilities,
}
Expand Down
10 changes: 9 additions & 1 deletion packages/server/lib/modes/record.js
Original file line number Diff line number Diff line change
Expand Up @@ -528,7 +528,7 @@ const createRun = Promise.method((options = {}) => {
ciBuildId: null,
})

let { projectRoot, projectId, recordKey, platform, git, specPattern, specs, parallel, ciBuildId, group, tags, testingType, autoCancelAfterFailures, project } = options
let { projectRoot, projectId, recordKey, platform, git, specPattern, specs, parallel, ciBuildId, group, tags, testingType, autoCancelAfterFailures, project, burnInConfig } = options

if (recordKey == null) {
recordKey = env.get('CYPRESS_RECORD_KEY')
Expand Down Expand Up @@ -586,6 +586,7 @@ const createRun = Promise.method((options = {}) => {
commit,
autoCancelAfterFailures,
project,
burnInConfig,
})
.tap((response) => {
if (!(response && response.warnings && response.warnings.length)) {
Expand Down Expand Up @@ -776,6 +777,12 @@ const createRun = Promise.method((options = {}) => {
ciBuildId,
autoCancelAfterFailures,
})
case 'BURN_IN_MISMATCH':
return errors.throwErr('CLOUD_BURN_IN_MISMATCH', {
runUrl,
burnInConfig,
configFileBaseName: path.basename(options.configFile),
})
default:
return errors.throwErr('CLOUD_UNKNOWN_INVALID_REQUEST', {
response: err,
Expand Down Expand Up @@ -895,6 +902,7 @@ const createRunAndRecordSpecs = (options = {}) => {
configFile: config ? config.configFile : null,
autoCancelAfterFailures,
project,
burnInConfig: config?.experimentalBurnIn,
})
.then((resp) => {
if (!resp) {
Expand Down
8 changes: 8 additions & 0 deletions packages/server/test/unit/modes/record_spec.js
Original file line number Diff line number Diff line change
Expand Up @@ -286,6 +286,12 @@ describe('lib/modes/record', () => {
const testingType = 'e2e'
const autoCancelAfterFailures = 4
const project = {}
const config = {
experimentalBurnIn: {
default: 1,
flaky: 2,
},
}

return recordMode.createRunAndRecordSpecs({
key,
Expand All @@ -303,6 +309,7 @@ describe('lib/modes/record', () => {
testingType,
autoCancelAfterFailures,
project,
config,
})
.then(() => {
expect(commitInfo.commitInfo).to.be.calledWith(projectRoot)
Expand Down Expand Up @@ -342,6 +349,7 @@ describe('lib/modes/record', () => {
tags: ['nightly', 'develop'],
autoCancelAfterFailures: 4,
project,
burnInConfig: config.experimentalBurnIn,
})
})
})
Expand Down
9 changes: 9 additions & 0 deletions system-tests/__snapshots__/record_spec.js
Original file line number Diff line number Diff line change
Expand Up @@ -2365,6 +2365,7 @@ Request Sent:
""
],
"testingType": "e2e",
"burnInConfig": false,
"runnerCapabilities": {
"dynamicSpecsInSerialMode": true,
"skipSpecAction": true,
Expand Down Expand Up @@ -3632,3 +3633,11 @@ exports['e2e record capture-protocol enabled protocol runtime errors error in pr


`

exports['e2e record api interaction errors create run 422 - burn-in config mismatch errors when first run burn-in config is different from non-first run 1'] = `
You passed in a experimentalBurnIn configuration, but this run originally started with a different configuration for experimentalBurnIn.
This experimentalBurnIn config came from your cypress-with-project-id.config.js file or an environment variable.
The existing run is: https://cloud.cypress.io/runs/12345
The experimentalBurnIn configuration you tried to pass was: false

`
33 changes: 33 additions & 0 deletions system-tests/test/record_spec.js
Original file line number Diff line number Diff line change
Expand Up @@ -1070,6 +1070,39 @@ describe('e2e record', () => {
})
})

describe('create run 422 - burn-in config mismatch', () => {
setupStubbedServer(createRoutes({
postRun: {
res (req, res) {
return res.status(422).json({
code: 'BURN_IN_MISMATCH',
payload: {
runUrl: 'https://cloud.cypress.io/runs/12345',
},
})
},
},
}))

it('errors when first run burn-in config is different from non-first run', function () {
return systemTests.exec(this, {
key: 'f858a2bc-b469-4e48-be67-0876339ee7e1',
configFile: 'cypress-with-project-id.config.js',
spec: 'record_pass*',
record: true,
snapshot: true,
expectedExitCode: 1,
})
.then(() => {
const urls = getRequestUrls()

expect(urls).to.deep.eq([
'POST /runs',
])
})
})
})

describe('create run 412', () => {
setupStubbedServer(createRoutes({
postRun: {
Expand Down