pipeline {
    agent any

    stages {
        stage('Clippy') {
            agent {
                dockerfile {
                    dir 'automation'
                    reuseNode true
                }
            }
            steps {
                sh 'cargo clippy'
            }
        }
        stage('Rustfmt') {
            agent {
                dockerfile {
                    dir 'automation'
                    reuseNode true
                }
            }
            steps {
                sh 'cargo fmt'
            }
        }
        stage('Check') {
            agent {
                dockerfile {
                    dir 'automation'
                    reuseNode true
                }
            }
            steps {
                sh 'cargo check --target thumbv6m-none-eabi'
            }
        }
        stage('Check Examples') {
            agent {
                dockerfile {
                    dir 'automation'
                    reuseNode true
                }
            }
            steps {
                sh 'cargo check --target thumbv6m-none-eabi --examples'
            }
        }
    }
}