Set github auth token if present
Some checks failed
Lint Checks / Run linter (pull_request) Failing after 42s
Webapp Test / Run webapp test suite (pull_request) Successful in 4m20s
Deploy Test / Run deploy test suite (pull_request) Successful in 5m1s
Smoke Test / Run basic test suite (pull_request) Successful in 4m8s
K8s Deploy Test / Run deploy test suite on kind/k8s (pull_request) Successful in 7m51s

This commit is contained in:
David Boreham 2024-07-05 06:03:46 -06:00
parent f06e5f9a2a
commit 7f224a12ff

View File

@ -242,6 +242,7 @@ def determine_base_container(clone_dir, app_type="webapp"):
def build_container_image(app_record, tag, extra_build_args=[], logger=None):
tmpdir = tempfile.mkdtemp()
# TODO: determine if this code could be calling into the Python git library like setup-repositories
try:
record_id = app_record["id"]
ref = app_record.attributes.repository_ref
@ -249,6 +250,14 @@ def build_container_image(app_record, tag, extra_build_args=[], logger=None):
clone_dir = os.path.join(tmpdir, record_id)
logger.log(f"Cloning repository {repo} to {clone_dir} ...")
# Set github credentials if present running a command like:
# git config --global url."https://${TOKEN}:@github.com/".insteadOf "https://github.com/"
github_token = os.environ.get("DEPLOYER_GITHUB_TOKEN")
if github_token:
logger.log("Github token detected, setting it in the git environment")
git_config_args = ["git", "config", "--global", f"url.\"https://{github_token}:@github.com/\".insteadOf", "https://github.com/"]
result = subprocess.run(git_config_args, stdout=logger.file, stderr=logger.file)
result.check_returncode()
if ref:
# TODO: Determing branch or hash, and use depth 1 if we can.
git_env = dict(os.environ.copy())
@ -265,6 +274,7 @@ def build_container_image(app_record, tag, extra_build_args=[], logger=None):
logger.log(f"git checkout failed. Does ref {ref} exist?")
raise e
else:
# TODO: why is this code different vs the branch above (run vs check_call, and no prompt disable)?
result = subprocess.run(["git", "clone", "--depth", "1", repo, clone_dir], stdout=logger.file, stderr=logger.file)
result.check_returncode()