trigger:
  tags:
    include:
    - v*
  branches:
    include:
    - master

variables:
- group: Vars

jobs:
# - job: Windows
#   pool:
#     vmImage: 'vs2017-win2016'

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

#   - script: yarn --network-timeout 100000
#     displayName: 'Install dependencies'

#   - script: node scripts/build-native.js
#     displayName: 'Rebuild native dependencies'

#   - script: yarn run build
#     displayName: 'Build'

#   - script: node scripts/prepackage-plugins.js
#     displayName: 'Prepackage plugins'

#   - script: node scripts/build-windows.js
#     displayName: 'Package'
#     env:
#       WIN_CSC_LINK: $(WIN_CSC_LINK)
#       WIN_CSC_KEY_PASSWORD: $(WIN_CSC_KEY_PASSWORD)
#       BT_TOKEN: $(BT_TOKEN)
#       GH_TOKEN: $(GH_TOKEN)
#       DEBUG: electron-builder

#   - task: CopyFiles@2
#     inputs:
#       contents: 'dist\\*-setup.exe'
#       targetFolder: $(Build.ArtifactStagingDirectory)
#       flattenFolders: true
#       cleanTargetFolder: true

#   - task: PublishBuildArtifacts@1
#     inputs:
#       pathtoPublish: $(Build.ArtifactStagingDirectory)
#       artifactName: Windows - Installer
#       condition: eq(variables['Build.SourceBranch'], 'refs/heads/master')

#   - task: CopyFiles@2
#     inputs:
#       contents: 'dist\\*-portable.exe'
#       targetFolder: $(Build.ArtifactStagingDirectory)
#       flattenFolders: true
#       cleanTargetFolder: true

#   - task: PublishBuildArtifacts@1
#     inputs:
#       pathtoPublish: $(Build.ArtifactStagingDirectory)
#       artifactName: Windows - Portable build
#       condition: eq(variables['Build.SourceBranch'], 'refs/heads/master')

- job: Linux
  pool:
    vmImage: 'ubuntu-16.04'

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

  - script: yarn
    displayName: 'Install dependencies'

  - script: node scripts/build-native.js
    displayName: 'Rebuild native dependencies'

  - script: yarn run build
    displayName: 'Build'

  - script: node scripts/prepackage-plugins.js
    displayName: 'Prepackage plugins'

  - script: node scripts/build-linux.js
    displayName: 'Package'
    env:
      BT_TOKEN: $(BT_TOKEN)
      GH_TOKEN: $(GH_TOKEN)

  - task: CopyFiles@2
    inputs:
      contents: 'dist/*.deb'
      targetFolder: $(Build.ArtifactStagingDirectory)
      flattenFolders: true
      cleanTargetFolder: true

  - task: PublishBuildArtifacts@1
    inputs:
      pathtoPublish: $(Build.ArtifactStagingDirectory)
      artifactName: Linux - DEB
      condition: eq(variables['Build.SourceBranch'], 'refs/heads/master')

  - task: CopyFiles@2
    inputs:
      contents: 'dist/*.rpm'
      targetFolder: $(Build.ArtifactStagingDirectory)
      flattenFolders: true
      cleanTargetFolder: true

  - task: PublishBuildArtifacts@1
    inputs:
      pathtoPublish: $(Build.ArtifactStagingDirectory)
      artifactName: Linux - RPM
      condition: eq(variables['Build.SourceBranch'], 'refs/heads/master')

  - task: CopyFiles@2
    inputs:
      contents: 'dist/*.snap'
      targetFolder: $(Build.ArtifactStagingDirectory)
      flattenFolders: true
      cleanTargetFolder: true

  - task: PublishBuildArtifacts@1
    inputs:
      pathtoPublish: $(Build.ArtifactStagingDirectory)
      artifactName: Linux - Snap
      condition: eq(variables['Build.SourceBranch'], 'refs/heads/master')

  - task: CopyFiles@2
    inputs:
      contents: 'dist/*.tar.gz'
      targetFolder: $(Build.ArtifactStagingDirectory)
      flattenFolders: true
      cleanTargetFolder: true

  - task: PublishBuildArtifacts@1
    inputs:
      pathtoPublish: $(Build.ArtifactStagingDirectory)
      artifactName: Linux - tar.gz
      condition: eq(variables['Build.SourceBranch'], 'refs/heads/master')

# - job: macOS
#   pool:
#     vmImage: 'macOS-10.14'

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

#   - script: yarn
#     displayName: 'Install dependencies'

#   - script: node scripts/build-native.js
#     displayName: 'Rebuild native dependencies'

#   - script: yarn run build
#     displayName: 'Build'

#   - script: node scripts/prepackage-plugins.js
#     displayName: 'Prepackage plugins'

#   - script: node scripts/build-macos.js
#     displayName: 'Package'
#     env:
#       CSC_LINK: $(CSC_LINK)
#       CSC_KEY_PASSWORD: $(CSC_KEY_PASSWORD)
#       BT_TOKEN: $(BT_TOKEN)
#       GH_TOKEN: $(GH_TOKEN)
#       APPSTORE_USERNAME: $(APPSTORE_USERNAME)
#       APPSTORE_PASSWORD: $(APPSTORE_PASSWORD)
#       DEBUG: electron-builder

#   - task: CopyFiles@2
#     inputs:
#       contents: 'dist/*.dmg'
#       targetFolder: $(Build.ArtifactStagingDirectory)
#       flattenFolders: true
#       cleanTargetFolder: true

#   - task: PublishBuildArtifacts@1
#     inputs:
#       pathtoPublish: $(Build.ArtifactStagingDirectory)
#       artifactName: macOS - DMG
#       condition: eq(variables['Build.SourceBranch'], 'refs/heads/master')

#   - task: CopyFiles@2
#     inputs:
#       contents: 'dist/*.zip'
#       targetFolder: $(Build.ArtifactStagingDirectory)
#       flattenFolders: true
#       cleanTargetFolder: true

#   - task: PublishBuildArtifacts@1
#     inputs:
#       pathtoPublish: $(Build.ArtifactStagingDirectory)
#       artifactName: macOS - app.zip
#       condition: eq(variables['Build.SourceBranch'], 'refs/heads/master')
