Add SHA256 hash also to Windows and MacOS releases. Fix #64
This commit is contained in:
parent
888e329d49
commit
f0643d39c1
|
@ -13,6 +13,7 @@ steps:
|
||||||
set -e
|
set -e
|
||||||
python packager.py build
|
python packager.py build
|
||||||
cp target/packager/mac/espanso-*.gz .
|
cp target/packager/mac/espanso-*.gz .
|
||||||
|
cp target/packager/mac/espanso-*.txt .
|
||||||
cp target/packager/mac/espanso.rb .
|
cp target/packager/mac/espanso.rb .
|
||||||
ls -la
|
ls -la
|
||||||
displayName: "Cargo build and packaging for MacOS"
|
displayName: "Cargo build and packaging for MacOS"
|
|
@ -12,6 +12,7 @@ steps:
|
||||||
- script: |
|
- script: |
|
||||||
python packager.py build
|
python packager.py build
|
||||||
copy "target\\packager\\win\\espanso-win-installer.exe" "espanso-win-installer.exe"
|
copy "target\\packager\\win\\espanso-win-installer.exe" "espanso-win-installer.exe"
|
||||||
|
copy "target\\packager\\win\\espanso-win-installer-sha256.txt" "espanso-win-installer-sha256.txt"
|
||||||
dir
|
dir
|
||||||
displayName: "Build and packaging for Windows"
|
displayName: "Build and packaging for Windows"
|
||||||
|
|
||||||
|
|
23
packager.py
23
packager.py
|
@ -6,6 +6,7 @@ import hashlib
|
||||||
import click
|
import click
|
||||||
import shutil
|
import shutil
|
||||||
import toml
|
import toml
|
||||||
|
import hashlib
|
||||||
import urllib.request
|
import urllib.request
|
||||||
from dataclasses import dataclass
|
from dataclasses import dataclass
|
||||||
|
|
||||||
|
@ -106,6 +107,17 @@ def build_windows(package_info):
|
||||||
print("Compiling installer with Inno setup")
|
print("Compiling installer with Inno setup")
|
||||||
subprocess.run(["iscc", os.path.abspath(os.path.join(TARGET_DIR, "setupscript.iss"))])
|
subprocess.run(["iscc", os.path.abspath(os.path.join(TARGET_DIR, "setupscript.iss"))])
|
||||||
|
|
||||||
|
print("Calculating the SHA256")
|
||||||
|
sha256_hash = hashlib.sha256()
|
||||||
|
with open(os.path.abspath(os.path.join(TARGET_DIR, INSTALLER_NAME+".exe")),"rb") as f:
|
||||||
|
# Read and update hash string value in blocks of 4K
|
||||||
|
for byte_block in iter(lambda: f.read(4096),b""):
|
||||||
|
sha256_hash.update(byte_block)
|
||||||
|
|
||||||
|
hash_file = os.path.abspath(os.path.join(TARGET_DIR, "espanso-win-installer-sha256.txt"))
|
||||||
|
with open(hash_file, "w") as hf:
|
||||||
|
hf.write(sha256_hash.hexdigest())
|
||||||
|
|
||||||
|
|
||||||
def build_mac(package_info):
|
def build_mac(package_info):
|
||||||
print("Starting packaging process for MacOS...")
|
print("Starting packaging process for MacOS...")
|
||||||
|
@ -131,6 +143,17 @@ def build_mac(package_info):
|
||||||
])
|
])
|
||||||
print(f"Created archive: {archive_target}")
|
print(f"Created archive: {archive_target}")
|
||||||
|
|
||||||
|
print("Calculating the SHA256")
|
||||||
|
sha256_hash = hashlib.sha256()
|
||||||
|
with open(archive_target,"rb") as f:
|
||||||
|
# Read and update hash string value in blocks of 4K
|
||||||
|
for byte_block in iter(lambda: f.read(4096),b""):
|
||||||
|
sha256_hash.update(byte_block)
|
||||||
|
|
||||||
|
hash_file = os.path.abspath(os.path.join(TARGET_DIR, "espanso-mac-sha256.txt"))
|
||||||
|
with open(hash_file, "w") as hf:
|
||||||
|
hf.write(sha256_hash.hexdigest())
|
||||||
|
|
||||||
print("Processing Homebrew formula template")
|
print("Processing Homebrew formula template")
|
||||||
with open("packager/mac/espanso.rb", "r") as formula_template:
|
with open("packager/mac/espanso.rb", "r") as formula_template:
|
||||||
content = formula_template.read()
|
content = formula_template.read()
|
||||||
|
|
Loading…
Reference in New Issue
Block a user