// Copyright 2019 Google LLC
//
// Licensed under the the Apache License v2.0 with LLVM Exceptions (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
//     https://llvm.org/LICENSE.txt
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.


/* Pipeline executed daily to do cleanup work */

def success = true
def failure_message = ""

pipeline {
    agent { label 'linux' }
     triggers {
        cron('@daily')
    }
    environment {
            LLVM_DIR = "${WORKSPACE}/llvm-project"
            SCRIPT_DIR = "${WORKSPACE}/llvm-premerge-checks/scripts"
    }
    options {
        timeout(time:30, unit:'MINUTES')
    }
    stages {
        stage("git checkout"){
            steps {
                dir("${LLVM_DIR}"){
                  git url: 'git@github.com:llvm-premerge-tests/llvm-project.git'
                }
                dir("llvm-premerge-checks")
                {
                    git url: 'https://github.com/google/llvm-premerge-checks.git'
                }
            }
        }
        stage('cleanup repo'){
            // delete old branches after 30 days
            steps {
                dir("${LLVM_DIR}"){
                  sh """
                    python ${SCRIPT_DIR}/cleanup_branches.py --days 30 --pattern "phab-diff-.*"
                  """
                 }
            }
        }
    }
}