Skip to content

Commit

Permalink
fix: Simplify merging and fix override of top level env vars
Browse files Browse the repository at this point in the history
Derived from what I've done over at
tektoncd/pipeline#767 - this is just cleaner,
simpler, better.
  • Loading branch information
abayer committed Apr 18, 2019
1 parent f0e892e commit a05367e
Show file tree
Hide file tree
Showing 9 changed files with 242 additions and 101 deletions.
4 changes: 3 additions & 1 deletion pkg/jx/cmd/step_create_task.go
Original file line number Diff line number Diff line change
Expand Up @@ -546,6 +546,8 @@ func (o *StepCreateTaskOptions) GenerateTektonCRDs(packsDir string, projectConfi
}
}

parsed.AddContainerEnvVarsToPipeline(pipelineConfig.Env)

// TODO: Seeing weird behavior seemingly related to https://golang.org/doc/faq#nil_error
// if err is reused, maybe we need to switch return types (perhaps upstream in build-pipeline)?
if validateErr := parsed.Validate(ctx); validateErr != nil {
Expand Down Expand Up @@ -1213,7 +1215,7 @@ func (o *StepCreateTaskOptions) modifyEnvVars(container *corev1.Container, globa
}

for _, e := range globalEnv {
if kube.GetSliceEnvVar(envVars, e.Name) == nil {
if kube.GetSliceEnvVar(envVars, e.Name) == nil && e.ValueFrom != nil {
envVars = append(envVars, e)
}
}
Expand Down
3 changes: 3 additions & 0 deletions pkg/jx/cmd/test_data/step_create_task/from_yaml/jenkins-x.yml
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,9 @@ pipelineConfig:
pipelines:
release:
pipeline:
environment:
- name: GIT_AUTHOR_NAME
value: somebodyelse
options:
containerOptions:
resources:
Expand Down
24 changes: 13 additions & 11 deletions pkg/jx/cmd/test_data/step_create_task/from_yaml/tasks.yml
Original file line number Diff line number Diff line change
Expand Up @@ -27,6 +27,10 @@ items:
command:
- jx
env:
- name: FRUIT
value: BANANA
- name: GIT_AUTHOR_NAME
value: somebodyelse
- name: DOCKER_REGISTRY
- name: BUILD_NUMBER
value: "1"
Expand All @@ -44,8 +48,6 @@ items:
value: really-long
- name: JX_BATCH_MODE
value: "true"
- name: FRUIT
value: BANANA
image: rawlingsj/builder-jx:wip34
name: git-merge
volumeMounts:
Expand All @@ -66,10 +68,12 @@ items:
configMapKeyRef:
key: docker.registry
name: jenkins-x-docker-registry
- name: FRUIT
value: BANANA
- name: GIT_AUTHOR_EMAIL
value: jenkins-x@googlegroups.com
- name: GIT_AUTHOR_NAME
value: jenkins-x-bot
value: somebodyelse
- name: GIT_COMMITTER_EMAIL
value: jenkins-x@googlegroups.com
- name: GIT_COMMITTER_NAME
Expand All @@ -94,8 +98,6 @@ items:
value: really-long
- name: JX_BATCH_MODE
value: "true"
- name: FRUIT
value: BANANA
image: jenkinsxio/builder-nodejs:0.1.235
name: step2
resources:
Expand Down Expand Up @@ -128,10 +130,12 @@ items:
configMapKeyRef:
key: docker.registry
name: jenkins-x-docker-registry
- name: FRUIT
value: BANANA
- name: GIT_AUTHOR_EMAIL
value: jenkins-x@googlegroups.com
- name: GIT_AUTHOR_NAME
value: jenkins-x-bot
value: somebodyelse
- name: GIT_COMMITTER_EMAIL
value: jenkins-x@googlegroups.com
- name: GIT_COMMITTER_NAME
Expand All @@ -156,8 +160,6 @@ items:
value: really-long
- name: JX_BATCH_MODE
value: "true"
- name: FRUIT
value: BANANA
image: jenkinsxio/builder-nodejs:0.1.235
name: step3
resources:
Expand Down Expand Up @@ -220,10 +222,12 @@ items:
configMapKeyRef:
key: docker.registry
name: jenkins-x-docker-registry
- name: FRUIT
value: BANANA
- name: GIT_AUTHOR_EMAIL
value: jenkins-x@googlegroups.com
- name: GIT_AUTHOR_NAME
value: jenkins-x-bot
value: somebodyelse
- name: GIT_COMMITTER_EMAIL
value: jenkins-x@googlegroups.com
- name: GIT_COMMITTER_NAME
Expand All @@ -248,8 +252,6 @@ items:
value: really-long
- name: JX_BATCH_MODE
value: "true"
- name: FRUIT
value: BANANA
image: jenkinsxio/builder-nodejs:0.1.235
name: step2
resources:
Expand Down
20 changes: 16 additions & 4 deletions pkg/jx/cmd/test_data/step_create_task/js_build_pack/tasks.yml
Original file line number Diff line number Diff line change
Expand Up @@ -24,13 +24,15 @@ items:
image: rawlingsj/builder-jx:wip34
name: git-merge
env:
- name: DOCKER_CONFIG
value: /home/jenkins/.docker/
- name: DOCKER_REGISTRY
valueFrom:
configMapKeyRef:
key: docker.registry
name: jenkins-x-docker-registry
- name: TILLER_NAMESPACE
value: kube-system
- name: DOCKER_CONFIG
value: /home/jenkins/.docker/
- name: GIT_AUTHOR_EMAIL
value: jenkins-x@googlegroups.com
- name: GIT_AUTHOR_NAME
Expand All @@ -39,8 +41,6 @@ items:
value: jenkins-x@googlegroups.com
- name: GIT_COMMITTER_NAME
value: jenkins-x-bot
- name: TILLER_NAMESPACE
value: kube-system
- name: XDG_CONFIG_HOME
value: /workspace/xdg_config
- name: BUILD_NUMBER
Expand All @@ -59,7 +59,19 @@ items:
value: build-pack
- name: JX_BATCH_MODE
value: "true"
resources:
requests:
cpu: 400m
memory: 512Mi
securityContext:
privileged: true
volumeMounts:
- mountPath: /home/jenkins
name: workspace-volume
- mountPath: /var/run/docker.sock
name: docker-daemon
- mountPath: /home/jenkins/.docker
name: volume-0
- mountPath: /etc/podinfo
name: podinfo
readOnly: true
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,3 +2,5 @@ pipelineConfig:
env:
- name: FRUIT
value: BANANA
- name: GIT_AUTHOR_NAME
value: somebodyelse
Loading

0 comments on commit a05367e

Please sign in to comment.