diff --git a/.circleci/config.yml b/.circleci/config.yml index 1f065eeb6..171d408c3 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -375,7 +375,7 @@ workflows: ### # Our workflow for building, deploying, and promoting builds across our # development, staging, and production environments. - ## + ### DEPLOY: jobs: - BUILD: @@ -396,31 +396,13 @@ workflows: type: approval requires: - DEPLOY_TO_STAGING - # TODO: PWA E2E Test against demo site - # E2E: PWA - - 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 - requires: - - PROMOTE_TO_PRODUCTION - DEPLOY_TO_PRODUCTION: requires: - - 'E2E: PWA' - + - PROMOTE_TO_PRODUCTION + ### # Unit and E2E tests have already run for PR_CHECKS # Re-running should not gain us any confidence here + ### RELEASE: jobs: - NPM_PUBLISH: @@ -434,3 +416,22 @@ workflows: - DOCKER_MASTER_PUBLISH: requires: - 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 diff --git a/docs/latest/SUMMARY.md b/docs/latest/SUMMARY.md index 4ffb4efe9..68a95b5a7 100644 --- a/docs/latest/SUMMARY.md +++ b/docs/latest/SUMMARY.md @@ -47,5 +47,6 @@ - [FAQ](frequently-asked-questions.md) - [Contributing](contributing/index.md) + - [Continuous Integration](continous-integration.md) - [Browser Support](browser-support.md) - [Help](help.md) diff --git a/docs/latest/assets/img/WORKFLOW_DEPLOY.png b/docs/latest/assets/img/WORKFLOW_DEPLOY.png new file mode 100644 index 000000000..3e562a797 Binary files /dev/null and b/docs/latest/assets/img/WORKFLOW_DEPLOY.png differ diff --git a/docs/latest/assets/img/WORKFLOW_PR_CHECKS.png b/docs/latest/assets/img/WORKFLOW_PR_CHECKS.png new file mode 100644 index 000000000..f9c4a568b Binary files /dev/null and b/docs/latest/assets/img/WORKFLOW_PR_CHECKS.png differ diff --git a/docs/latest/assets/img/WORKFLOW_PR_OPTIONAL_DOCKER_PUBLISH.png b/docs/latest/assets/img/WORKFLOW_PR_OPTIONAL_DOCKER_PUBLISH.png new file mode 100644 index 000000000..54b0aa39f Binary files /dev/null and b/docs/latest/assets/img/WORKFLOW_PR_OPTIONAL_DOCKER_PUBLISH.png differ diff --git a/docs/latest/assets/img/WORKFLOW_RELEASE.png b/docs/latest/assets/img/WORKFLOW_RELEASE.png new file mode 100644 index 000000000..f3c2a8069 Binary files /dev/null and b/docs/latest/assets/img/WORKFLOW_RELEASE.png differ diff --git a/docs/latest/continous-integration.md b/docs/latest/continous-integration.md new file mode 100644 index 000000000..793c41c09 --- /dev/null +++ b/docs/latest/continous-integration.md @@ -0,0 +1,106 @@ +# Continous Integration (CI) + +This repository uses `CircleCI` and `Netlify` for continous integration. + +## Deploy Previews + +[Netlify Deploy previews][deploy-previews] are generated for every pull request. +They allow pull request authors and reviewers to "Preview" the OHIF Viewer as if +the changes had been merged. + +Deploy previews can be configured by modifying the `netlify.toml` file in the +root of the repository. Some additional scripts/assets for netlify are included +in the root `.netlify` directory. + +## Workflows + +[CircleCI Workflows][circleci-workflows] are a set of rules for defining a +collection of jobs and their run order. They are self-documenting and their +configuration can be found in our CircleCI configuration file: +`.circleci/config.yml`. + +### Workflow: PR_CHECKS + +The PR_CHECKS workflow (Pull Request Checks) runs our automated unit and +end-to-end tests for every code check-in. These tests must all pass before code +can be merged to our `master` branch. + +
+
+
+
+
+
+
+
+