schemaVersion: 2.2.2
metadata:
  name: che-dashboard
  generateName: che-dashboard-
components:
  - name: tools
    container:
      image: quay.io/devfile/universal-developer-image:ubi8-latest
      memoryLimit: 10G
      memoryRequest: 512Mi
      cpuRequest: 1000m
      cpuLimit: 5000m
      mountSources: true
      endpoints:
        - exposure: public
          name: local-server
          protocol: https
          targetPort: 8080
          path: /
        - exposure: public
          name: bundle-analyzer
          path: /
          protocol: https
          targetPort: 8888
      env:
        - name: KUBEDOCK_ENABLED
          value: "true"
commands:
  - id: installdependencies
    exec:
      label: "[UD] install dependencies"
      component: tools
      workingDir: ${PROJECT_SOURCE}
      commandLine: "yarn install"
      group:
        kind: build
        isDefault: true
  - id: build
    exec:
      label: "[UD] build"
      component: tools
      workingDir: ${PROJECT_SOURCE}
      commandLine: "yarn install && yarn build"
      group:
        kind: build
  - id: watchfrontend
    exec:
      label: "[UD] watch frontend"
      component: tools
      workingDir: ${PROJECT_SOURCE}
      commandLine: "yarn --cwd packages/dashboard-frontend build:watch"
      group:
        kind: build
  - id: watchbackend
    exec:
      label: "[UD] watch backend"
      component: tools
      workingDir: ${PROJECT_SOURCE}
      commandLine: "yarn --cwd packages/dashboard-backend build:watch"
      group:
        kind: build
  - id: dogfoodingstart
    exec:
      label: "[UD] dogfooding start"
      component: tools
      workingDir: ${PROJECT_SOURCE}
      commandLine: "oc project dogfooding && export CHE_NAMESPACE='dogfooding' && export NAMESPACE='dogfooding' && yarn start:prepare && yarn start -c"
      group:
        kind: build
  - id: startcheinche
    exec:
      label: "[UD] start che-in-che"
      component: tools
      workingDir: ${PROJECT_SOURCE}
      commandLine: "yarn start:prepare && yarn start -c"
      group:
        kind: build
  - id: runtests
    exec:
      label: "[UD] test"
      component: tools
      workingDir: ${PROJECT_SOURCE}
      commandLine: "yarn test"
      group:
        kind: test
  - id: frontendbuildspeed
    exec:
      label: "[UD] frontend build speed"
      component: tools
      workingDir: ${PROJECT_SOURCE}
      commandLine: "yarn --cwd  packages/dashboard-frontend build:dev --env speedMeasure=true"
      group:
        kind: build
  - id: backendbuildspeed
    exec:
      label: "[UD] backend build speed"
      component: tools
      workingDir: ${PROJECT_SOURCE}
      commandLine: "yarn --cwd  packages/dashboard-backend build:dev --env speedMeasure=true"
      group:
        kind: build
  - id: frontendbundleanalyzer
    exec:
      label: "[UD] frontend bundle analyzer"
      component: tools
      workingDir: ${PROJECT_SOURCE}
      commandLine: "yarn --cwd  packages/dashboard-frontend build --env bundleAnalyzer=true"
      group:
        kind: build
  - id: backendbundleanalyzer
    exec:
      label: "[UD] backend bundle analyzer"
      component: tools
      workingDir: ${PROJECT_SOURCE}
      commandLine: "yarn --cwd  packages/dashboard-backend build --env bundleAnalyzer=true"
      group:
        kind: build
