Skip to content
Permalink
master
Go to file
 
 
Cannot retrieve contributors at this time
131 lines (114 sloc) 3.64 KB
# 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
trigger:
- master
- candidate*
- release*
pr:
- master
jobs:
- job: Build
strategy:
matrix:
mac:
imageName: 'macos-10.14'
isMac: true
windows:
imageName: 'vs2017-win2016'
isWindows: true
linux:
imageName: 'ubuntu-16.04'
isLinux: true
pool:
vmImage: $(imageName)
steps:
- checkout: self
fetchDepth: 1
# submodules: recursive # can't do submodules here b'cuz depth=1 fails with Github
- bash: |
uname -a
git submodule update --init --recursive
pushd $AGENT_TEMPDIRECTORY
curl -o Rack-SDK.zip https://vcvrack.com/downloads/Rack-SDK-1.1.6.zip
unzip Rack-SDK.zip
displayName: Get Rack
- bash: |
export RACK_DIR=$AGENT_TEMPDIRECTORY/Rack-SDK
export CC=gcc
make win-dist
mkdir products_win/
cp dist/*zip products_win/
displayName: Build Windows Plugins
condition: variables.isWindows
- bash: |
export RACK_DIR=$AGENT_TEMPDIRECTORY/Rack-SDK
make dist
mkdir products_mac/
cp dist/*zip products_mac/
displayName: Build Mac Plugins
condition: variables.isMac
- bash: |
sudo apt-get update
sudo apt-get install libglu-dev
export RACK_DIR=$AGENT_TEMPDIRECTORY/Rack-SDK
make dist
mkdir products_lin/
cp dist/*zip products_lin/
displayName: Build Linux Plugins
condition: variables.isLinux
- task: PublishPipelineArtifact@0
inputs:
artifactName: 'NonlinearCircuits_ZIP_LINUX'
targetPath: 'products_lin/'
displayName: Publish Linux Zip
condition: variables.isLinux
- task: PublishPipelineArtifact@0
inputs:
artifactName: 'NonlinearCircuits_ZIP_MACOS'
targetPath: 'products_mac/'
displayName: Publish macOS Zip
condition: variables.isMac
- task: PublishPipelineArtifact@0
inputs:
artifactName: 'NonlinearCircuits_ZIP_WIN'
targetPath: 'products_win/'
displayName: Publish Windows Zip
condition: variables.isWindows
- job: UpdateGithubRelease
dependsOn: Build
condition: and(succeeded(), or(eq(variables['Build.SourceBranch'], 'refs/heads/master'), eq(variables['Build.SourceBranch'], 'refs/heads/azure-test')))
steps:
- task: DownloadPipelineArtifact@0
inputs:
artifactName: 'NonlinearCircuits_ZIP_LINUX'
targetPath: $(Build.ArtifactStagingDirectory)
- task: DownloadPipelineArtifact@0
inputs:
artifactName: 'NonlinearCircuits_ZIP_MACOS'
targetPath: $(Build.ArtifactStagingDirectory)
- task: DownloadPipelineArtifact@0
inputs:
artifactName: 'NonlinearCircuits_ZIP_WIN'
targetPath: $(Build.ArtifactStagingDirectory)
- bash: |
ls -l $(Build.ArtifactStagingDirectory)
export EXTEND_TAG=`date "+%Y%m%d"`
for file in $(Build.ArtifactStagingDirectory)/*.zip; do mv "$file" "${file/.zip/-${EXTEND_TAG}.zip}"; done
ls -l $(Build.ArtifactStagingDirectory)
displayName: Tag asset names with Date
- bash: |
scripts/release-notes.sh > $(Build.ArtifactStagingDirectory)/ReleaseNotes.md
displayName: Fake up release notes
- task: GitHubRelease@0
displayName: "Update Github Release"
inputs:
gitHubConnection: nonlinear
repositoryName: mhetrick/nonlinearcircuits
action: edit
tag: Nightly
target: '$(Build.SourceVersion)'
addChangeLog: false
releaseNotesFile: $(Build.ArtifactStagingDirectory)/ReleaseNotes.md
assets: $(Build.ArtifactStagingDirectory)/*.zip