diff --git a/templates/validation.yml b/templates/validation.yml index 31678cf4421dbbf1625c7df629173895ca171ec9..f34ee45483410dc946972ccfc1fc6d47fa90399e 100644 --- a/templates/validation.yml +++ b/templates/validation.yml @@ -1,5 +1,6 @@ variables: - YAJSV_IMAGE: "registry.hub.docker.com/amux/yajsv:latest" + YAJSV_IMAGE: "registry.hub.docker.com/badouralix/curl-jq:latest" + YAJSV_RELEASE: "https://github.com/neilpa/yajsv/releases/download/v1.4.1/yajsv.linux.amd64" .kicker-scripts: &kicker-scripts | set -e @@ -29,6 +30,16 @@ variables: fi } + function install_yajsv() { + export PATH=$PATH:$(pwd) + if ! command -v yajsv > /dev/null + then + log_info "Installing yajsv" + curl -sSL -o ./yajsv "${YAJSV_RELEASE}" + chmod +x ./yajsv + fi + } + # Abstract JSON schema validation job # $JSON_FILE : the JSON file to test # $SCHEMA_URL : the schema url @@ -38,9 +49,14 @@ variables: before_script: - !reference [.kicker-scripts] - install_ca_certs "${CUSTOM_CA_CERTS:-$DEFAULT_CA_CERTS}" + - install_yajsv script: - - 'wget --header "PRIVATE-TOKEN: $GITLAB_TOKEN" "$SCHEMA_URL" -O schema.json' + - 'curl -sSL -o schema.json -H "PRIVATE-TOKEN: $GITLAB_TOKEN" "$SCHEMA_URL"' - yajsv -s schema.json "$JSON_FILE" + cache: + key: "$CI_COMMIT_REF_NAME-yajsv" + paths: + - ./yajsv rules: # enabled if kicker.json file found - exists: