109 lines
3.5 KiB
YAML
109 lines
3.5 KiB
YAML
jobs:
|
|
###################################################
|
|
# Formatting
|
|
###################################################
|
|
|
|
- job: check_formatting
|
|
displayName: Check formatting
|
|
pool:
|
|
vmImage: 'ubuntu-latest'
|
|
steps:
|
|
- script: |
|
|
export CARGO_HOME="$HOME/.cargo"
|
|
curl https://sh.rustup.rs -sSf | sh -s -- -y
|
|
$HOME/.cargo/bin/rustup component add rustfmt
|
|
displayName: Install stable Rust
|
|
- script: |
|
|
$HOME/.cargo/bin/cargo fmt -- --check
|
|
displayName: Run rustfmt
|
|
|
|
###################################################
|
|
# Book
|
|
###################################################
|
|
|
|
- job: run_book_tests
|
|
displayName: Book code example tests
|
|
pool:
|
|
vmImage: 'ubuntu-latest'
|
|
steps:
|
|
- script: |
|
|
export CARGO_HOME="$HOME/.cargo"
|
|
curl https://sh.rustup.rs -sSf | sh -s -- -y
|
|
$HOME/.cargo/bin/rustup component add rustfmt
|
|
displayName: Install stable Rust
|
|
- script: |
|
|
cd docs/book/tests && $HOME/.cargo/bin/cargo test
|
|
displayName: Test book code examples via skeptic
|
|
|
|
- job: build_book_master
|
|
displayName: Build rendered book on master branch and push to Github
|
|
pool:
|
|
vmImage: 'ubuntu-latest'
|
|
dependsOn: run_book_tests
|
|
condition: and(succeeded(), eq(variables['Build.SourceBranch'], 'refs/heads/master'))
|
|
variables:
|
|
- group: github-keys
|
|
steps:
|
|
- task: InstallSSHKey@0
|
|
inputs:
|
|
hostName: $(GHSshKnownHosts)
|
|
sshPublicKey: $(GHSshPub)
|
|
sshKeySecureFile: $(GHSshPriv)
|
|
- script: |
|
|
./docs/book/ci-build.sh master
|
|
|
|
###################################################
|
|
# Main Builds
|
|
###################################################
|
|
|
|
- template: _build/azure-pipelines-template.yml
|
|
parameters:
|
|
name: Linux
|
|
vmImage: 'ubuntu-latest'
|
|
|
|
- template: _build/azure-pipelines-template.yml
|
|
parameters:
|
|
name: macOS
|
|
vmImage: 'macOS-latest'
|
|
|
|
- template: _build/azure-pipelines-template.yml
|
|
parameters:
|
|
name: Windows
|
|
vmImage: 'windows-latest'
|
|
|
|
###################################################
|
|
# Releases
|
|
###################################################
|
|
|
|
#- job: check_release_automation
|
|
# displayName: Check release automation
|
|
# pool:
|
|
# vmImage: 'ubuntu-latest'
|
|
# steps:
|
|
# - script: |
|
|
# export CARGO_HOME="$HOME/.cargo"
|
|
# curl https://sh.rustup.rs -sSf | sh -s -- -y
|
|
# echo "##vso[task.setvariable variable=PATH;]$PATH:$HOME/.cargo/bin"
|
|
# displayName: Install stable Rust
|
|
# - script: |
|
|
# _build/cargo-make.sh "0.20.0" "x86_64-unknown-linux-musl"
|
|
# displayName: Install cargo-make binary
|
|
# - script: |
|
|
# cargo install --debug --version=0.19.4 cargo-release
|
|
# displayName: Install cargo-release binary
|
|
# - script: |
|
|
# git config --local user.name "Release Test Bot"
|
|
# git config --local user.email "juniper@example.com"
|
|
# displayName: Set up git
|
|
# - script: |
|
|
# RELEASE_LEVEL="minor" cargo make release-dry-run
|
|
# displayName: Dry run mode
|
|
# - script: |
|
|
# RELEASE_LEVEL="minor" cargo make release-local-test
|
|
# displayName: Local test mode
|
|
# - script: |
|
|
# git --no-pager log -p HEAD...HEAD~20
|
|
# # NOTE: this is rolled into one task due to onerous
|
|
# # "bash not found" error on Azure.
|
|
# cargo make workspace-ci-flow --no-workspace
|
|
# displayName: Echo local changes && make sure build and tests still work
|