ci: remove e2e for deploy; add docs
ci: remove e2e for deploy; add docs
This commit is contained in:
commit
1f514e5f1b
@ -375,7 +375,7 @@ workflows:
|
|||||||
###
|
###
|
||||||
# Our workflow for building, deploying, and promoting builds across our
|
# Our workflow for building, deploying, and promoting builds across our
|
||||||
# development, staging, and production environments.
|
# development, staging, and production environments.
|
||||||
##
|
###
|
||||||
DEPLOY:
|
DEPLOY:
|
||||||
jobs:
|
jobs:
|
||||||
- BUILD:
|
- BUILD:
|
||||||
@ -396,31 +396,13 @@ workflows:
|
|||||||
type: approval
|
type: approval
|
||||||
requires:
|
requires:
|
||||||
- DEPLOY_TO_STAGING
|
- 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:
|
- DEPLOY_TO_PRODUCTION:
|
||||||
requires:
|
requires:
|
||||||
- 'E2E: PWA'
|
- PROMOTE_TO_PRODUCTION
|
||||||
|
###
|
||||||
# Unit and E2E tests have already run for PR_CHECKS
|
# Unit and E2E tests have already run for PR_CHECKS
|
||||||
# Re-running should not gain us any confidence here
|
# Re-running should not gain us any confidence here
|
||||||
|
###
|
||||||
RELEASE:
|
RELEASE:
|
||||||
jobs:
|
jobs:
|
||||||
- NPM_PUBLISH:
|
- NPM_PUBLISH:
|
||||||
@ -434,3 +416,22 @@ workflows:
|
|||||||
- 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
|
||||||
|
|||||||
@ -47,5 +47,6 @@
|
|||||||
|
|
||||||
- [FAQ](frequently-asked-questions.md)
|
- [FAQ](frequently-asked-questions.md)
|
||||||
- [Contributing](contributing/index.md)
|
- [Contributing](contributing/index.md)
|
||||||
|
- [Continuous Integration](continous-integration.md)
|
||||||
- [Browser Support](browser-support.md)
|
- [Browser Support](browser-support.md)
|
||||||
- [Help](help.md)
|
- [Help](help.md)
|
||||||
|
|||||||
BIN
docs/latest/assets/img/WORKFLOW_DEPLOY.png
Normal file
BIN
docs/latest/assets/img/WORKFLOW_DEPLOY.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 7.8 KiB |
BIN
docs/latest/assets/img/WORKFLOW_PR_CHECKS.png
Normal file
BIN
docs/latest/assets/img/WORKFLOW_PR_CHECKS.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 5.7 KiB |
BIN
docs/latest/assets/img/WORKFLOW_PR_OPTIONAL_DOCKER_PUBLISH.png
Normal file
BIN
docs/latest/assets/img/WORKFLOW_PR_OPTIONAL_DOCKER_PUBLISH.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 4.7 KiB |
BIN
docs/latest/assets/img/WORKFLOW_RELEASE.png
Normal file
BIN
docs/latest/assets/img/WORKFLOW_RELEASE.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 6.2 KiB |
106
docs/latest/continous-integration.md
Normal file
106
docs/latest/continous-integration.md
Normal file
@ -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.
|
||||||
|
|
||||||
|
<div style="text-align: center;">
|
||||||
|
<a href="/assets/img/WORKFLOW_PR_CHECKS.png">
|
||||||
|
<img src="/assets/img/WORKFLOW_PR_CHECKS.png" alt="workflow diagram" style="margin: 0 auto; max-width: 500px;" />
|
||||||
|
</a>
|
||||||
|
<div><i>Workflow diagram for PR_CHECKS</i></div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
### Workflow: PR_OPTIONAL_DOCKER_PUBLISH
|
||||||
|
|
||||||
|
The PR_OPTIONAL_DOCKER_PUBLISH workflow allows for "manual approval" to publish
|
||||||
|
the pull request as a tagged docker image. This is helpful when changes need to
|
||||||
|
be tested with the Google Adapter before merging to `master`.
|
||||||
|
|
||||||
|
<div style="text-align: center;">
|
||||||
|
<a href="/assets/img/WORKFLOW_PR_OPTIONAL_DOCKER_PUBLISH.png">
|
||||||
|
<img src="/assets/img/WORKFLOW_PR_OPTIONAL_DOCKER_PUBLISH.png" alt="workflow diagram" style="margin: 0 auto; max-width: 500px;" />
|
||||||
|
</a>
|
||||||
|
<div><i>Workflow diagram for PR_WORKFLOW_PR_OPTIONAL_DOCKER_PUBLISH</i></div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
> NOTE: This workflow will fail unless it's for a branch on our `upstream`
|
||||||
|
> repository. If you need this functionality, but the branch is from a fork,
|
||||||
|
> merge the changes to a short-lived `feature/` branch on `upstream`
|
||||||
|
|
||||||
|
### Workflow: DEPLOY
|
||||||
|
|
||||||
|
The DEPLOY workflow deploys the OHIF Viewer when changes are merged to master.
|
||||||
|
It uses the Netlify CLI to deploy assets created as part of the repository's PWA
|
||||||
|
Build process (`yarn run build`). The workflow allows for "Manual Approval" to
|
||||||
|
promote the build to `STAGING` and `PRODUCTION` environments.
|
||||||
|
|
||||||
|
<div style="text-align: center;">
|
||||||
|
<a href="/assets/img/WORKFLOW_DEPLOY.png">
|
||||||
|
<img src="/assets/img/WORKFLOW_DEPLOY.png" alt="workflow diagram" style="margin: 0 auto; max-width: 500px;" />
|
||||||
|
</a>
|
||||||
|
<div><i>Workflow diagram for WORKFLOW_DEPLOY</i></div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
| Environment | Description | URL |
|
||||||
|
| ----------- | ---------------------------------------------------------------------------------- | -------------------------- |
|
||||||
|
| Development | Always reflects latest changes on `master` branch. | [Netlify][netlify-dev] |
|
||||||
|
| Staging | For manual testing before promotion to prod. Keeps development workflow unblocked. | [Netlify][netlify-staging] |
|
||||||
|
| Production | Stable, tested, updated less frequently. | [Netlify][netlify-prod] |
|
||||||
|
|
||||||
|
### Workflow: RELEASE
|
||||||
|
|
||||||
|
The RELEASE workflow publishes our `npm` packages, updated documentation, and
|
||||||
|
`docker` image when changes are merged to master. `Lerna` and "Semantic Commit
|
||||||
|
Syntax" are used to independently version and publish the many packages in our
|
||||||
|
monorepository. If a new version is cut/released, a Docker image is created.
|
||||||
|
Documentation is generated with `gitbook` and pushed to our `gh-pages` branch.
|
||||||
|
GitHub hosts the `gh-pages` branch with GitHub Pages.
|
||||||
|
|
||||||
|
- Platform Packages: https://github.com/ohif/viewers/#platform
|
||||||
|
- Extension Packages: https://github.com/ohif/viewers/#extensions
|
||||||
|
- Documentation: https://docs.ohif.org/
|
||||||
|
|
||||||
|
<div style="text-align: center;">
|
||||||
|
<a href="/assets/img/WORKFLOW_RELEASE.png">
|
||||||
|
<img src="/assets/img/WORKFLOW_RELEASE.png" alt="workflow diagram" style="margin: 0 auto; max-width: 500px;" />
|
||||||
|
</a>
|
||||||
|
<div><i>Workflow diagram for WORKFLOW_RELEASE</i></div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
### HOTFIX
|
||||||
|
|
||||||
|
_Not yet implemented_
|
||||||
|
|
||||||
|
<!--
|
||||||
|
LINKS
|
||||||
|
-->
|
||||||
|
|
||||||
|
<!-- prettier-ignore-start -->
|
||||||
|
[deploy-previews]: https://www.netlify.com/blog/2016/07/20/introducing-deploy-previews-in-netlify/
|
||||||
|
[circleci-workflows]: https://circleci.com/docs/2.0/workflows/
|
||||||
|
[netlify-dev]: https://ohif-dev.netlify.com
|
||||||
|
[netlify-staging]: https://ohif-staging.netlify.com
|
||||||
|
[netlify-prod]: https://ohif-prod.netlify.com
|
||||||
|
<!-- prettier-ignore-end -->
|
||||||
Loading…
Reference in New Issue
Block a user