Show hash values of files uploaded

This commit is contained in:
meowmeowcat 2022-01-08 00:24:27 +08:00
parent bea5cda687
commit e5cc29fe08
2 changed files with 31 additions and 0 deletions

View file

@ -30,6 +30,10 @@ inputs:
description: Show verbose output. description: Show verbose output.
required: false required: false
default: false default: false
print_hash:
description: Show hash values of files uploaded
required: false
default: false
branding: branding:
color: yellow color: yellow
icon: upload-cloud icon: upload-cloud
@ -44,3 +48,4 @@ runs:
- ${{ inputs.verify_metadata }} - ${{ inputs.verify_metadata }}
- ${{ inputs.skip_existing }} - ${{ inputs.skip_existing }}
- ${{ inputs.verbose }} - ${{ inputs.verbose }}
- ${{ inputs.print_hash }}

View file

@ -48,3 +48,29 @@ TWINE_USERNAME="$INPUT_USER" \
TWINE_PASSWORD="$INPUT_PASSWORD" \ TWINE_PASSWORD="$INPUT_PASSWORD" \
TWINE_REPOSITORY_URL="$INPUT_REPOSITORY_URL" \ TWINE_REPOSITORY_URL="$INPUT_REPOSITORY_URL" \
exec twine upload ${TWINE_EXTRA_ARGS} ${INPUT_PACKAGES_DIR%%/}/* exec twine upload ${TWINE_EXTRA_ARGS} ${INPUT_PACKAGES_DIR%%/}/*
if [[ ${INPUT_PRINT_HASH,,} != "false" ]] ; then
cat > ./print_hash.py << EOF
import os
import hashlib
sha256 = hashlib.sha256()
md5 = hashlib.md5()
blake2_256 = hashlib.blake2b(digest_size=256 // 8)
file_list = os.listdir(os.path.abspath("${INPUT_PACKAGES_DIR%%/}"))
for i in file_list:
print(i)
print("")
file = open(os.path.abspath(os.path.join("${INPUT_PACKAGES_DIR%%/}", i)), "rb")
content = file.read()
file.close()
sha256.update(content)
md5.update(content)
blake2_256.update(content)
print(f"SHA256: {sha256.hexdigest()}")
print(f"MD5: {md5.hexdigest()}")
print(f"BLAKE2-256: {blake2_256.hexdigest()}")
print("")
EOF
python ./print_hash.py
rm ./print_hash.py
fi