mirror of
https://github.com/ceph/ceph-csi.git
synced 2024-11-22 22:30:23 +00:00
6e3c1dadae
When checking out a PR for a non-master branch, `git clone` should download the last commit of the branch. Adding a `--base=..` option to pass the cloning of a selected branch, instead of `master`. We also want to fetch all commits in the PR, so they can get tested with `commitlint`. Only fetch --depth=1 the initial clone, but fetch everything in the PR itself. Signed-off-by: Niels de Vos <ndevos@redhat.com>
82 lines
1.6 KiB
Bash
Executable File
82 lines
1.6 KiB
Bash
Executable File
#!/bin/bash
|
|
|
|
set -e -o pipefail
|
|
|
|
# In case no value is specified, default values will be used.
|
|
gitrepo="https://github.com/ceph/ceph-csi"
|
|
workdir="tip/"
|
|
ref="master"
|
|
base="master"
|
|
|
|
ARGUMENT_LIST=(
|
|
"ref"
|
|
"workdir"
|
|
"gitrepo"
|
|
"base"
|
|
)
|
|
|
|
opts=$(getopt \
|
|
--longoptions "$(printf "%s:," "${ARGUMENT_LIST[@]}")help" \
|
|
--name "$(basename "${0}")" \
|
|
--options "" \
|
|
-- "$@"
|
|
)
|
|
ret=$?
|
|
|
|
if [ ${ret} -ne 0 ]
|
|
then
|
|
echo "Try '--help' for more information."
|
|
exit 1
|
|
fi
|
|
|
|
eval set -- "${opts}"
|
|
|
|
while true; do
|
|
case "${1}" in
|
|
--help)
|
|
shift
|
|
echo "Options:"
|
|
echo "--help|-h specify the flags"
|
|
echo "--ref specify the reference of pr"
|
|
echo "--workdir specify the working directory"
|
|
echo "--gitrepo specify the git repository"
|
|
echo "--base specify the base branch to checkout"
|
|
echo " "
|
|
echo "Sample Usage:"
|
|
echo "./prepare.sh --gitrepo=https://github.com/example --workdir=/opt/build --ref=pull/123/head"
|
|
exit 0
|
|
;;
|
|
--gitrepo)
|
|
shift
|
|
gitrepo=${1}
|
|
;;
|
|
--workdir)
|
|
shift
|
|
workdir=${1}
|
|
;;
|
|
--ref)
|
|
shift
|
|
ref=${1}
|
|
echo "${ref}"
|
|
;;
|
|
--base)
|
|
shift
|
|
base=${1}
|
|
;;
|
|
--)
|
|
shift
|
|
break
|
|
;;
|
|
esac
|
|
shift
|
|
done
|
|
|
|
set -x
|
|
|
|
yum -y install git podman
|
|
|
|
git clone --depth=1 --branch="${base}" "${gitrepo}" "${workdir}"
|
|
cd "${workdir}"
|
|
git fetch origin "${ref}:tip/${ref}"
|
|
git checkout "tip/${ref}"
|