name: $(SourceBranchName).$(Date:yyMMdd)$(Rev:.r)

pool:
  name: 'Private VM'

pr: none

trigger:
  batch: true
  branches:
    include:
      - master
  tags:
    include:
      - v*
  paths:
    include:
      - packages/server

steps:
  - task: NodeTool@0
    inputs:
      versionSpec: '10.x'
    displayName: 'Install Node.js 10.x'

  - script: |
      echo '//registry.npmjs.org/:_authToken=$(NPMTOKEN)' > .npmrc
      npm run bootstrap:server
    displayName: 'Lerna bootstrap server'

  - script: |
      cd packages/server
      npm run build
    displayName: 'Build server'

  - task: CopyFiles@2
    displayName: 'Copy builded files to staging area'
    inputs:
      contents: |
        packages/server/config/**
        packages/server/handlers/**
        packages/server/web.config
        packages/server/bundle.js
      targetFolder: $(Build.ArtifactStagingDirectory)

  - task: ArchiveFiles@2
    displayName: 'Archive staged files to zip'
    inputs:
      rootFolderOrFile: '$(Build.ArtifactStagingDirectory)/packages/server'
      archiveFile: '$(Build.ArtifactStagingDirectory)/build.zip'
      includeRootFolder: false

  - task: PublishBuildArtifacts@1
    displayName: 'Publish zip'
    inputs:
      artifactName: drop
      pathtoPublish: '$(Build.ArtifactStagingDirectory)/build.zip'
