jobs:
- job: Linux

  pool:
    vmImage: 'Ubuntu 16.04'

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

  - script: npm ci
    displayName: 'Install dependencies'

  - script: npm pack
    displayName: 'Prepare installable tarball'
    condition: succeededOrFailed()

  - task: PublishBuildArtifacts@1
    displayName: 'Save npm-tarball.tgz'
    condition: and(succeededOrFailed(), ne(variables['system.pullrequest.isfork'], true))
    inputs:
      artifactName: 'npm-tarball.tgz'
      PathtoPublish: '$(System.DefaultWorkingDirectory)/git-http-mock-server-0.0.0-development.tgz'

  - script: npm run semantic-release
    displayName: 'Publish to npm'
    condition: and(succeeded(), eq(variables['Build.SourceBranch'], 'refs/heads/main'))
    env:
      GH_TOKEN: $(GITHUB_TOKEN)
      NPM_TOKEN: $(Npm.Token)
