library 'first-class-pipeline'

executeFreeleapsPipeline {
  serviceName = 'magicleaps'
  environmentSlug = 'alpha'
  serviceGitBranch = 'master'
  serviceGitRepo = "https://freeleaps@dev.azure.com/freeleaps/magicleaps/_git/magicleaps"
  serviceGitRepoType = 'monorepo'
  executeMode = 'on-demand' // on-demand, full
  commitMessageLintEnabled = true
  components {
    frontend {
      root = 'frontend'
      language = 'javascript'
      dependenciesManager = 'npm'
      buildAgentImage = 'node:lts-alpine'
      buildCacheEnabled = true
      buildCommand = 'npm run build'
      lintEnabled = true
      linter = 'eslint'
      sastEnabled = true
      sastProvider = 'NodeJsScan'
      imageRegistry = 'docker.io'
      imageRepository = 'sunzhenyucn'
      imageName = 'magicleaps-frontend'
      imageBuilder = 'dind'
      dockerfilePath = 'Dockerfile'
      imageBuildRoot = '.'
      imageReleaseArchitectures = ['amd64', 'arm64']
      registryCredentialName = 'first-class-pipeline-dev-secret'
      semanticReleaseEnabled = true
      semanticReleaseBranch = 'master'
    }

    backend {
      root = 'backend'
      language = 'python'
      dependenciesManager = 'pip'
      buildAgentImage = 'python:3.10-slim-buster'
      buildCacheEnabled = true
      lintEnabled = true
      linter = 'PyLint'
      sastEnabled = true
      sastProvider = 'Bandit'
      imageRegistry = 'docker.io'
      imageRepository = 'sunzhenyucn'
      imageName = 'magicleaps-backend'
      imageBuilder = 'dind'
      dockerfilePath = 'Dockerfile'
      imageBuildRoot = '.'
      imageReleaseArchitectures = ['amd64', 'arm64']
      registryCredentialName = 'first-class-pipeline-dev-secret'
      semanticReleaseEnabled = true
      semanticReleaseBranch = 'master'
    }
  }
}