Merge pull request #25 from puremourning/azure-release

Azure release
This commit is contained in:
mergify[bot] 2019-05-18 23:31:47 +00:00 committed by GitHub
commit 4d2b2a5ad3
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
3 changed files with 133 additions and 48 deletions

1
.gitignore vendored
View file

@ -7,5 +7,6 @@ tests/messages
tests/debuglog
test.log
gadgets/
package/
*.pyc
*.dSYM

View file

@ -3,61 +3,114 @@
# Add steps that build, run tests, deploy, and more:
# https://aka.ms/yaml
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"
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"
- 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"
- 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"
- 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'
- 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: vim --version
displayName: 'Print vim version information'
- bash: ./run_tests
displayName: 'Run the tests'
env:
VIMSPECTOR_MIMODE: gdb
- bash: ./run_tests
displayName: 'Run the tests'
env:
VIMSPECTOR_MIMODE: gdb
- job: 'macos'
pool:
vmImage: 'macOS-10.13'
steps:
- bash: brew install macvim
displayName: 'Install vim'
- bash: ./make_package linux $(Build.SourceVersion)
displayName: 'Package'
- bash: python3 install_gadget.py
displayName: 'Install gadgets'
- task: PublishPipelineArtifact@0
inputs:
artifactName: 'package-linux'
targetPath: 'package/linux-$(Build.SourceVersion).tar.gz'
- bash: vim --version
displayName: 'Print vim version information'
- job: 'macos'
pool:
vmImage: 'macOS-10.13'
steps:
- bash: brew install macvim
displayName: 'Install vim'
- bash: ./run_tests
displayName: 'Run the tests'
env:
VIMSPECTOR_MIMODE: lldb
- 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/master'))
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

31
make_package Executable file
View file

@ -0,0 +1,31 @@
#!/usr/bin/env bash
set -e
set -v
OS=$1
shift
VERSION=$1
shift
ROOT=$(pwd)
PACK=${ROOT}/package/${OS}
mkdir -p ${PACK}
pushd ${PACK}
mkdir -p vimspector/opt
mkdir -p vimspector/start
pushd vimspector/opt
for d in autoload plugin python3 vendor doc; do
if [[ -d ${ROOT}/$d ]]; then
cp -r ${ROOT}/$d .
fi
done
mkdir -p gadgets
cp -r ${ROOT}/gadgets/${OS} gadgets/
popd
popd
cd ${ROOT}/package
tar zcvf ${OS}-${VERSION}.tar.gz ${OS}/