diff --git a/.circleci/config.yml b/.circleci/config.yml index 35e42c7dd..220532aae 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -5,38 +5,54 @@ references: GOMAXPROCS: 1 NOMAD_SLOW_TEST: 1 GOTESTSUM_JUNITFILE: /tmp/test-reports/results.xml + ignore_for_ui_branches: &IGNORE_FOR_UI_BRANCHES + filters: + branches: + ignore: /^.-ui\b.*/ + workflows: build-test: jobs: - - lint + - lint-go: + <<: *IGNORE_FOR_UI_BRANCHES - test-machine: name: "test-client" test_packages: "./client/..." + <<: *IGNORE_FOR_UI_BRANCHES - test-machine: name: "test-nomad" test_packages: "./nomad/..." + <<: *IGNORE_FOR_UI_BRANCHES - test-machine: # API Tests run in a VM rather than container due to the FS tests # requiring `mount` priviliges. name: "test-api" test_packages: "./api/..." + <<: *IGNORE_FOR_UI_BRANCHES - test-container: name: "test-devices" test_packages: "./devices/..." + <<: *IGNORE_FOR_UI_BRANCHES - test-machine: name: "test-other" exclude_packages: "./api|./client|./drivers/docker|./drivers/exec|./drivers/rkt|./drivers/shared/executor|./nomad|./devices" + <<: *IGNORE_FOR_UI_BRANCHES - test-machine: name: "test-docker" test_packages: "./drivers/docker" + <<: *IGNORE_FOR_UI_BRANCHES - test-machine: name: "test-exec" test_packages: "./drivers/exec" + <<: *IGNORE_FOR_UI_BRANCHES - test-machine: name: "test-shared-exec" test_packages: "./drivers/shared/executor" - - test-rkt + <<: *IGNORE_FOR_UI_BRANCHES + - test-rkt: + <<: *IGNORE_FOR_UI_BRANCHES + - test-ui # - build-deps-image: # context: dani-test # filters: @@ -71,7 +87,7 @@ jobs: - run: docker build -t hashicorpnomad/ci-build-image:$CIRCLE_SHA1 . -f ./Dockerfile.ci - run: docker push hashicorpnomad/ci-build-image:$CIRCLE_SHA1 - lint: + lint-go: executor: go environment: <<: *COMMON_ENVS @@ -154,6 +170,34 @@ jobs: path: /tmp/test-reports - store_artifacts: path: /tmp/test-reports + test-ui: + docker: + - image: circleci/node:10-browsers + environment: + # See https://git.io/vdao3 for details. + JOBS: 2 + steps: + - checkout + - restore_cache: + keys: + - v1-deps-{{ checksum "ui/yarn.lock" }} + - v1-deps- + - run: + name: yarn install + command: cd ui && yarn install + - save_cache: + key: v1-deps-{{ checksum "ui/yarn.lock" }} + paths: + - ./ui/node_modules + - run: + name: lint:js + command: cd ui && yarn run lint:js + - run: + name: lint:hbs + command: cd ui && yarn run lint:hbs + - run: + name: Ember tests + command: cd ui && yarn test build-website: # setting the working_directory along with the checkout path allows us to not have