From aefdac1caef99450bd9e3d9ec88d35825b2645d9 Mon Sep 17 00:00:00 2001 From: Craig Andrews Date: Tue, 9 Mar 2021 12:03:34 -0500 Subject: [PATCH] feat(utils): more gitlab build context support Additional support for build context environment variables provided by GitLab See https://docs.gitlab.com/ee/ci/variables/predefined_variables.html --- packages/utils/src/build-context.js | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/packages/utils/src/build-context.js b/packages/utils/src/build-context.js index 0b5bc8e4c..ddb9b63ed 100644 --- a/packages/utils/src/build-context.js +++ b/packages/utils/src/build-context.js @@ -37,6 +37,8 @@ function getGitRemote() { const envHash = getEnvVarIfSet([ // Manual override 'LHCI_BUILD_CONTEXT__GIT_REMOTE', + // GitLab CI + 'CI_REPOSITORY_URL', ]); if (envHash) return envHash; @@ -90,6 +92,8 @@ function getCommitTime(hash) { const envHash = getEnvVarIfSet([ // Manual override 'LHCI_BUILD_CONTEXT__COMMIT_TIME', + // GitLab CI + 'CI_COMMIT_TIMESTAMP', ]); if (envHash) return envHash; @@ -193,6 +197,8 @@ function getCommitMessage(hash = 'HEAD') { const envHash = getEnvVarIfSet([ // Manual override 'LHCI_BUILD_CONTEXT__COMMIT_MESSAGE', + // GitLab CI + 'CI_COMMIT_MESSAGE', ]); if (envHash) return envHash; @@ -217,6 +223,8 @@ function getAuthor(hash = 'HEAD') { const envHash = getEnvVarIfSet([ // Manual override 'LHCI_BUILD_CONTEXT__AUTHOR', + // GitLab CI: https://gitlab.com/gitlab-org/gitlab/-/issues/284079 + 'CI_COMMIT_AUTHOR', ]); if (envHash) return envHash; @@ -325,8 +333,10 @@ function getAncestorHash(hash, baseBranch) { const envHash = getEnvVarIfSet([ // Manual override 'LHCI_BUILD_CONTEXT__ANCESTOR_HASH', + // GitLab CI + 'CI_COMMIT_BEFORE_SHA', ]); - if (envHash) return envHash; + if (envHash && envHash !== '0000000000000000000000000000000000000000') return envHash; return getCurrentBranch() === baseBranch ? getAncestorHashForBase(hash)