diff --git a/.circleci/config.yml b/.circleci/config.yml new file mode 100644 index 000000000..d7a96292a --- /dev/null +++ b/.circleci/config.yml @@ -0,0 +1,105 @@ +version: 2.1 + +orbs: + node: circleci/node@5.0.1 + +workflows: + version: 2 + + test_and_lint: + jobs: + - test + - lint + + build_publish: + filters: + tags: + only: /^[0-9]+\.[0-9]+\.[0-9]+$/ + branches: + only: + # - main + - gergo/CIRewrute + jobs: + - test + - lint + - npm_build_object_loader: + # built the npm package + requires: + - test + - lint + + - npm_build_viewer: + requires: + # the result of objectloader build can be mounted here from workspace + - npm_build_object_loader + + - docker_build_server: + requires: + - test + - lint + + - docker_build_webhook_service: + requires: + - test + - lint + + - docker_build_file_import_service: + requires: + - test + - lint + + - docker_build_preview_service: + requires: + # viewer and obj_loader package mounted here from workspace + - npm_build_viewer + + - docker_build_frontend: + requires: + # viewer and obj_loader package mounted here from workspace + - npm_build_viewer + + - publish_npm: + requires: + - npm_build_object_loader + - npm_build_viewer + + - publish_docker_hub: + requires: + - docker_build_server + - docker_build_webhook_service + - docker_build_file_import_service + - docker_build_preview_service + - docker_build_frontend + + - publish_helm_chart: + requires: + - publish_docker_hub + +jobs: + test: + executor: node-executor + steps: + - checkout + - run: node --version + lint: + executor: node-executor + steps: + - checkout + - run: node --version + + publish_npm: + context: + - npm_registry + + publish_docker_hub: + context: + - docker_hub + + publish_helm_chart: + context: + - helm_repo + +executors: + node-executor: + name: node/default + tag: '16'