Skip to content

Commit f91be89

Browse files
committed
use env vars for workflow inputs to prevent injection in run steps
1 parent 3e33b37 commit f91be89

File tree

1 file changed

+20
-8
lines changed

1 file changed

+20
-8
lines changed

.github/workflows/tests.yml

Lines changed: 20 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -253,16 +253,19 @@ jobs:
253253
run: go install github.com/gotesttools/gotestfmt/v2/cmd/gotestfmt@latest
254254

255255
- name: Run Enterprise Integration and Unit tests
256+
env:
257+
ISRELEASE_INPUT: ${{ inputs.RELEASE }}
258+
DOCKER_IMAGE_VERSION_INPUT: ${{ inputs.DOCKER_IMAGE_VERSION }}
256259
run: |
257260
mkdir -p .kube
258261
cat ${KUBECONFIG} > .kube/config
259262
CURRENT_DIRECTORY=$(pwd)
260263
export KUBECONFIG="${CURRENT_DIRECTORY}/.kube/config"
261264
export IPS_PASS=$(gcloud auth print-access-token)
262265
#inputs.RELEASE does not hold value when workflow_dispatch is not called
263-
ISRELEASE=${{ inputs.RELEASE }}
266+
ISRELEASE="$ISRELEASE_INPUT"
264267
if [[ ${#ISRELEASE} != 0 ]]; then
265-
export NEO4J_DOCKER_IMG="neo4j:${{ inputs.DOCKER_IMAGE_VERSION }}-enterprise"
268+
export NEO4J_DOCKER_IMG="neo4j:$DOCKER_IMAGE_VERSION_INPUT-enterprise"
266269
fi
267270
echo "NEO4J_DOCKER_IMG=${NEO4J_DOCKER_IMG}"
268271
echo "printing kubeconfig path $KUBECONFIG"
@@ -312,16 +315,19 @@ jobs:
312315
run: go install github.com/gotesttools/gotestfmt/v2/cmd/gotestfmt@latest
313316

314317
- name: Run Community Integration and Unit tests
318+
env:
319+
ISRELEASE_INPUT: ${{ inputs.RELEASE }}
320+
DOCKER_IMAGE_VERSION_INPUT: ${{ inputs.DOCKER_IMAGE_VERSION }}
315321
run: |
316322
mkdir -p .kube
317323
cat ${KUBECONFIG} > .kube/config
318324
CURRENT_DIRECTORY=$(pwd)
319325
export KUBECONFIG="${CURRENT_DIRECTORY}/.kube/config"
320326
export IPS_PASS=$(gcloud auth print-access-token)
321327
#inputs.RELEASE does not hold value when workflow_dispatch is not called
322-
ISRELEASE=${{ inputs.RELEASE }}
328+
ISRELEASE="$ISRELEASE_INPUT"
323329
if [[ ${#ISRELEASE} != 0 ]]; then
324-
export NEO4J_DOCKER_IMG="neo4j:${{ inputs.DOCKER_IMAGE_VERSION }}"
330+
export NEO4J_DOCKER_IMG="neo4j:$DOCKER_IMAGE_VERSION_INPUT"
325331
fi
326332
echo "NEO4J_DOCKER_IMG=${NEO4J_DOCKER_IMG}"
327333
echo "printing kubeconfig path $KUBECONFIG"
@@ -371,6 +377,9 @@ jobs:
371377
run: go install github.com/gotesttools/gotestfmt/v2/cmd/gotestfmt@latest
372378

373379
- name: Run Enterprise Integration and Unit tests for Red Hat
380+
env:
381+
ISRELEASE_INPUT: ${{ inputs.RELEASE }}
382+
DOCKER_IMAGE_VERSION_INPUT: ${{ inputs.DOCKER_IMAGE_VERSION }}
374383
run: |
375384
mkdir -p .kube
376385
cat ${KUBECONFIG} > .kube/config
@@ -379,9 +388,9 @@ jobs:
379388
echo "printing kubeconfig path $KUBECONFIG"
380389
export IPS_PASS=$(gcloud auth print-access-token)
381390
#inputs.RELEASE does not hold value when workflow_dispatch is not called
382-
ISRELEASE=${{ inputs.RELEASE }}
391+
ISRELEASE="$ISRELEASE_INPUT"
383392
if [[ ${#ISRELEASE} != 0 ]]; then
384-
export NEO4J_DOCKER_IMG="neo4j:${{ inputs.DOCKER_IMAGE_VERSION }}-enterprise"
393+
export NEO4J_DOCKER_IMG="neo4j:$DOCKER_IMAGE_VERSION_INPUT-enterprise"
385394
fi
386395
echo "NEO4J_DOCKER_IMG=${NEO4J_DOCKER_IMG}"
387396
go test -json -v -timeout ${GO_TEST_TIMEOUT} ./internal/integration_tests/ 2>&1 | tee /tmp/gotest.log | gotestfmt
@@ -430,6 +439,9 @@ jobs:
430439
run: go install github.com/gotesttools/gotestfmt/v2/cmd/gotestfmt@latest
431440

432441
- name: Run Community Integration and Unit tests for Red Hat
442+
env:
443+
ISRELEASE_INPUT: ${{ inputs.RELEASE }}
444+
DOCKER_IMAGE_VERSION_INPUT: ${{ inputs.DOCKER_IMAGE_VERSION }}
433445
run: |
434446
mkdir -p .kube
435447
cat ${KUBECONFIG} > .kube/config
@@ -438,9 +450,9 @@ jobs:
438450
echo "printing kubeconfig path $KUBECONFIG"
439451
export IPS_PASS=$(gcloud auth print-access-token)
440452
#inputs.RELEASE does not hold value when workflow_dispatch is not called
441-
ISRELEASE=${{ inputs.RELEASE }}
453+
ISRELEASE="$ISRELEASE_INPUT"
442454
if [[ ${#ISRELEASE} != 0 ]]; then
443-
export NEO4J_DOCKER_IMG="neo4j:${{ inputs.DOCKER_IMAGE_VERSION }}"
455+
export NEO4J_DOCKER_IMG="neo4j:$DOCKER_IMAGE_VERSION_INPUT"
444456
fi
445457
echo "NEO4J_DOCKER_IMG=${NEO4J_DOCKER_IMG}"
446458
go test -json -v -timeout ${GO_TEST_TIMEOUT} ./internal/integration_tests/ 2>&1 | tee /tmp/gotest.log | gotestfmt

0 commit comments

Comments
 (0)