78 lines
1.6 KiB
Groovy
78 lines
1.6 KiB
Groovy
pipeline {
|
|
agent {
|
|
dockerfile {
|
|
dir 'automation'
|
|
reuseNode true
|
|
args '--network host'
|
|
}
|
|
}
|
|
|
|
stages {
|
|
stage('Rust Toolchain Info') {
|
|
steps {
|
|
sh 'rustc --version'
|
|
}
|
|
}
|
|
stage('Clippy') {
|
|
steps {
|
|
sh 'cargo clippy'
|
|
}
|
|
}
|
|
stage('Docs') {
|
|
steps {
|
|
catchError(buildResult: 'SUCCESS', stageResult: 'FAILURE') {
|
|
sh 'cargo +nightly doc --all-features'
|
|
}
|
|
}
|
|
}
|
|
stage('Rustfmt') {
|
|
steps {
|
|
sh 'cargo fmt --all --check'
|
|
}
|
|
}
|
|
stage('Test') {
|
|
steps {
|
|
sh 'cargo nextest r --all-features'
|
|
sh 'cargo test --doc'
|
|
}
|
|
}
|
|
stage('Check with all features') {
|
|
steps {
|
|
sh 'cargo check --all-features'
|
|
}
|
|
}
|
|
stage('Check with no features') {
|
|
steps {
|
|
sh 'cargo check --no-default-features'
|
|
}
|
|
}
|
|
stage('Check Cross Embedded Bare Metal') {
|
|
steps {
|
|
sh 'cargo check -p satrs --target thumbv7em-none-eabihf --no-default-features'
|
|
}
|
|
}
|
|
stage('Check Cross Embedded Linux') {
|
|
steps {
|
|
sh 'cargo check --target armv7-unknown-linux-gnueabihf'
|
|
}
|
|
}
|
|
stage('Deploy satrs-book') {
|
|
when {
|
|
anyOf {
|
|
branch 'main';
|
|
branch pattern: 'mdbook-deployment*'
|
|
}
|
|
}
|
|
steps {
|
|
dir('satrs-book') {
|
|
sh 'mdbook build'
|
|
sshagent(credentials: ['documentation-buildfix']) {
|
|
// Deploy to Apache webserver
|
|
sh 'rsync -r --delete book/html/ buildfix@documentation.irs.uni-stuttgart.de:/projects/sat-rs/book/'
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|