diff --git a/bin/jq-osx-amd64 b/bin/jq-osx-amd64 new file mode 100755 index 0000000..d363c8a Binary files /dev/null and b/bin/jq-osx-amd64 differ diff --git a/create_dist_mac.sh b/create_dist_mac.sh new file mode 100755 index 0000000..2801bc2 --- /dev/null +++ b/create_dist_mac.sh @@ -0,0 +1,48 @@ +#!/bin/sh + +PATH=$(pwd)/bin:$PATH +export PATH + +PRIVATE_KEY=../../blockstorage_dev_private.pem +PUBLIC_KEY=./blockstorage_dev_public.pem + +APP_VER=$(grep -m1 -a version package.json|sed -e "s/\"//g" -e "s/version: //g" -e "s/,//g" -e "s/ //g") +OUT_FILE=repertory-ui_${APP_VER}_mac.dmg + +exit_script() { + echo $1 + exit 1 +} + +if npm run dist; then + cd dist + shasum -a 256 -b ${OUT_FILE} > ${OUT_FILE}.sha256 || exit_script "Create sha256 failed" + openssl dgst -sha256 -sign "${PRIVATE_KEY}" -out "${OUT_FILE}.sig" "${OUT_FILE}" || exit_script "Create signature failed" + base64 "${OUT_FILE}.sig" > "${OUT_FILE}.sig.b64" || exit_script "Create base64 failed" + + rm -f upload_response.json 1>/dev/null 2>&1 + curl -F name="${OUT_FILE}" -F anonymous=true -F file="@${OUT_FILE}" https://pixeldrain.com/api/file > upload_response.json || exit_script "Upload to Pixeldrain failed" + + PIXEL_SUCCESS=$(jq-osx-amd64 .success upload_response.json) + if [ "${PIXEL_SUCCESS}" = "false" ]; then + PIXEL_MESSAGE=$(jq-osx-amd64 .message upload_response.json) + exit_script "${PIXEL_MESSAGE}" + else + PIXEL_ID=$(jq-osx-amd64 .id upload_response.json|sed s/\"//g) + PIXEL_LOCATION=https://pixeldrain.com/api/file/${PIXEL_ID} + + APP_SIG=$(cat ${OUT_FILE}.sig.b64) + APP_SHA256=$(cat ${OUT_FILE}.sha256 | awk '{print $1;}') + + cp -f ../releases.json ./releases.json + jq-osx-amd64 ".Versions[\"darwin\"]|=(.+ [\"${APP_VER}\"]|unique)" releases.json > releases_temp.json || exit_script "Update releases.json Versions failed" + jq-osx-amd64 ".Locations[\"darwin\"].\"${APP_VER}\".sig=\"${APP_SIG}\"" releases_temp.json > releases.json || exit_script "Update releases.json sig failed" + jq-osx-amd64 ".Locations[\"darwin\"].\"${APP_VER}\".sha256=\"${APP_SHA256}\"" releases.json > releases_temp.json || exit_script "Update releases.json sha256 failed" + jq-osx-amd64 ".Locations[\"darwin\"].\"${APP_VER}\".urls=[\"${PIXEL_LOCATION}\"]" releases_temp.json > releases.json || exit_script "Update releases.json URL failed" + + rm -f releases_temp.json + fi + cd - +else + exit_script "Create dist failed" +fi diff --git a/releases.json b/releases.json index 2758fe0..1970261 100644 --- a/releases.json +++ b/releases.json @@ -20,9 +20,11 @@ }, "darwin": { "1.0.3": { - "sha256": "", - "sig": "", - "urls": [] + "sha256": "0121b537d026ff50b8500d692033b3194ec66c1a45e43159694193e81a1b0d37", + "sig": "Abf6BdpfEsKaSG6iESLJeb9e60vNGN6XBuae9/OBsysh8QImW2wLCOT+TxRV6/rtZm/mNvUu2dNcg6q75pjmgaFmCPu35mjP2Ep5zb0Z/Rs1Dj0+b3JPzBn6lFYZHbvQMA+9g9+YINn+Oylz5uLuePbNnJxLscmi0Oim1FLeUxcd4I2KiOQNexIkVm7ZmLfryEqY3wbyBSSEF4crQ/JQchD2Ga7sebKPbeY5hF0jd637qvKq4atQsiByKSbxOtdA/3XDpQnD1inoCWx6dgAVj5IxJ6wOtc/gGmQHnYQSm4iYJk2t+0MOWH+P8XvEE0heScN6Hge1M9fCP7yMOHLL8iC11KqchICj/n5cOXeUz2nPsTsHqSsRId56FpNoy3xK9B0GT2UvgdZh8k1ZcEtdasQOPPF7B4uZmktz1hIzD8f+LE6yhjL1biXxML0DgH7HjKtI1m0dOHCiOCY7ZYh95uG36Fxn4uYPqc5xe8mfVewh/QRZAmGkulC3+YZL0p5AdgKeOV/JDTex+5f1hUCirKTyGYBZ/BnZgpWugmZ1Zi9OIsHxLUzH0/w5Qg7dq6mYztWkMCFtBqX8LODpBSSj21JSlVvkz2JeLfHr3F6a0aU85jmM9N8BwQDy6ccGhE02p5i9+umtx4xmsowYUThlf205u5kokCz2xJ/MlbrYtq2yYHd6r5CrnQXBtd2U3p1tQf+4NM2bqiER7UAEBSwIZZAK7VXpctvTnDstXdImwiUaWaX3Sh1D5pySCeMud0t3qSR+mfApXZRmzeJBGJ4v0onzfdGReeusyaHrGjakrqUMC9dmqSMRrZEsLuaoH2AmwCLToL9anPXM5Jkc2V4mkFf9/q9CIOB7juiSkpk8uhwqDk6kImKstVAFOJd/g1BEDVgzvxbOy4d2OFeBREz+kw/yjznqJw4AuemWPtd/RcjmyKZaEJGjJ8SPqQrBXr518KT69LcLleoH12vAtAyEIoXyVxtgYmhQZiIfUtXG6Eq0B2z6v/Zlwhvj8SvdC2rjHdWELruaR8vFrQxPpncz0a5RJVOPcWlBQBFXokKWGTtfn51wqzbkKD8F5iDNXcySN2ichh0nV/mNdXjyGsAcq9YCI0yOqFqRebfF/WEXTV1Eh6VNXovOaJJmIPHHcM6ym+KW1cOl2+8157OnCVeXp1h/2dW7XN1dm+o9m2vH7hmJN2sleawnoKAGy1BISFBdnR2Y91SaheQO951WClT8raoylB9L5w0BU66/4VaqD/sk2r3ga1KzSuwdEichi3mENqbO18WGhcZdtaB4rQuQmh7UV2QR5pe2XoMtZFk9uWf+c4UULgoYBsOVDZnW/QeYD8o7Wflj68UR4kODMTlSJ7Q=", + "urls": [ + "https://pixeldrain.com/api/file/QRYxQeXM" + ] } }, "debian9": {