diff --git a/utils/build_mail.py b/utils/build_mail.py new file mode 100644 index 00000000..4b547204 --- /dev/null +++ b/utils/build_mail.py @@ -0,0 +1,36 @@ +import sys +import os +import smtplib +from email.message import EmailMessage + +def getenv(e): + t = os.getenv(e) + if t == None: + print("Error: environment variable " + e + " was not set") + exit(1) + return t + +zs_from = getenv("ZANO_SMTP_FROM") +zs_addr = getenv("ZANO_SMTP_ADDR") +zs_port = getenv("ZANO_SMTP_PORT") +zs_user = getenv("ZANO_SMTP_USER") +zs_pass = getenv("ZANO_SMTP_PASS") + +if len(sys.argv) != 4: + print("Usage: " + sys.argv[0] + " ") + exit(1) + +msg = EmailMessage() +msg['Subject'] = sys.argv[1] +msg['From'] = zs_from +msg['To'] = sys.argv[2] +msg.add_header('Content-Type','text/html') +msg.set_payload(sys.argv[3]) + +s = smtplib.SMTP(zs_addr, zs_port) +s.starttls() +s.login(zs_user, zs_pass) +s.send_message(msg) +s.quit() + +print("e-mail sent.") diff --git a/utils/build_script_windows.bat b/utils/build_script_windows.bat index ce180a66..b44c27ee 100644 --- a/utils/build_script_windows.bat +++ b/utils/build_script_windows.bat @@ -1,9 +1,5 @@ call configure_local_paths.cmd -;; MSVC version-specific paths -SET LOCAL_BOOST_LIB_PATH=%LOCAL_BOOST_PATH%\lib64-msvc-14.1 -SET QT_MSVC_PATH=%QT_PREFIX_PATH%\msvc2017_64 - SET ACHIVE_NAME_PREFIX=zano-win-x64- SET MY_PATH=%~dp0 SET SOURCES_PATH=%MY_PATH:~0,-7% @@ -44,12 +40,13 @@ cd %SOURCES_PATH% rmdir build /s /q mkdir build cd build -cmake %TESTNET_DEF% -D OPENSSL_ROOT_DIR="%OPENSSL_ROOT_DIR%" -D CMAKE_PREFIX_PATH="%QT_MSVC_PATH%" -D BUILD_GUI=TRUE -D STATIC=FALSE -G "Visual Studio 15 2017 Win64" -T host=x64 .. + +cmake %TESTNET_DEF% -D OPENSSL_ROOT_DIR="%OPENSSL_ROOT_DIR%" -D CMAKE_PREFIX_PATH="%QT_PREFIX_PATH%"\msvc2017_64 -D BUILD_GUI=TRUE -D STATIC=FALSE -DBOOST_ROOT="%BOOST_ROOT%" -DBOOST_LIBRARYDIR="%BOOST_ROOT%\lib64-msvc-14.1" -G "Visual Studio 16 2019" -A x64 -T host=x64 .. IF %ERRORLEVEL% NEQ 0 ( goto error ) -call "C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\VC\Auxiliary\Build\vcvars64.bat" x86_amd64 +call "C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Auxiliary\Build\vcvars64.bat" x86_amd64 echo on cd %SOURCES_PATH%\build @@ -96,7 +93,9 @@ del /F /Q %build_zip_path% cd src\release - +call :sign_file Zano.exe || goto error +call :sign_file zanod.exe || goto error +call :sign_file simplewallet.exe || goto error @echo on @@ -168,37 +167,31 @@ IF %ERRORLEVEL% NEQ 0 ( set installer_file=%ACHIVE_NAME_PREFIX%%version%-installer.exe set installer_path=%BUILDS_PATH%\builds\%installer_file% -:: Signing temporary disable -::@echo " SIGNING ...." -:: -::%ZANO_SIGN_CMD% %installer_path% -::IF %ERRORLEVEL% NEQ 0 ( -:: @echo "failed to sign installer" -:: goto error -::) +@echo " SIGNING the installer ...." + +call :sign_file %installer_path% || goto error @echo " UPLOADING TO SERVER ...." -pscp %installer_path% zano_build_server:/var/www/html/builds +pscp -load zano_build_server %installer_path% %ZANO_BUILDS_HOST%:/var/www/html/builds IF %ERRORLEVEL% NEQ 0 ( @echo "FAILED TO UPLOAD EXE TO SERVER" goto error ) call :sha256 %installer_path% installer_checksum -pscp %build_zip_path% zano_build_server:/var/www/html/builds +pscp -load zano_build_server %build_zip_path% %ZANO_BUILDS_HOST%:/var/www/html/builds IF %ERRORLEVEL% NEQ 0 ( @echo "FAILED TO UPLOAD ZIP TO SERVER" goto error ) call :sha256 %build_zip_path% build_zip_checksum -set mail_msg="New %build_prefix% %TESTNET_LABEL%build for win-x64:
INST: https://build.zano.org/builds/%installer_file%
sha256: %installer_checksum%

ZIP: https://build.zano.org/builds/%installer_file%
sha256: %installer_checksum%

ZIP: https://build.zano.org/builds/%build_zip_filename%
sha256: %build_zip_checksum%
" echo %mail_msg% -senditquiet.exe -t %emails% -subject "Zano win-x64 %build_prefix% %TESTNET_LABEL%build %version%" -body %mail_msg% - +python ../utils/build_mail.py "Zano win-x64 %build_prefix% %TESTNET_LABEL%build %version%" "%emails%" %mail_msg% goto success @@ -228,3 +221,12 @@ EXIT /B %ERRORLEVEL% @set "%2=%hash: =% ) @exit /B 0 + + +:sign_file +%ZANO_SIGN_CMD% %1 +@if %ERRORLEVEL% neq 0 ( + @echo ERROR: failed to sign %1 + @exit /B 1 +) +@exit /B 0