steps:
  - name: ":docker: bootstrap monorepo image"
    plugins:
      docker-compose#v2.0.0:
        build: fusion-release
        image-repository: 027047743804.dkr.ecr.us-east-2.amazonaws.com/uber
        no-cache: true
    agents:
      queue: beefy
  - wait
  # Just manually upload steps for now until we can dynamically generate the pipeline
  # - name: ":pipeline: generate monorepo steps"
  #   command: "node generatePipeline.js"
  #   plugins:
  #     docker-compose#v2.0.0:
  #       run: fusion-release
  #   agents:
  #     queue: workers
  - name: "all packages - lint"
    command: "./node_modules/.bin/lerna exec --scope fusion-* --scope=browser-tests yarn lint"
    timeout_in_minutes: 60
    agents:
      queue: workers
    plugins:
      "docker-compose#v2.0.0":
        run: "fusion-release"
  - name: "all packages - flowtype"
    command: "node src/checkTypes"
    timeout_in_minutes: 60
    agents:
      queue: workers
    plugins:
      "docker-compose#v2.0.0":
        run: "fusion-release"
  - name: "fusion-plugin-http-handler test"
    command: "./node_modules/.bin/lerna exec --scope fusion-plugin-http-handler yarn test"
    timeout_in_minutes: 60
    agents:
      queue: workers
    plugins:
      "docker-compose#v2.0.0":
        run: "fusion-release"
  - name: "fusion-plugin-i18n-react test"
    command: "./node_modules/.bin/lerna exec --scope fusion-plugin-i18n-react yarn test"
    timeout_in_minutes: 60
    agents:
      queue: workers
    plugins:
      "docker-compose#v2.0.0":
        run: "fusion-release"
  - name: "fusion-plugin-react-helmet-async test"
    command: "./node_modules/.bin/lerna exec --scope fusion-plugin-react-helmet-async yarn test"
    timeout_in_minutes: 60
    agents:
      queue: workers
    plugins:
      "docker-compose#v2.0.0":
        run: "fusion-release"
  - name: "fusion-plugin-universal-logger test"
    command: "./node_modules/.bin/lerna exec --scope fusion-plugin-universal-logger yarn test"
    timeout_in_minutes: 60
    agents:
      queue: workers
    plugins:
      "docker-compose#v2.0.0":
        run: "fusion-release"
  - name: "fusion-plugin-universal-events-react test"
    command: "./node_modules/.bin/lerna exec --scope fusion-plugin-universal-events-react yarn test"
    timeout_in_minutes: 60
    agents:
      queue: workers
    plugins:
      "docker-compose#v2.0.0":
        run: "fusion-release"
  - name: "fusion-plugin-universal-events test"
    command: "./node_modules/.bin/lerna exec --scope fusion-plugin-universal-events yarn test"
    timeout_in_minutes: 60
    agents:
      queue: workers
    plugins:
      "docker-compose#v2.0.0":
        run: "fusion-release"
  - name: "fusion-test-utils test"
    command: "./node_modules/.bin/lerna exec --scope fusion-test-utils yarn test"
    timeout_in_minutes: 60
    agents:
      queue: workers
    plugins:
      "docker-compose#v2.0.0":
        run: "fusion-release"
  - name: "fusion-plugin-styletron-react test"
    command: "./node_modules/.bin/lerna exec --scope fusion-plugin-styletron-react yarn test"
    timeout_in_minutes: 60
    agents:
      queue: workers
    plugins:
      "docker-compose#v2.0.0":
        run: "fusion-release"
  - name: "fusion-plugin-rpc-redux-react test"
    command: "./node_modules/.bin/lerna exec --scope fusion-plugin-rpc-redux-react yarn test"
    timeout_in_minutes: 60
    agents:
      queue: workers
    plugins:
      "docker-compose#v2.0.0":
        run: "fusion-release"
  - name: "fusion-rpc-redux test"
    command: "./node_modules/.bin/lerna exec --scope fusion-rpc-redux yarn test"
    timeout_in_minutes: 60
    agents:
      queue: workers
    plugins:
      "docker-compose#v2.0.0":
        run: "fusion-release"
  - name: "fusion-plugin-rpc test"
    command: "./node_modules/.bin/lerna exec --scope fusion-plugin-rpc yarn test"
    timeout_in_minutes: 60
    agents:
      queue: workers
    plugins:
      "docker-compose#v2.0.0":
        run: "fusion-release"
  - name: "fusion-plugin-redux-action-emitter-enhancer test"
    command: "./node_modules/.bin/lerna exec --scope fusion-plugin-redux-action-emitter-enhancer yarn test"
    timeout_in_minutes: 60
    agents:
      queue: workers
    plugins:
      "docker-compose#v2.0.0":
        run: "fusion-release"
  - name: "fusion-plugin-react-router test"
    command: "./node_modules/.bin/lerna exec --scope fusion-plugin-react-router yarn test"
    timeout_in_minutes: 60
    agents:
      queue: workers
    plugins:
      "docker-compose#v2.0.0":
        run: "fusion-release"
  - name: "fusion-plugin-react-redux test"
    command: "./node_modules/.bin/lerna exec --scope fusion-plugin-react-redux yarn test"
    timeout_in_minutes: 60
    agents:
      queue: workers
    plugins:
      "docker-compose#v2.0.0":
        run: "fusion-release"
  - name: "fusion-react test"
    command: "./node_modules/.bin/lerna exec --scope fusion-react yarn test"
    timeout_in_minutes: 60
    agents:
      queue: workers
    plugins:
      "docker-compose#v2.0.0":
        run: "fusion-release"
  - name: "fusion-plugin-node-performance-emitter test"
    command: "./node_modules/.bin/lerna exec --scope fusion-plugin-node-performance-emitter yarn test"
    timeout_in_minutes: 60
    agents:
      queue: workers
    plugins:
      "docker-compose#v2.0.0":
        run: "fusion-release"
  - name: "fusion-react-async test"
    command: "./node_modules/.bin/lerna exec --scope fusion-react-async yarn test"
    timeout_in_minutes: 60
    agents:
      queue: workers
    plugins:
      "docker-compose#v2.0.0":
        run: "fusion-release"
  - name: "eslint-config-fusion test"
    command: "./node_modules/.bin/lerna exec --scope eslint-config-fusion yarn test"
    timeout_in_minutes: 60
    agents:
      queue: workers
    plugins:
      "docker-compose#v2.0.0":
        run: "fusion-release"
  - name: "fusion-plugin-i18n test"
    command: "./node_modules/.bin/lerna exec --scope fusion-plugin-i18n yarn test"
    timeout_in_minutes: 60
    agents:
      queue: workers
    plugins:
      "docker-compose#v2.0.0":
        run: "fusion-release"
  - name: "fusion-plugin-error-handling test"
    command: "./node_modules/.bin/lerna exec --scope fusion-plugin-error-handling yarn test"
    timeout_in_minutes: 60
    agents:
      queue: workers
    plugins:
      "docker-compose#v2.0.0":
        run: "fusion-release"
  - name: "fusion-plugin-jwt test"
    command: "./node_modules/.bin/lerna exec --scope fusion-plugin-jwt yarn test"
    timeout_in_minutes: 60
    agents:
      queue: workers
    plugins:
      "docker-compose#v2.0.0":
        run: "fusion-release"
  - name: "fusion-plugin-csrf-protection-react test"
    command: "./node_modules/.bin/lerna exec --scope fusion-plugin-csrf-protection-react yarn test"
    timeout_in_minutes: 60
    agents:
      queue: workers
    plugins:
      "docker-compose#v2.0.0":
        run: "fusion-release"
  - name: "fusion-plugin-csrf-protection test"
    command: "./node_modules/.bin/lerna exec --scope fusion-plugin-csrf-protection yarn test"
    timeout_in_minutes: 60
    agents:
      queue: workers
    plugins:
      "docker-compose#v2.0.0":
        run: "fusion-release"
  - name: "fusion-plugin-browser-performance-emitter test"
    command: "./node_modules/.bin/lerna exec --scope fusion-plugin-browser-performance-emitter yarn test"
    timeout_in_minutes: 60
    agents:
      queue: workers
    plugins:
      "docker-compose#v2.0.0":
        run: "fusion-release"
  - name: "fusion-core test"
    command: "./node_modules/.bin/lerna exec --scope fusion-core yarn test"
    timeout_in_minutes: 60
    agents:
      queue: workers
    plugins:
      "docker-compose#v2.0.0":
        run: "fusion-release"
  - name: "fusion-cli test"
    command: "./node_modules/.bin/lerna exec --scope fusion-cli yarn test"
    timeout_in_minutes: 60
    agents:
      queue: workers
    plugins:
      "docker-compose#v2.0.0":
        run: "fusion-release"
  - name: "browser-tests test-chrome"
    command: "./node_modules/.bin/lerna exec --scope browser-tests yarn test-chrome"
    timeout_in_minutes: 60
    agents:
      queue: workers
    plugins:
      "docker-compose#v2.0.0":
        run: "fusion-release"
  # Disabled because Firefox is currently not installed in the browser-tests image.
  # - name: "browser-tests test-firefox"
  #   command: "./node_modules/.bin/lerna exec --scope browser-tests yarn test-firefox"
  #   timeout_in_minutes: 60
  #   agents:
  #     queue: workers
  #   plugins:
  #     "docker-compose#v2.0.0":
  #       run: "fusion-release"
  - name: "fusion-apollo-universal-client test"
    command: "./node_modules/.bin/lerna exec --scope fusion-apollo-universal-client yarn test"
    timeout_in_minutes: 60
    agents:
      queue: workers
    plugins:
      "docker-compose#v2.0.0":
        run: "fusion-release"
  - name: "fusion-apollo test"
    command: "./node_modules/.bin/lerna exec --scope fusion-apollo yarn test"
    timeout_in_minutes: 60
    agents:
      queue: workers
    plugins:
      "docker-compose#v2.0.0":
        run: "fusion-release"
  - name: "fusion-plugin-font-loader-react test"
    command: "./node_modules/.bin/lerna exec --scope fusion-plugin-font-loader-react yarn test"
    timeout_in_minutes: 60
    agents:
      queue: workers
    plugins:
      "docker-compose#v2.0.0":
        run: "fusion-release"
  - name: "fusion-scaffolder test"
    command: "./node_modules/.bin/lerna exec --scope fusion-scaffolder yarn test"
    timeout_in_minutes: 60
    agents:
      queue: workers
    plugins:
      "docker-compose#v2.0.0":
        run: "fusion-release"
  - name: "fusion-tokens test"
    command: "./node_modules/.bin/lerna exec --scope fusion-tokens yarn test"
    timeout_in_minutes: 60
    agents:
      queue: workers
    plugins:
      "docker-compose#v2.0.0":
        run: "fusion-release"
  - wait: ~
    continue_on_failure: true
  - name: "Update Github status"
    command: "bin/afterVerification"
    branches: master
    timeout_in_minutes: 60
    agents:
      queue: workers
    plugins:
      "docker-compose#v2.0.0":
        run: "fusion-release"
