* tbd
* workable templated filestream uploader
* clean up async assertions
* upload stream uses activity monitor to detect start timeouts and stalls
* makes uploadStream retryable
* filesize detection, enoent errors, and testable retry delays
* extract fs logic to putProtocolArtifact, impl putProtocolArtifact
* aggregate errors for retryable upload streams
* fixes imports from moving api.ts, uses new upload mechanism in protocol.ts
* use spec_helper in StreamActivityMonitor_spec due to global sinon clock changes
* fix putProtocolArtifact specs when run as a part of the unit test suite
* fix return type of ProtocolManager.uploadCaptureArtifact
* convert from whatwg streams back to node streams
* extract HttpError
* ensure system test snapshots
* changelog
* more changelog
* fix unit tests
* fix api ref in integration test
* fix refs to api in snapshotting and after-pack
* small edits
* Update packages/server/lib/cloud/api/HttpError.ts
Co-authored-by: Bill Glesias <bglesias@gmail.com>
* Update packages/server/lib/cloud/upload/uploadStream.ts
Co-authored-by: Bill Glesias <bglesias@gmail.com>
* camelcase -> snakeCase filenames
* improve docs for StreamActivityMonitor
* added documentation to: upload_stream, put_protocol_artifact_spec
* move stream activity monitor params to consts - no magic numbers. docs.
* Update packages/server/lib/cloud/api/http_error.ts
Co-authored-by: Bill Glesias <bglesias@gmail.com>
* Update packages/server/test/unit/cloud/api/put_protocol_artifact_spec.ts
Co-authored-by: Bill Glesias <bglesias@gmail.com>
* fix check-ts
* fix imports in put_protocol_artifact_spec
* Update packages/server/test/unit/cloud/upload/stream_activity_monitor_spec.ts
Co-authored-by: Ryan Manuel <ryanm@cypress.io>
* api.ts -> index.ts
* fix comment style, remove confusingly inapplicable comment about whatwg streams
---------
Co-authored-by: Bill Glesias <bglesias@gmail.com>
Co-authored-by: Ryan Manuel <ryanm@cypress.io>
* fix: patch new tab creation for firefox 124 and up to fix issue where cypress was not executing beyond the first spec in cypress run (specific to firefox).
* Update cli/CHANGELOG.md
Co-authored-by: Jennifer Shehane <jennifer@cypress.io>
* opt for global window instead of no undef for window reference
---------
Co-authored-by: Jennifer Shehane <jennifer@cypress.io>
* activate main cypress tab before taking a screenshot
* new tests to cover page activation behavior
* updates changelog
* whitespace
* fix check-ts
* reduce extension failure timeout to 500ms to account for origin bridge timeout
* only use tab activation workaround in chrome; default to Page.bringToFront in headless mode
* update unit tests
* swap order of tests in 5016 system test
* some debugging to try and hunt down firefox issue
* rm debug prev added - looks like sys test passed that time?
* rm debug emit from v2 extension
* chore: add additional context to messaging when network errors occur in protocol uploads
* reduce total attempts for uploading capture artifacts from 8 to 3
* fix(types): RequestBody type should be able to accept booleans and null values, which are all valid JSON literals
* refactor: boolean literals are valid JSON objects. Null values should also be considered valid when explicitly passed to the request function.
* refactor: body is explicitly defined when passed as positional argument or when supplied through the options object
* test: JSON literals should be parsed as valid JSON and set json=true
* docs: issue reference
* fix: boolean and null literal should be send to request promise as strings
* docs: fixes#28789 -- added issue reference
* test: tests proper conversion of JSON literals to strings.
* docs: added isssue reference
* docs: fixes#28789 -- changelog entry
* refactor: change isValidJsonObj to isValidBody
Co-authored-by: Bill Glesias <bglesias@gmail.com>
* refactor: change isValidJsonObj to isValidBody
Co-authored-by: Bill Glesias <bglesias@gmail.com>
* refactor: use lodash utils
Co-authored-by: Bill Glesias <bglesias@gmail.com>
* Update cli/CHANGELOG.md
Co-authored-by: Bill Glesias <bglesias@gmail.com>
* docs: moved entry to 13.6.5
* docs: fixed changelog entry
* Update CHANGELOG.md
---------
Co-authored-by: Bill Glesias <bglesias@gmail.com>
Co-authored-by: Jennifer Shehane <jennifer@cypress.io>
* Replacing LayerCI references with webapp.io
* Update CI params exposed from webapp.io and add EXPOSE_WEBSITE_HOST
* Adding misc to changelog references changes from LayerCI to webappio
* Removing EXPOSE_WEBSITE_HOST
---------
Co-authored-by: Jennifer Shehane <jennifer@cypress.io>
* fix: issue with service workers in test replay when they're initiated from a support file
* add changelog
* Update cli/CHANGELOG.md
Co-authored-by: Bill Glesias <bglesias@gmail.com>
* PR comment
* get prerelease
* PR comments
* Update .circleci/workflows.yml
* Update .circleci/workflows.yml
Co-authored-by: Matt Schile <mschile@cypress.io>
---------
Co-authored-by: Bill Glesias <bglesias@gmail.com>
Co-authored-by: Matt Schile <mschile@cypress.io>
* fix: force moduleResolution: 'node' when ts-node is registered in the cypress process to make sure value is compatible with commonjs (which is already forced). [run ci]
* Update cli/CHANGELOG.md
* fix: extra target request headers are overwritten
Include original headers with the special "X-Cypress-Is-From-Extra-Target" that is added so fetch requests can include custom headers.
* Add details to changelog
* refactor
---------
Co-authored-by: Chris Breiding <chrisbreiding@gmail.com>
Co-authored-by: Chris Breiding <chrisbreiding@users.noreply.github.com>
* feat: report artifact upload durations to cy cloud for monitoring
* round upload durations to nearest ms
* update changelog
* revert changelog, fix typo in comment
* no longer round uploadDuration - api now accepts floats
* updates changelog
* update api spec for refactored signature on api.updateInstanceArtifacts
* Update CHANGELOG.md
* Update system-tests/test/record_spec.js
Co-authored-by: Chris Breiding <chrisbreiding@users.noreply.github.com>
* rm defunct comment
* rm non-null accessors, this spec is not ts
---------
Co-authored-by: Chris Breiding <chrisbreiding@users.noreply.github.com>
* dependency: updated chrome-remote-interface to 0.33.0
* updating changelog
* updating tests
* updating snapshot
* enable debug logs
* run ci without app integration tests
* .
* is this our problem? seems to be
* .
* run app tests
* .
* remove debug logs in ci
* clean up & re-enable all jobs
* .
* keep existing checked in error for now
* update changelog
---------
Co-authored-by: Emily Rohrbough <emilyrohrbough@yahoo.com>
Co-authored-by: Emily Rohrbough <emilyrohrbough@users.noreply.github.com>
* logic for activity indicator
* update snapshot & masking to handle upload duration, remove defunct mask for upload order
* update changelog
* check for existence of upload activity indicator before attempting to stop it
* updates changelog
* Update cli/CHANGELOG.md
* upload activity display improvements; configurable intervals and delays
* system test snapshots for video compression
* default delay and interval based on undefined rather than falsy
* reduce interval so upload indicator is captured in certain system tests
* Update CHANGELOG.md
* Update CHANGELOG.md
* remove initial delay for upload activity
* correctly evaluate if an upload activity interval env is set or not
* re-inserts spacing before upload activity indicator
* snapshots
---------
Co-authored-by: Jennifer Shehane <jennifer@cypress.io>
* feat: display how long artifacts take to upload
* adds changelog entry
* add PR link to changelog
* bump circle cache
* previous masking was too greedy, made upload duration masking more limited in scope
* update snapshots for video compression system tests
* links changelog for upload durations to open issue
* reorder upload result manifest - show duration after filesize instead of after count
* update stdout normalization regex to be less applicable across system tests
* maybe better regex for masking
* another snapshot attempt
* chore: add after:browser:launch node event (#28180)
* test: update mochaEvent snapshots to be auto-generated (#28224)
* feat: add support for angular 17 (#28152)
* feat(webpack-dev-server): add support for angular 17
* update changelog
* fix broken spec pattern
* update to rc 2 for cli
* remove = from dependency minVersion lists
* update angular 17 rc version and update dep test
* add projectDirFolder to fixtures for angular-17
* resolve broken system tests
* update ct project dir angular version
* fix: runIfWaitingForDebugger when targets are reloaded after crashing (#28254)
* Update cli/CHANGELOG.md
Co-authored-by: Matt Schile <mschile@cypress.io>
* update snapshots
* Update CHANGELOG.md
---------
Co-authored-by: Chris Breiding <chrisbreiding@users.noreply.github.com>
Co-authored-by: Matt Schile <mschile@cypress.io>
Co-authored-by: Jordan <jordan@jpdesigning.com>
Co-authored-by: Ryan Manuel <ryanm@cypress.io>
* chore: set up feature/test-burn-in feature branch
* feat: add burnIn Configuration option (currently a no-op) (#27377)
* feat: add the burnIn Configuration to the config package. Option
currently is a no-op
* chore: make burn in experimental
* chore: set experimentalBurnIn to false by default
* feat: add new experimental retries configuration (#27412)
* feat: implement the experimental retries configuration options to pair
with test burn in
* [run ci]
* fix cache invalidation [run ci]
* fix snapshot added in v13 for module api to include test burn in experimentalflag
* chore: fix merge conflict
* chore: add burnInTestAction capability (#27768)
* add burnInTestAction capability
* feat: add burn in capability for cloud
* chore: fix snapshot for record_spec
* feat: implement experimental retries (#27826)
* chore: format the retries/runner snapshot files to make diff easier
* feat: implement experimentalRetries strategies 'detect-flake-and-pass-on-threshold' and 'detect-flake-but-always-fail'. This should not be a breaking change, though it does modify mocha and the test object even when the experiment is not configured. This is to exercise the system and make sure things still work as expected even when we go GA. Test updates will follow in following commits.
* chore: update snapshots from system tests and cy-in-cy tests that now have the cypress test metadata property _cypressTestStatusInfo. tests have been added in the fail-with-[before|after]each specs to visually see the suite being skipped when developing.
* chore: add cy-in-cy tests to verify reporter behavior for pass/fail tests, as well as new mocha snapshots to verify attempts. New tests were needed for this as the 'retries' option in testConfigOverrides currently is and will be invalid for experiment and will function as an override. tests run in the cy-in-cy tests are using globally configured experimentalRetries for the given tested project, which showcases the different behavior between attempts/retries and pass/fail status.
* chore: add unit test like driver test to verify the test object in mocha is decorated/handled properly in calculateTestStatus
* chore: add sanity system tests to verify console reporter output for experimental retries logic. Currently there is a bug in the reporter where the logged status doesnt wait for the aftereach to complete, which impacts the total exitCode and printed status.
* fix: aftereach console output. make sure to fail the test in the appropriate spot in runner.ts and not prematurely, which in turn updates the snapshots for cy-in-cy as the fail event comes later."
* chore: address comments from code review
* fix: make sure hook failures print outer status + attempts when the error is the hook itself.
* chore: improve types within calculateTestStatus inside mocha.ts
* Revert "feat: add burnIn Configuration option (currently a no-op) (#27377)"
This reverts commit c428443079.
* Revert "chore: add burnInTestAction capability (#27768)"
This reverts commit ae3df1a505.
* chore: run snapshot and binary jobs against experimental retries feature branch
* chore: add changelog entry (wip)
* Revert "fix snapshot added in v13 for module api to include test burn in experimentalflag"
This reverts commit bb5046c91e.
* Fix system tests
* Clear CircleCI cache
* Normalize retries config for test execution
* Fixed some unit tests
* update snapshots for newer test metadata
* Fix cy-in-cy snapshots
* update snapshots
* bump cache version
* chore: ensure legacy retry overrides work; reject exp. retries overrides (#28045)
* update changelog
* flip if statement in experimental retries option validation
* refactor invalid experimental retry override for more useful error msg
* revert testConfigOverrides snapshot
* update snapshots for test override sys test
* Update packages/config/src/validation.ts
Co-authored-by: Chris Breiding <chrisbreiding@users.noreply.github.com>
* succinct changelog entry; links to docs for details
* testConfigOverride system test snapshots
* Update .github/workflows/update_v8_snapshot_cache.yml
Co-authored-by: Ryan Manuel <ryanm@cypress.io>
* Update cli/CHANGELOG.md
Co-authored-by: Ryan Manuel <ryanm@cypress.io>
* Update packages/driver/src/cypress.ts
Co-authored-by: Ryan Manuel <ryanm@cypress.io>
* updating cache-version
* improve typescript usage when appending experimental retry options to experiments in Experimenets.vue
* Revert "improve typescript usage when appending experimental retry options to experiments in Experimenets.vue"
This reverts commit b459aba882.
* refactor test config override validation for experimental retry subkeys
* account for error throw differences in browsers in system tests
* bump circle cache
* bump circle cache again
---------
Co-authored-by: astone123 <adams@cypress.io>
Co-authored-by: mabela416 <mabel@cypress.io>
Co-authored-by: Muaz Othman <muaz@cypress.io>
Co-authored-by: Muaz Othman <muazweb@gmail.com>
Co-authored-by: Cacie Prins <cacie@cypress.io>
Co-authored-by: Cacie Prins <cacieprins@users.noreply.github.com>
Co-authored-by: Chris Breiding <chrisbreiding@users.noreply.github.com>
Co-authored-by: Ryan Manuel <ryanm@cypress.io>
Co-authored-by: Matthew Schile <mschile@cypress.io>