mirror of
https://github.com/cobalt-org/cobalt.rs
synced 2024-11-15 08:27:15 +00:00
chore(CI): Add validation pipeline
This commit is contained in:
parent
b7ea5e71af
commit
a6b5b09fb5
2 changed files with 104 additions and 2 deletions
|
@ -4,15 +4,87 @@ schedules:
|
|||
branches:
|
||||
include:
|
||||
- master
|
||||
variables:
|
||||
windows_vm: vs2017-win2016
|
||||
mac_vm: macos-10.14
|
||||
linux_vm: ubuntu-16.04
|
||||
rust_style: 1.35.0
|
||||
|
||||
stages:
|
||||
- stage: check
|
||||
displayName: Compilation Check
|
||||
jobs:
|
||||
- job: cargo_check
|
||||
displayName: cargo check
|
||||
pool:
|
||||
vmImage: ${{ variables.linux_vm }}
|
||||
steps:
|
||||
- template: azure/install-rust.yml@templates
|
||||
parameters:
|
||||
rust: stable
|
||||
- script: cargo check --all --locked
|
||||
displayName: Check that Cargo.lock is satisfiable
|
||||
- script: cargo check --all --bins --examples --tests
|
||||
displayName: Default features
|
||||
- script: cargo check --all --bins --examples --tests --no-default-features
|
||||
displayName: No features
|
||||
- script: cargo check --all --bins --examples --tests --all-features
|
||||
displayName: All features
|
||||
- stage: test
|
||||
displayName: Test
|
||||
jobs:
|
||||
- job: test
|
||||
displayName: Test
|
||||
strategy:
|
||||
matrix:
|
||||
windows:
|
||||
imageName: ${{ variables.windows_vm }}
|
||||
target: 'x86_64-pc-windows-msvc'
|
||||
channel: stable
|
||||
windows_beta:
|
||||
imageName: ${{ variables.windows_vm }}
|
||||
channel: beta
|
||||
windows_nightly:
|
||||
imageName: ${{ variables.windows_vm }}
|
||||
channel: nightly
|
||||
mac:
|
||||
imageName: ${{ variables.mac_vm }}
|
||||
channel: stable
|
||||
mac_beta:
|
||||
imageName: ${{ variables.mac_vm }}
|
||||
channel: beta
|
||||
mac_nightly:
|
||||
imageName: ${{ variables.mac_vm }}
|
||||
channel: nightly
|
||||
linux:
|
||||
imageName: ${{ variables.linux_vm }}
|
||||
channel: stable
|
||||
linux_beta:
|
||||
imageName: ${{ variables.linux_vm }}
|
||||
channel: beta
|
||||
linux_nightly:
|
||||
imageName: ${{ variables.linux_vm }}
|
||||
channel: nightly
|
||||
continueOnError: ${{ eq(variables.channel, 'nightly') }}
|
||||
pool:
|
||||
vmImage: $(imageName)
|
||||
steps:
|
||||
- template: azure/install-rust.yml@templates
|
||||
parameters:
|
||||
rust: $(channel)
|
||||
- script: cargo test --all
|
||||
displayName: Default features
|
||||
- script: cargo test --all --no-default-features
|
||||
displayName: No features
|
||||
- script: cargo test --all --all-features
|
||||
displayName: All features
|
||||
- stage: style
|
||||
displayName: Style checks
|
||||
dependsOn: []
|
||||
jobs:
|
||||
- job: "Committed"
|
||||
pool:
|
||||
vmImage: 'ubuntu-16.04'
|
||||
vmImage: ${{ variables.linux_vm }}
|
||||
steps:
|
||||
- checkout: self
|
||||
- template: v1/azdo-step.yml@gh-install
|
||||
|
@ -23,6 +95,32 @@ stages:
|
|||
- script: $(Build.StagingDirectory)/tools/committed HEAD~..HEAD^2 --no-merge-commit -vv
|
||||
displayName: Committed
|
||||
condition: and(succeeded(), eq(variables['Build.Reason'], 'PullRequest'))
|
||||
- job: rust_style
|
||||
displayName: Rust Style
|
||||
strategy:
|
||||
matrix:
|
||||
current:
|
||||
channel: ${{ variables.rust_style }}
|
||||
next:
|
||||
channel: stable
|
||||
continueOnError: ${{ eq(variables.channel, 'stable') }}
|
||||
pool:
|
||||
vmImage: ${{ variables.linux_vm }}
|
||||
steps:
|
||||
- template: azure/install-rust.yml@templates
|
||||
parameters:
|
||||
rust: stable
|
||||
components:
|
||||
- rustfmt
|
||||
- clippy
|
||||
- script: cargo fmt --all -- --check
|
||||
displayName: rustfmt
|
||||
- script: cargo check --all --bins --examples --tests --all-features
|
||||
displayName: Warnings
|
||||
env:
|
||||
RUSTFLAGS: "-D warnings"
|
||||
- script: cargo clippy --all
|
||||
displayName: clippy
|
||||
|
||||
resources:
|
||||
repositories:
|
||||
|
|
|
@ -70,7 +70,11 @@ struct CodeBlock {
|
|||
}
|
||||
|
||||
impl Renderable for CodeBlock {
|
||||
fn render_to(&self, writer: &mut dyn Write, _context: &mut Context) -> Result<(), liquid::Error> {
|
||||
fn render_to(
|
||||
&self,
|
||||
writer: &mut dyn Write,
|
||||
_context: &mut Context,
|
||||
) -> Result<(), liquid::Error> {
|
||||
let syntax = match self.lang {
|
||||
Some(ref lang) => SETUP.syntax_set.find_syntax_by_token(lang),
|
||||
_ => None,
|
||||
|
|
Loading…
Reference in a new issue