// Copyright (c) 2022 DisplayLink (UK) Ltd.
pipeline {
    agent {
        dockerfile {
            filename 'src/Dockerfile'
            label 'linux && big && docker'
        }
    }
    stages {
        stage ('Generate stages') {
            steps {
                dir('src') {
                    script {
                      def list = [ "origin/main" ]
                      def branches_to_build = sh(script: '''git branch -r -l origin/release/* | xargs''', returnStdout: true).trim()
                      list.addAll(branches_to_build.split())
                      for(int i=0; i < list.size(); i++) {
                        def branchName = list[i];
                        stage(branchName) {
                            withEnv(["STAGE_BRANCH=$branchName"]) {
                            sh '''#!/usr/bin/env bash
                              git checkout ${STAGE_BRANCH}
                              ./ci/build_against_kernel --repo-ci master
                              ./ci/build_against_kernel --repo-ci rc
                              ./ci/build_against_kernel --repo-ci all
                              '''
                            }
                        }
                      }
                    }
                }
            }
        }
    }
}
