k8s.io/test-infra@v0.0.0-20240520184403-27c6b4c223d8/images/bootstrap/entrypoint.sh (about)

     1  #!/usr/bin/env bash
     2  # Copyright 2018 The Kubernetes Authors.
     3  #
     4  # Licensed under the Apache License, Version 2.0 (the "License");
     5  # you may not use this file except in compliance with the License.
     6  # You may obtain a copy of the License at
     7  #
     8  #     http://www.apache.org/licenses/LICENSE-2.0
     9  #
    10  # Unless required by applicable law or agreed to in writing, software
    11  # distributed under the License is distributed on an "AS IS" BASIS,
    12  # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    13  # See the License for the specific language governing permissions and
    14  # limitations under the License.
    15  
    16  set -o errexit
    17  set -o nounset
    18  set -o pipefail
    19  
    20  BOOTSTRAP_FETCH_TEST_INFRA=${BOOTSTRAP_FETCH_TEST_INFRA:-"true"}
    21  
    22  # clone-or-fetch latest test-infra repo
    23  if ! [[ -d test-infra/.git ]] || [[ "${BOOTSTRAP_FETCH_TEST_INFRA}" != "true" ]]; then
    24    echo "cloning https://github.com/kubernetes/test-infra"
    25    rm -rf test-infra
    26    git clone https://github.com/kubernetes/test-infra
    27  else
    28    echo "fetching https://github.com/kubernetes/test-infra"
    29    pushd test-infra >/dev/null
    30    remote=origin
    31    git remote set-head ${remote} -a
    32    # auto-detect default remote branch name
    33    branch=$(<".git/refs/remotes/${remote}/HEAD" sed -e "s|ref: refs/remotes/${remote}/||")
    34    git fetch "${remote}" "${branch}" && git reset --hard "${remote}/${branch}"
    35    # but don't bother setting local branch name yet; scenario-based jobs still assume 'master'
    36    popd >/dev/null
    37  fi
    38  
    39  BOOTSTRAP_UPLOAD_BUCKET_PATH=${BOOTSTRAP_UPLOAD_BUCKET_PATH:-"gs://kubernetes-jenkins/logs"}
    40  
    41  # actually start bootstrap and the job, under the runner (which handles dind etc.)
    42  /usr/local/bin/runner.sh \
    43      ./test-infra/jenkins/bootstrap.py \
    44          --job="${JOB_NAME}" \
    45          --service-account="${GOOGLE_APPLICATION_CREDENTIALS}" \
    46          --upload="${BOOTSTRAP_UPLOAD_BUCKET_PATH}" \
    47          "$@"