diff --git a/.gitignore b/.gitignore index 4beb72af2..21421e4fb 100644 --- a/.gitignore +++ b/.gitignore @@ -1,2 +1,3 @@ wikibase-local-ca.crt *.bak +.extracted diff --git a/bin/extract-yaml-job-scripts b/bin/extract-yaml-job-scripts new file mode 100755 index 000000000..42c87a041 --- /dev/null +++ b/bin/extract-yaml-job-scripts @@ -0,0 +1,28 @@ +#!/bin/bash + +if [[ -n "${CI}" ]]; then + set -x +fi + +# absolute path of the wbaas-deploy repository +ROOT=$(git rev-parse --show-toplevel) +EXTRACTED_SCRIPTS_DIR="$ROOT/k8s/jobs/.extracted" + +rm -Rfv "$ROOT/k8s/jobs/.extracted"/*_extracted.sh +mkdir -p "$EXTRACTED_SCRIPTS_DIR" + +for file in "$ROOT"/k8s/jobs/*.yaml; do + BASENAME=$(basename "$file") + TMP_FILE="${EXTRACTED_SCRIPTS_DIR}/${BASENAME}_extracted.sh" + SCRIPT_SHELL=$(cat "$file" | yq '.spec.template.spec.containers[0].command[0]') + + if [[ "$SCRIPT_SHELL" == "null" ]]; then + continue + fi + + SCRIPT=$(cat "$file" | yq '.spec.template.spec.containers[0].command[2]') + echo "#!/usr/bin/env $SCRIPT_SHELL" >"$TMP_FILE" + echo "$SCRIPT" >>"$TMP_FILE" + + echo "extracted $TMP_FILE" +done