@Library('example-shared-library@v2.3.0') _

pipeline {
    agent any

    environment {
        SERVICE = 'orders-api'
    }

    stages {
        stage('Prepare') {
            steps {
                script {
                    exampleUtils.printBanner(env.SERVICE)
                }
            }
        }

        stage('Build') {
            steps {
                exampleBuild(
                    service: env.SERVICE,
                    registry: 'registry.example.invalid',
                    push: false
                )
            }
        }

        stage('Quality gate') {
            steps {
                script {
                    def report = exampleQuality.evaluate(threshold: 80)
                    if (!report.passed) {
                        error("quality gate failed at ${report.score}")
                    }
                }
            }
        }
    }
}
