runtime-code-shasum.sh 1.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445
  1. #!/usr/bin/env bash
  2. # Compute a hash over files related to building joystream/node docker image
  3. # Cargo workspace root
  4. export WORKSPACE_ROOT=`cargo metadata --offline --no-deps --format-version 1 | jq .workspace_root -r`
  5. cd ${WORKSPACE_ROOT}
  6. TAR=tar
  7. SED=sed
  8. if [[ "$OSTYPE" == "darwin"* ]]; then
  9. TAR=gtar
  10. SED=gsed
  11. fi
  12. export TEST_NODE_BLOCKTIME=1000
  13. if [[ -n "$ALL_PROPOSALS_PARAMETERS_JSON" ]] && [[ -n "$TEST_NODE" ]]; then
  14. echo "Do not set both TEST_NODE and ALL_PROPOSALS_PARAMETERS_JSON env variables"
  15. exit 1
  16. elif [[ -z "$ALL_PROPOSALS_PARAMETERS_JSON" ]] && [[ -z "$TEST_NODE" ]]; then
  17. PROPOSALS_PARAMETERS_FILE=""
  18. elif [[ -n "$TEST_NODE" ]]; then
  19. PROPOSALS_PARAMETERS_FILE="./tests/integration-tests/proposal-parameters.json"
  20. else
  21. mkdir -p runtime-inputs
  22. PROPOSALS_PARAMETERS_FILE="./runtime-inputs/proposal-parameters-input.json"
  23. echo $ALL_PROPOSALS_PARAMETERS_JSON > $PROPOSALS_PARAMETERS_FILE
  24. fi
  25. # sort/owner/group/mtime arguments only work with gnu version of tar!
  26. ${TAR} -c --sort=name --owner=root:0 --group=root:0 --mode 644 --mtime='UTC 2020-01-01' \
  27. Cargo.lock \
  28. Cargo.toml \
  29. runtime \
  30. runtime-modules \
  31. utils/chain-spec-builder \
  32. joystream-node.Dockerfile \
  33. joystream-node-armv7.Dockerfile \
  34. node \
  35. $PROPOSALS_PARAMETERS_FILE \
  36. | if [[ -n "$TEST_NODE" ]]; then ${SED} '$a'"$TEST_NODE_BLOCKTIME"; else tee; fi \
  37. | shasum \
  38. | cut -d " " -f 1