* feat: update the protocol to be able to flex logic based on project config
* slight refactor
* Update cli/CHANGELOG.md
* Update packages/types/src/protocol.ts
* fix ts
* refactor record.js to extract upload logic into ts
- streamlines the main uploadArtifact fn
- extracts artifact specific logic to artifact classes
- fully defines types for upload processing and reporting
* tweak refactors so system tests produce same snapshots
* some todos, fixes exports/imports from api/index.ts
* fix api export so it can be imported by ts files
* cleans up types
* extracting artifact metadata from options logs to debug but does not throw if errors are encountered
* fix type imports in print-run
* fix debug formatting for artifacts
* fix reporting successful protocol uploads
* change inheritence to strategy
* rm empty file
* Update packages/server/lib/cloud/artifacts/upload_artifacts.ts
* makes protocolManager optional to uploadArtifacts, fixes conditional accessor in protocol fatal error report
* missed a potentially undef
* convert to frozen object / keyof instead of string composition for artifact kinds
---------
Co-authored-by: Ryan Manuel <ryanm@cypress.io>
Co-authored-by: Jennifer Shehane <jennifer@cypress.io>
* 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>