# Starter pipeline # Start with a minimal pipeline that you can customize to build and deploy your code. # Add steps that build, run tests, deploy, and more: # https://aka.ms/yaml stages: - stage: Build jobs: - job: 'PythonLint' displayName: "Python Lint" pool: vmImage: 'ubuntu-16.04' container: 'puremourning/vimspector:test' steps: - bash: pip3 install -r dev_requirements.txt displayName: "Install requirements" - bash: $HOME/.local/bin/flake8 python3/ displayName: "Run flake8" - job: 'Vimscript' displayName: "Vimscript Lint" pool: vmImage: 'ubuntu-16.04' container: 'puremourning/vimspector:test' steps: - bash: pip3 install -r dev_requirements.txt displayName: "Install requirements" - bash: $HOME/.local/bin/vint autoload/ plugin/ displayName: "Run vint" - job: 'linux' pool: vmImage: 'ubuntu-16.04' container: 'puremourning/vimspector:test' steps: - bash: python3 install_gadget.py displayName: 'Install gadgets' - bash: vim --version displayName: 'Print vim version information' - bash: ./run_tests displayName: 'Run the tests' env: VIMSPECTOR_MIMODE: gdb - bash: ./make_package linux $(Build.SourceVersion) displayName: 'Package' - task: PublishPipelineArtifact@0 inputs: artifactName: 'package-linux' targetPath: 'package/linux-$(Build.SourceVersion).tar.gz' - job: 'macos' pool: vmImage: 'macOS-10.13' steps: - bash: brew install macvim displayName: 'Install vim' - bash: python3 install_gadget.py displayName: 'Install gadgets' - bash: vim --version displayName: 'Print vim version information' - bash: ./run_tests displayName: 'Run the tests' env: VIMSPECTOR_MIMODE: lldb - bash: ./make_package macos $(Build.SourceVersion) displayName: 'Package' - task: PublishPipelineArtifact@0 inputs: artifactName: 'package-macos' targetPath: 'package/macos-$(Build.SourceVersion).tar.gz' - stage: "Publish" dependsOn: - "Build" condition: and(succeeded(), eq(variables['Build.SourceBranch'], 'refs/heads/azure-release')) jobs: - job: 'Publish' pool: vmImage: 'ubuntu-16.04' steps: - task: DownloadPipelineArtifact@0 inputs: artifactName: 'package-linux' targetPath: $(Build.ArtifactStagingDirectory) - task: DownloadPipelineArtifact@0 inputs: artifactName: 'package-macos' targetPath: $(Build.ArtifactStagingDirectory) - task: GitHubRelease@0 inputs: gitHubConnection: puremourning repositoryName: '$(Build.Repository.Name)' action: 'create' # Options: create, edit, delete target: '$(Build.SourceVersion)' # Required when action == Create || Action == Edit tagSource: 'manual' # Required when action == Create# Options: auto, manual tag: "$(Build.BuildId)" #title: # Optional #releaseNotesSource: 'file' # Optional. Options: file, input #releaseNotesFile: # Optional #releaseNotes: # Optional #assets: '$(Build.ArtifactStagingDirectory)/*' # Optional #assetUploadMode: 'delete' # Optional. Options: delete, replace #isDraft: false # Optional isPreRelease: true # Optional #addChangeLog: true # Optional