def determineRepoName() {
    return scm.getUserRemoteConfigs()[0].getUrl().tokenize('/').last().split("\\.")[0]
}

def upload(branch, cwd) {
    def repo_name = determineRepoName()
    def result = sh (label: "upload documentations", script: "aws --profile gdb-infra-dev s3 sync --no-progress --cache-control 'no-cache' --size-only --exclude 'src/*' --delete ${cwd}/docs/ s3://dev-infra-cross-products-documentation/${branch}/${repo_name}", returnStdout: true)
    echo result
    if (result.trim() != "") {
        sh (label: "invalidate cache", script: "aws --profile gdb-infra-dev cloudfront create-invalidation --distribution-id E1TNIP6DFGVIY --paths '/${branch}/${repo_name}/*'")
    }
}