Skip to content

Commit 5b8f723

Browse files
ipmbclaude
andcommitted
Address Copilot review feedback
- Only set CI_* vars when source env var is non-empty - Fix comment: vars are build args in Docker, env vars in buildpacks - Explicitly unset CODEBUILD_WEBHOOK_HEAD_REF in fallback test for determinism Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
1 parent e3678c8 commit 5b8f723

File tree

2 files changed

+13
-5
lines changed

2 files changed

+13
-5
lines changed

builder/build/build.go

Lines changed: 12 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -38,11 +38,18 @@ func (b *Build) LoadBuildEnv() (map[string]string, error) {
3838
if val, ok := os.LookupEnv("ALLOW_EOL_SHIMMED_BUILDER"); ok {
3939
env["ALLOW_EOL_SHIMMED_BUILDER"] = val
4040
}
41-
// map CodeBuild-specific vars to neutral CI vars and pass as build args
42-
env["CI_COMMIT_REF"] = GetenvFallback([]string{"CODEBUILD_WEBHOOK_HEAD_REF", "CODEBUILD_SOURCE_VERSION"})
43-
env["CI_COMMIT_SHA"] = os.Getenv("CODEBUILD_RESOLVED_SOURCE_VERSION")
44-
env["CI_BUILD_STARTED_AT"] = os.Getenv("CODEBUILD_START_TIME")
45-
env["CI_REPOSITORY_URL"] = os.Getenv("CODEBUILD_SOURCE_REPO_URL")
41+
// map CodeBuild-specific vars to neutral CI vars and pass into Docker builds as build args
42+
// and into buildpack builds as env vars
43+
for k, v := range map[string]string{
44+
"CI_COMMIT_REF": GetenvFallback([]string{"CODEBUILD_WEBHOOK_HEAD_REF", "CODEBUILD_SOURCE_VERSION"}),
45+
"CI_COMMIT_SHA": os.Getenv("CODEBUILD_RESOLVED_SOURCE_VERSION"),
46+
"CI_BUILD_STARTED_AT": os.Getenv("CODEBUILD_START_TIME"),
47+
"CI_REPOSITORY_URL": os.Getenv("CODEBUILD_SOURCE_REPO_URL"),
48+
} {
49+
if v != "" {
50+
env[k] = v
51+
}
52+
}
4653
params, err := b.aws.GetParametersByPath(paths[0])
4754
stripParamPrefix(params, paths[0], &env)
4855
if err != nil {

builder/build/build_test.go

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -127,6 +127,7 @@ func TestLoadBuildEnvCIVarsFallback(t *testing.T) {
127127
mockedState := emptyState()
128128
mockedState.On("ReadEnvFile").Return(&map[string]string{}, nil)
129129

130+
t.Setenv("CODEBUILD_WEBHOOK_HEAD_REF", "")
130131
t.Setenv("CODEBUILD_SOURCE_VERSION", "refs/heads/feature-branch")
131132

132133
b := Build{

0 commit comments

Comments
 (0)