ci: store cypress videos as artifacts; make sure we upload them to dashboard

* fix: Set VTK viewport as active by interaction

* chore: upgrade cypress to latest

* Revert "fix: Set VTK viewport as active by interaction"

This reverts commit b6e174c2def9d8f688a54d32053679788b9aaf76.

* ci: add record flag for master cypress runs

* ci: simplify cypress orb tasks now that cypress@3.8 uses electron w/ chromium 78

* ci: remove video false flag

* ci: drop browser flag

* ci: store video artifacts
This commit is contained in:
Danny Brown 2019-12-12 21:17:35 -05:00 committed by GitHub
parent 5d47cc43c1
commit 7bc9efb0f5
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 12 additions and 35 deletions

View File

@ -13,14 +13,7 @@ version: 2.1
## ##
orbs: orbs:
codecov: codecov/codecov@1.0.5 codecov: codecov/codecov@1.0.5
cypress: cypress-io/cypress@1.11.0 cypress: cypress-io/cypress@1.13.0
executors:
# Custom executor to override Cypress config
deploy-to-prod-executor:
docker:
- image: 'cypress/browsers:node10.16.0-chrome77'
environment:
CYPRESS_BASE_URL: https://ohif-staging.netlify.com/
defaults: &defaults defaults: &defaults
docker: docker:
@ -324,8 +317,6 @@ workflows:
# E2E: PWA # E2E: PWA
- cypress/run: - cypress/run:
name: 'E2E: PWA' name: 'E2E: PWA'
executor: cypress/browsers-chrome76
browser: chrome
pre-steps: pre-steps:
- run: 'rm -rf ~/.yarn && npm i -g yarn && yarn -v && yarn global - run: 'rm -rf ~/.yarn && npm i -g yarn && yarn -v && yarn global
add wait-on' # Use yarn latest add wait-on' # Use yarn latest
@ -341,13 +332,13 @@ workflows:
post-steps: post-steps:
- store_artifacts: - store_artifacts:
path: platform/viewer/cypress/screenshots path: platform/viewer/cypress/screenshots
- store_artifacts:
path: platform/viewer/cypress/videos
requires: requires:
- UNIT_TESTS - UNIT_TESTS
# E2E: script-tag # E2E: script-tag
- cypress/run: - cypress/run:
name: 'E2E: Script Tag' name: 'E2E: Script Tag'
executor: cypress/browsers-chrome76
browser: chrome
pre-steps: pre-steps:
- run: 'rm -rf ~/.yarn && npm i -g yarn && yarn -v && yarn global - run: 'rm -rf ~/.yarn && npm i -g yarn && yarn -v && yarn global
add wait-on' # Use yarn latest add wait-on' # Use yarn latest
@ -364,6 +355,8 @@ workflows:
post-steps: post-steps:
- store_artifacts: - store_artifacts:
path: platform/viewer/cypress/screenshots path: platform/viewer/cypress/screenshots
- store_artifacts:
path: platform/viewer/cypress/videos
requires: requires:
- UNIT_TESTS - UNIT_TESTS
@ -374,7 +367,6 @@ workflows:
# Update hub.docker.org # Update hub.docker.org
- cypress/run: - cypress/run:
name: 'Generate Percy Snapshots' name: 'Generate Percy Snapshots'
executor: cypress/browsers-chrome76
pre-steps: pre-steps:
- run: 'rm -rf ~/.yarn && npm i -g yarn && yarn -v && yarn global - run: 'rm -rf ~/.yarn && npm i -g yarn && yarn -v && yarn global
add wait-on' # Use yarn latest add wait-on' # Use yarn latest
@ -389,6 +381,8 @@ workflows:
post-steps: post-steps:
- store_artifacts: - store_artifacts:
path: platform/viewer/cypress/screenshots path: platform/viewer/cypress/screenshots
- store_artifacts:
path: platform/viewer/cypress/videos
requires: requires:
- AWAIT_APPROVAL - AWAIT_APPROVAL
@ -448,7 +442,6 @@ workflows:
# and record a Cypress dashboard test run # and record a Cypress dashboard test run
- cypress/run: - cypress/run:
name: 'Generate Percy Snapshots' name: 'Generate Percy Snapshots'
executor: cypress/browsers-chrome76
pre-steps: pre-steps:
- run: 'rm -rf ~/.yarn && npm i -g yarn && yarn -v && yarn global - run: 'rm -rf ~/.yarn && npm i -g yarn && yarn -v && yarn global
add wait-on' # Use yarn latest add wait-on' # Use yarn latest
@ -463,28 +456,13 @@ workflows:
post-steps: post-steps:
- store_artifacts: - store_artifacts:
path: platform/viewer/cypress/screenshots path: platform/viewer/cypress/screenshots
- store_artifacts:
path: platform/viewer/cypress/videos
- store_test_results:
path: platform/viewer/cypress/results
filters: filters:
branches: branches:
only: master only: master
- DOCKER_MASTER_PUBLISH: - DOCKER_MASTER_PUBLISH:
requires: requires:
- NPM_PUBLISH - NPM_PUBLISH
#
#
# Potentially use to E2E test STAGING environment
# before publishing to production
# - cypress/run:
# name: 'E2E: PWA'
# executor: deploy-to-prod-executor
# browser: chrome
# working_directory: platform/viewer
# cache-key: 'yarn-packages-{{ checksum "yarn.lock" }}'
# yarn: true
# record: false
# no-workspace: true
# store_artifacts: true
# post-steps:
# - store_artifacts:
# path: platform/viewer/cypress/screenshots
# - store_test_results:
# path: cypress/results

View File

@ -1,6 +1,5 @@
{ {
"baseUrl": "http://localhost:3000", "baseUrl": "http://localhost:3000",
"video": false,
"chromeWebSecurity": false, "chromeWebSecurity": false,
"waitForAnimations": true, "waitForAnimations": true,
"defaultCommandTimeout": 10000, "defaultCommandTimeout": 10000,

View File

@ -27,7 +27,7 @@
"dev:viewer": "yarn run dev", "dev:viewer": "yarn run dev",
"start": "yarn run dev", "start": "yarn run dev",
"test:e2e": "cypress open", "test:e2e": "cypress open",
"test:e2e:ci": "percy exec -- cypress run --record --browser chrome", "test:e2e:ci": "percy exec -- cypress run --record",
"test:e2e:dist": "start-server-and-test test:e2e:serve http://localhost:3000 test:e2e:ci", "test:e2e:dist": "start-server-and-test test:e2e:serve http://localhost:3000 test:e2e:ci",
"test:e2e:serve": "serve -n -l 3000 -s dist", "test:e2e:serve": "serve -n -l 3000 -s dist",
"test:unit": "jest --watchAll", "test:unit": "jest --watchAll",