|
|
|
# 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
|
|
|
|
|
|
|
|
name: $(Build.SourceVersion)
|
|
|
|
jobs:
|
|
|
|
- job: Linux
|
|
|
|
timeoutInMinutes: 0
|
|
|
|
pool:
|
|
|
|
vmImage: 'Ubuntu 16.04'
|
|
|
|
|
|
|
|
variables:
|
|
|
|
ESY__CACHE_INSTALL_PATH: /home/vsts/.esy/3_____________________________________________________________________/i/
|
|
|
|
ESY__CACHE_SOURCE_TARBALL_PATH: /home/vsts/.esy/source/i
|
|
|
|
|
|
|
|
steps:
|
|
|
|
# TODO: Uncomment both this and 'publish-build-cache' below to enable build caching for Linux.
|
|
|
|
# - template: .ci/restore-build-cache.yml
|
|
|
|
- script: sudo apt-get install -y fish
|
|
|
|
- script: .ci/create-static-binary.sh
|
|
|
|
- script: ./feature_tests/run.sh $(pwd)/fnm
|
|
|
|
# - script: bash .ci/prepare-static-build.sh
|
|
|
|
# - template: .ci/esy-build-steps.yml
|
|
|
|
# - template: .ci/publish-build-cache.yml
|
|
|
|
- task: PublishBuildArtifacts@1
|
|
|
|
displayName: 'Save artifact'
|
|
|
|
inputs:
|
|
|
|
PathtoPublish: fnm
|
|
|
|
ArtifactName: fnm-linux
|
|
|
|
|
|
|
|
- job: MacOS
|
|
|
|
timeoutInMinutes: 0
|
|
|
|
pool:
|
|
|
|
vmImage: 'macOS 10.13'
|
|
|
|
|
|
|
|
variables:
|
|
|
|
ESY__CACHE_INSTALL_PATH: /Users/vsts/.esy/3____________________________________________________________________/i/
|
|
|
|
ESY__CACHE_SOURCE_TARBALL_PATH: /Users/vsts/.esy/source/i
|
|
|
|
|
|
|
|
steps:
|
|
|
|
# TODO: Uncomment both this and 'publish-build-cache' below to enable build caching for Mac.
|
|
|
|
# - template: .ci/restore-build-cache.yml
|
|
|
|
- script: brew install fish
|
|
|
|
- template: .ci/esy-build-steps.yml
|
|
|
|
- script: cp _build/default/executable/FnmApp.exe _build/fnm
|
|
|
|
- script: strip _build/fnm
|
|
|
|
- script: ./feature_tests/run.sh $(pwd)/_build/fnm
|
|
|
|
# - template: .ci/publish-build-cache.yml
|
|
|
|
- task: PublishBuildArtifacts@1
|
|
|
|
displayName: 'Save artifact'
|
|
|
|
inputs:
|
|
|
|
PathtoPublish: '_build/fnm'
|
|
|
|
ArtifactName: fnm-macos
|
|
|
|
|
|
|
|
- job: Windows
|
|
|
|
timeoutInMinutes: 0
|
|
|
|
pool:
|
|
|
|
vmImage: 'vs2017-win2016'
|
|
|
|
|
|
|
|
variables:
|
|
|
|
ESY__CACHE_INSTALL_PATH: C:\Users\VssAdministrator\.esy\3_\i
|
|
|
|
ESY__CACHE_SOURCE_TARBALL_PATH: C:\Users\VssAdministrator\.esy\source\i
|
|
|
|
|
|
|
|
steps:
|
|
|
|
- task: NodeTool@0
|
|
|
|
inputs:
|
|
|
|
versionSpec: '8.9'
|
|
|
|
- script: npm install -g esy@latest
|
|
|
|
displayName: 'npm install -g esy@latest'
|
|
|
|
- script: esy install --project windows
|
|
|
|
displayName: 'esy install'
|
|
|
|
- script: esy build --project windows -p @opam/conf-openssl
|
|
|
|
displayName: 'build conf-openssl'
|
|
|
|
- script: esy build --project windows
|
|
|
|
displayName: 'esy build'
|
|
|
|
|
|
|
|
- job: Release
|
|
|
|
timeoutInMinutes: 0
|
|
|
|
displayName: Release
|
|
|
|
dependsOn:
|
|
|
|
- Linux
|
|
|
|
- MacOS
|
|
|
|
# - Windows
|
|
|
|
condition: succeeded()
|
|
|
|
pool:
|
|
|
|
vmImage: ubuntu-16.04
|
|
|
|
steps:
|
|
|
|
- task: PublishBuildArtifacts@1
|
|
|
|
displayName: 'Release Package'
|
|
|
|
inputs:
|
|
|
|
PathtoPublish: '.'
|
|
|
|
ArtifactName: npm-package
|