1
0
mirror of https://github.com/kata-containers/kata-containers.git synced 2025-05-06 15:37:33 +00:00
kata-containers/tools/packaging/Jenkinsfiles/release_pipeline/git_credential_cache.sh
Peng Tao 782cd2ed10 packaging: merge packaging repository
git-subtree-dir: tools/packaging
git-subtree-mainline: f818b46a41
git-subtree-split: 1f22d72d5d

Signed-off-by: Peng Tao <bergwolf@hyper.sh>
2020-06-23 22:58:18 -07:00

59 lines
1.0 KiB
Bash
Executable File

#!/bin/bash
# Copyright (c) 2019 Intel Corporation
#
# SPDX-License-Identifier: Apache-2.0
#
set -o errexit
set -o nounset
set -o pipefail
set -o errtrace
die() {
echo >&2 "ERROR: $*"
exit 1
}
init_git_credential_cache() {
#This is needed to setup github credentials to do push in a job
(
set -o errexit
set -o nounset
set -o pipefail
set -o errtrace
set +x
readonly token_sh=$(mktemp)
readonly agent_clone=$(mktemp -d)
finish() {
rm -rf "${token_sh}"
rm -rf "${agent_clone}"
}
trap finish EXIT
chmod 700 "${token_sh}"
cat <<EOT >"${token_sh}"
#!/bin/bash
echo "\$GITHUB_TOKEN"
EOT
export GIT_ASKPASS=${token_sh}
#cache credential
git config --global credential.helper cache
#setup credential
git clone https://github.com/katabuilder/agent.git "${agent_clone}"
cd "${agent_clone}" || exit 1
#this set the credential for first time
git push
# not needed anymore
unset GIT_ASKPASS
) >>/dev/null
}
main() {
[ -n "$GITHUB_TOKEN" ] || die "GITHUB_TOKEN not set"
init_git_credential_cache
}
main $@