diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 0f4f3f7b8a453562d3ef960ccac527cdb17a627d..ff1d2eb14f975548d335b48571c0145be8c715aa 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -436,9 +436,17 @@ build_raw_specs: - export FEATURES="--features $RUNTIME --no-default-features" - echo "FEATURES = $FEATURES" - apt-get update - - apt-get install -y clang cmake protobuf-compiler + - apt-get install -y clang cmake protobuf-compiler jq # Print chainspec to file - - cargo xtask print-spec $NETWORK_RELEASE > ${RUNTIME}.json + - cargo xtask print-spec $NETWORK_RELEASE > ${RUNTIME}-printed.json + # Merge client specs into chainspec file (to update bootnodes for example) + # 1. Download yq to create a json client spec file + - wget https://github.com/mikefarah/yq/releases/download/v4.44.6/yq_linux_arm64 -O yq + - chmod +x ./yq + # 2. YML -> JSON for the client specs + - cat node/specs/${RUNTIME}_client-specs.yaml | ./yq --output-format json > node/specs/${RUNTIME}_client-specs.json + # 3. Merge the client spec file into chainspec file and create the final spec file (e.g. gdev.json) + - jq -s '.[0] * .[1]' node/specs/${RUNTIME}_client-specs.json ${RUNTIME}-printed.json > ${RUNTIME}.json # Produce raw spec file - mkdir -p $CI_PROJECT_DIR/release - cargo run -Zgit=shallow-deps ${FEATURES} -- build-spec --chain=${RUNTIME}.json --disable-default-bootnode --raw > $RELEASE_FILE_RAW_SPEC