mirror of
https://github.com/getzola/zola
synced 2025-03-04 23:17:13 +00:00
async/await will be used in upcoming changes, so we need to bump the minimum Rust version to 1.39.0 to use it.
146 lines
No EOL
5.7 KiB
YAML
146 lines
No EOL
5.7 KiB
YAML
trigger:
|
|
branches:
|
|
include: ['*']
|
|
tags:
|
|
include: ['*']
|
|
|
|
stages:
|
|
- stage: Tests
|
|
jobs:
|
|
- job:
|
|
strategy:
|
|
matrix:
|
|
windows-stable:
|
|
imageName: 'vs2017-win2016'
|
|
rustup_toolchain: stable
|
|
mac-stable:
|
|
imageName: 'macos-10.14'
|
|
rustup_toolchain: stable
|
|
linux-stable:
|
|
imageName: 'ubuntu-16.04'
|
|
rustup_toolchain: stable
|
|
linux-1.39:
|
|
imageName: 'ubuntu-16.04'
|
|
rustup_toolchain: 1.39.0
|
|
pool:
|
|
vmImage: $(imageName)
|
|
steps:
|
|
- script: |
|
|
curl https://sh.rustup.rs -sSf | sh -s -- -y --default-toolchain $RUSTUP_TOOLCHAIN
|
|
echo "##vso[task.setvariable variable=PATH;]$PATH:$HOME/.cargo/bin"
|
|
displayName: Install rust
|
|
condition: ne( variables['Agent.OS'], 'Windows_NT' )
|
|
- script: |
|
|
curl -sSf -o rustup-init.exe https://win.rustup.rs
|
|
rustup-init.exe -y --default-toolchain %RUSTUP_TOOLCHAIN%
|
|
echo "##vso[task.setvariable variable=PATH;]%PATH%;%USERPROFILE%\.cargo\bin"
|
|
displayName: Windows install rust
|
|
condition: eq( variables['Agent.OS'], 'Windows_NT' )
|
|
- script: cargo build --all
|
|
displayName: Cargo build
|
|
- script: cargo test --all
|
|
displayName: Cargo test
|
|
|
|
|
|
- stage: Release
|
|
dependsOn: Tests
|
|
condition: startsWith(variables['Build.SourceBranch'], 'refs/tags/')
|
|
jobs:
|
|
- job:
|
|
strategy:
|
|
matrix:
|
|
windows-stable:
|
|
imageName: 'vs2017-win2016'
|
|
rustup_toolchain: stable
|
|
target: 'x86_64-pc-windows-msvc'
|
|
mac-stable:
|
|
imageName: 'macos-10.14'
|
|
rustup_toolchain: stable
|
|
target: 'x86_64-apple-darwin'
|
|
linux-stable:
|
|
imageName: 'ubuntu-16.04'
|
|
rustup_toolchain: stable
|
|
target: 'x86_64-unknown-linux-gnu'
|
|
pool:
|
|
vmImage: $(imageName)
|
|
steps:
|
|
- script: |
|
|
curl https://sh.rustup.rs -sSf | sh -s -- -y --default-toolchain $RUSTUP_TOOLCHAIN
|
|
echo "##vso[task.setvariable variable=PATH;]$PATH:$HOME/.cargo/bin"
|
|
displayName: Install rust
|
|
condition: ne( variables['Agent.OS'], 'Windows_NT' )
|
|
- script: |
|
|
curl -sSf -o rustup-init.exe https://win.rustup.rs
|
|
rustup-init.exe -y --default-toolchain %RUSTUP_TOOLCHAIN%
|
|
echo "##vso[task.setvariable variable=PATH;]%PATH%;%USERPROFILE%\.cargo\bin"
|
|
displayName: Windows install rust
|
|
condition: eq( variables['Agent.OS'], 'Windows_NT' )
|
|
|
|
- script: |
|
|
rustup target add $TARGET
|
|
cargo build --release --target $TARGET
|
|
condition: ne( variables['Agent.OS'], 'Windows_NT' )
|
|
displayName: Build
|
|
- script: |
|
|
rustup target add %TARGET%
|
|
cargo build --release --target %TARGET%
|
|
condition: eq( variables['Agent.OS'], 'Windows_NT' )
|
|
displayName: Build on Windows
|
|
|
|
- task: CopyFiles@2
|
|
displayName: Copy assets
|
|
condition: ne( variables['Agent.OS'], 'Windows_NT' )
|
|
inputs:
|
|
sourceFolder: '$(Build.SourcesDirectory)/target/$(TARGET)/release'
|
|
contents: zola
|
|
targetFolder: '$(Build.BinariesDirectory)/'
|
|
- task: CopyFiles@2
|
|
displayName: Copy assets on Windows
|
|
condition: eq( variables['Agent.OS'], 'Windows_NT' )
|
|
inputs:
|
|
sourceFolder: '$(Build.SourcesDirectory)/target/$(TARGET)/release'
|
|
contents: zola.exe
|
|
targetFolder: '$(Build.BinariesDirectory)/'
|
|
|
|
- task: ArchiveFiles@2
|
|
displayName: Gather assets
|
|
condition: ne( variables['Agent.OS'], 'Windows_NT' )
|
|
inputs:
|
|
rootFolderOrFile: '$(Build.BinariesDirectory)/zola'
|
|
archiveType: 'tar'
|
|
tarCompression: 'gz'
|
|
archiveFile: '$(Build.ArtifactStagingDirectory)/zola-$(Build.SourceBranchName)-$(TARGET).tar.gz'
|
|
- task: ArchiveFiles@2
|
|
displayName: Gather assets
|
|
condition: eq( variables['Agent.OS'], 'Windows_NT' )
|
|
inputs:
|
|
rootFolderOrFile: '$(Build.BinariesDirectory)/zola.exe'
|
|
archiveType: 'zip'
|
|
archiveFile: '$(Build.ArtifactStagingDirectory)/zola-$(Build.SourceBranchName)-$(TARGET).zip'
|
|
|
|
- task: GithubRelease@0
|
|
condition: ne( variables['Agent.OS'], 'Windows_NT' )
|
|
inputs:
|
|
gitHubConnection: 'zola'
|
|
repositoryName: 'getzola/zola'
|
|
action: 'edit'
|
|
target: '$(build.sourceVersion)'
|
|
tagSource: 'manual'
|
|
tag: '$(Build.SourceBranchName)'
|
|
assets: '$(Build.ArtifactStagingDirectory)/zola-$(Build.SourceBranchName)-$(TARGET).tar.gz'
|
|
title: '$(Build.SourceBranchName)'
|
|
assetUploadMode: 'replace'
|
|
addChangeLog: true
|
|
- task: GithubRelease@0
|
|
condition: eq( variables['Agent.OS'], 'Windows_NT' )
|
|
inputs:
|
|
gitHubConnection: 'zola'
|
|
repositoryName: 'getzola/zola'
|
|
action: 'edit'
|
|
target: '$(build.sourceVersion)'
|
|
tagSource: 'manual'
|
|
tag: '$(Build.SourceBranchName)'
|
|
assets: '$(Build.ArtifactStagingDirectory)/zola-$(Build.SourceBranchName)-$(TARGET).zip'
|
|
title: '$(Build.SourceBranchName)'
|
|
assetUploadMode: 'replace'
|
|
addChangeLog: true |