-
-
Notifications
You must be signed in to change notification settings - Fork 3.5k
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
chore(build): try to publish to npm (#3675)
- Loading branch information
Showing
19 changed files
with
236 additions
and
143 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -13,22 +13,24 @@ version: 2.1 | |
## | ||
orbs: | ||
codecov: codecov/[email protected] | ||
cypress: cypress-io/cypress@3 | ||
# executors: | ||
# # Custom executor to override Cypress config | ||
# deploy-to-prod-executor: | ||
# docker: | ||
# - image: cimg/node:16.14 | ||
# environment: | ||
# CYPRESS_BASE_URL: https://ohif-staging.netlify.com/ | ||
# chrome-and-pacs: | ||
# docker: | ||
# # Primary container image where all steps run. | ||
# - image: 'cypress/browsers:node18.12.0-chrome106-ff106' | ||
cypress: cypress-io/[email protected] | ||
|
||
executors: | ||
cypress-custom: | ||
description: | | ||
Single Docker container used to run Cypress Tests | ||
docker: | ||
- image: cimg/node:<< parameters.node-version >>-browsers | ||
parameters: | ||
node-version: | ||
default: '18.16.1' | ||
description: | | ||
The version of Node to run your tests with. | ||
type: string | ||
|
||
defaults: &defaults | ||
docker: | ||
- image: cimg/node:16.14-browsers | ||
- image: cimg/node:18.18 | ||
environment: | ||
TERM: xterm # Enable colors in term | ||
QUICK_BUILD: true | ||
|
@@ -43,6 +45,7 @@ jobs: | |
steps: | ||
# Update yarn | ||
- run: yarn -v | ||
- run: node --version | ||
# Checkout code and ALL Git Tags | ||
- checkout | ||
- restore_cache: | ||
|
@@ -93,39 +96,39 @@ jobs: | |
### | ||
# Workflow: PR_OPTIONAL_DOCKER_PUBLISH | ||
### | ||
DOCKER_PR_PUBLISH: | ||
<<: *defaults | ||
steps: | ||
# Enable yarn workspaces | ||
- run: yarn config set workspaces-experimental true | ||
# DOCKER_PR_PUBLISH: | ||
# <<: *defaults | ||
# steps: | ||
# # Enable yarn workspaces | ||
# - run: yarn config set workspaces-experimental true | ||
|
||
# Checkout code and ALL Git Tags | ||
- checkout | ||
- restore_cache: | ||
name: Restore Yarn and Cypress Package Cache | ||
keys: | ||
# when lock file changes, use increasingly general patterns to restore cache | ||
- yarn-packages-{{ checksum "yarn.lock" }} | ||
- yarn-packages- | ||
# # Checkout code and ALL Git Tags | ||
# - checkout | ||
# - restore_cache: | ||
# name: Restore Yarn and Cypress Package Cache | ||
# keys: | ||
# # when lock file changes, use increasingly general patterns to restore cache | ||
# - yarn-packages-{{ checksum "yarn.lock" }} | ||
# - yarn-packages- | ||
|
||
- run: | ||
name: Install Dependencies | ||
command: yarn install --frozen-lockfile | ||
# - run: | ||
# name: Install Dependencies | ||
# command: yarn install --frozen-lockfile | ||
|
||
- setup_remote_docker: | ||
docker_layer_caching: false | ||
# - setup_remote_docker: | ||
# docker_layer_caching: false | ||
|
||
- run: | ||
name: Build and push Docker image | ||
command: | | ||
# Remove npm config | ||
rm -f ./.npmrc | ||
# Set our version number using vars | ||
echo $CIRCLE_BUILD_NUM | ||
# Build our image, auth, and push | ||
docker build --tag ohif/app:PR_BUILD-$CIRCLE_BUILD_NUM . | ||
echo $DOCKER_PWD | docker login -u $DOCKER_LOGIN --password-stdin | ||
docker push ohif/app:PR_BUILD-$CIRCLE_BUILD_NUM | ||
# - run: | ||
# name: Build and push Docker image | ||
# command: | | ||
# # Remove npm config | ||
# rm -f ./.npmrc | ||
# # Set our version number using vars | ||
# echo $CIRCLE_BUILD_NUM | ||
# # Build our image, auth, and push | ||
# docker build --tag ohif/app:PR_BUILD-$CIRCLE_BUILD_NUM . | ||
# echo $DOCKER_PWD | docker login -u $DOCKER_LOGIN --password-stdin | ||
# docker push ohif/app:PR_BUILD-$CIRCLE_BUILD_NUM | ||
|
||
### | ||
# Workflow: DEPLOY | ||
|
@@ -177,63 +180,6 @@ jobs: | |
- commit.txt | ||
- version.json | ||
|
||
# DEPLOY_TO_DEV: | ||
# docker: | ||
# - image: circleci/node:16.14.0 | ||
# environment: | ||
# TERM: xterm | ||
# NETLIFY_SITE_ID: 32708787-c9b0-4634-b50f-7ca41952da77 | ||
# working_directory: ~/repo | ||
# steps: | ||
# - attach_workspace: | ||
# at: ~/repo | ||
# - run: cd .netlify && npm install | ||
# - run: cp .netlify/deploy-workflow/_redirects platform/app/dist/_redirects | ||
# - run: cd .netlify && npm run deploy | ||
|
||
# DEPLOY_TO_STAGING: | ||
# docker: | ||
# - image: circleci/node:16.14.0 | ||
# environment: | ||
# TERM: xterm | ||
# NETLIFY_SITE_ID: c7502ae3-b150-493c-8422-05701e44a969 | ||
# working_directory: ~/repo | ||
# steps: | ||
# - attach_workspace: | ||
# at: ~/repo | ||
# - run: cd .netlify && npm install | ||
# - run: cp .netlify/deploy-workflow/_redirects platform/app/dist/_redirects | ||
# - run: cd .netlify && npm run deploy | ||
|
||
# DEPLOY_TO_PRODUCTION: | ||
# docker: | ||
# - image: circleci/node:16.14.0 | ||
# environment: | ||
# TERM: xterm | ||
# NETLIFY_SITE_ID: 79c4a5da-5c95-4dc9-84f7-45fd9dfe21b0 | ||
# working_directory: ~/repo | ||
# steps: | ||
# - attach_workspace: | ||
# at: ~/repo | ||
# - run: cd .netlify && npm install | ||
# - run: cp .netlify/deploy-workflow/_redirects platform/app/dist/_redirects | ||
# - run: cd .netlify && npm run deploy | ||
|
||
# DEPLOY_TO_RELEASE_DEV: | ||
# docker: | ||
# - image: circleci/node:16.14.0 | ||
# environment: | ||
# TERM: xterm | ||
# NETLIFY_SITE_ID: 3270878-22 | ||
# working_directory: ~/repo | ||
# steps: | ||
# - attach_workspace: | ||
# at: ~/repo | ||
# - run: cd .netlify && npm install | ||
# - run: | ||
# cp .netlify/deploy-workflow/_redirects platform/app/dist/_redirects | ||
# - run: cd .netlify && npm run deploy | ||
|
||
### | ||
# Workflow: RELEASE | ||
### | ||
|
@@ -362,28 +308,116 @@ jobs: | |
docker push ohif/app:$IMAGE_VERSION_FULL | ||
fi | ||
# This is copied from the Cypress orb since the default for cypress/run is node 16 and | ||
# we migrated to 18 | ||
CYPRESS_CUSTOM_RUN: | ||
description: | | ||
A single, complete job to run Cypress end-to-end tests in your application. | ||
executor: cypress-custom | ||
parallelism: << parameters.parallelism >> | ||
parameters: | ||
cypress-cache-key: | ||
default: cypress-cache-{{ arch }}-{{ checksum "package.json" }} | ||
description: Cache key used to cache the Cypress binary. | ||
type: string | ||
cypress-cache-path: | ||
default: ~/.cache/Cypress | ||
description: | | ||
By default, this will cache the '~/.cache/Cypress' directory so that the Cypress binary is cached. You can override this by providing your own cache path. | ||
type: string | ||
cypress-command: | ||
default: npx cypress run | ||
description: Command used to run your Cypress tests | ||
type: string | ||
include-branch-in-node-cache-key: | ||
default: false | ||
description: | | ||
If true, this cache will only apply to runs within the same branch. (Adds -{{ .Branch }}- to the node cache key) | ||
type: boolean | ||
install-browsers: | ||
default: false | ||
description: | | ||
Cypress runs by default in the Electron browser. Use this flag to install additional browsers to run your tests in. | ||
This is only needed if you are passing the `--browser` flag in your `cypress-command`. | ||
This parameter leverages the `circleci/browser-tools` orb and includes Chrome and FireFox. | ||
If you need additional browser support you can set this to false and use an executor with a docker image | ||
that includes the browsers of your choosing. See https://hub.docker.com/r/cypress/browsers/tags | ||
type: boolean | ||
install-command: | ||
default: '' | ||
description: Overrides the default NPM command (npm ci) | ||
type: string | ||
node-cache-version: | ||
default: v1 | ||
description: | ||
Change the default node cache version if you need to clear the cache for any reason. | ||
type: string | ||
package-manager: | ||
default: npm | ||
description: Select the default node package manager to use. NPM v5+ Required. | ||
enum: | ||
- npm | ||
- yarn | ||
- yarn-berry | ||
type: enum | ||
parallelism: | ||
default: 1 | ||
description: | | ||
Number of Circle machines to use for load balancing, min 1 | ||
(requires `parallel` and `record` flags in your `cypress-command`) | ||
type: integer | ||
post-install: | ||
default: '' | ||
description: | | ||
Additional commands to run after running install but before verifying Cypress and saving cache. | ||
type: string | ||
start-command: | ||
default: '' | ||
description: Command used to start your local dev server for Cypress to tests against | ||
type: string | ||
working-directory: | ||
default: '' | ||
description: Directory containing package.json | ||
type: string | ||
steps: | ||
- cypress/install: | ||
cypress-cache-key: << parameters.cypress-cache-key >> | ||
cypress-cache-path: << parameters.cypress-cache-path >> | ||
include-branch-in-node-cache-key: << parameters.include-branch-in-node-cache-key >> | ||
install-browsers: << parameters.install-browsers >> | ||
install-command: << parameters.install-command >> | ||
node-cache-version: << parameters.node-cache-version >> | ||
package-manager: << parameters.package-manager >> | ||
post-install: << parameters.post-install >> | ||
working-directory: << parameters.working-directory >> | ||
- cypress/run-tests: | ||
cypress-command: << parameters.cypress-command >> | ||
start-command: << parameters.start-command >> | ||
working-directory: << parameters.working-directory >> | ||
|
||
workflows: | ||
PR_CHECKS: | ||
jobs: | ||
- UNIT_TESTS | ||
|
||
- cypress/run: | ||
name: 'E2E: PWA' | ||
start-command: yarn run test:data && yarn run test:e2e:serve | ||
install-browsers: true | ||
cypress-command: | ||
'npx wait-on@latest http://localhost:3000 && cd platform/app && npx cypress run | ||
--record --browser chrome --parallel' | ||
package-manager: 'yarn' | ||
cypress-cache-key: 'yarn-packages-{{ checksum "yarn.lock" }}' | ||
cypress-cache-path: '~/.cache/Cypress' | ||
post-steps: | ||
- store_artifacts: | ||
path: platform/app/cypress/screenshots | ||
- store_artifacts: | ||
path: platform/app/cypress/videos | ||
- store_test_results: | ||
path: platform/app/cypress/results | ||
- CYPRESS_CUSTOM_RUN: | ||
name: 'Cypress Tests' | ||
context: cypress | ||
matrix: | ||
parameters: | ||
start-command: | ||
- yarn run test:data && yarn run test:e2e:serve | ||
install-browsers: | ||
- true | ||
cypress-command: | ||
- 'npx wait-on@latest http://localhost:3000 && cd platform/app && npx cypress run | ||
--record --browser chrome --parallel' | ||
package-manager: | ||
- 'yarn' | ||
cypress-cache-key: | ||
- 'yarn-packages-{{ checksum "yarn.lock" }}' | ||
cypress-cache-path: | ||
- '~/.cache/Cypress' | ||
requires: | ||
- UNIT_TESTS | ||
|
||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1 +1 @@ | ||
16.14.0 | ||
18.16.1 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.