diff options
Diffstat (limited to 'SoftHSMv2/testing/appveyor')
-rw-r--r-- | SoftHSMv2/testing/appveyor/APPVEYOR-NOTES.MD | 27 | ||||
-rw-r--r-- | SoftHSMv2/testing/appveyor/appveyor_build.bat | 51 | ||||
-rw-r--r-- | SoftHSMv2/testing/appveyor/appveyor_download_requirements.ps1 | 80 |
3 files changed, 158 insertions, 0 deletions
diff --git a/SoftHSMv2/testing/appveyor/APPVEYOR-NOTES.MD b/SoftHSMv2/testing/appveyor/APPVEYOR-NOTES.MD new file mode 100644 index 0000000..b2347b0 --- /dev/null +++ b/SoftHSMv2/testing/appveyor/APPVEYOR-NOTES.MD @@ -0,0 +1,27 @@ +# AppVeyor integration with SoftHSMv2 on GitHub + +This document describes the process of integrating AppVeyor with SoftHSMv2 on GitHub. + +## Integration + +### Add project + +To add the project, click on the following: + +1. New Project +2. GitHub +3. opendnssec -> SoftHSMv2 -> Add + +### Settings + +The following settings where changed. + +#### General + +* Custom configuration .yml file name: .appveyor.yml +* Skip branches without appveyor.yml: check + +## Dependencies + +Prebuilt dependencies (OpenSSL and CppUnit) are currently hosted in a dedicated +repository by [disig/SoftHSM2-AppVeyor](https://github.com/disig/SoftHSM2-AppVeyor/) diff --git a/SoftHSMv2/testing/appveyor/appveyor_build.bat b/SoftHSMv2/testing/appveyor/appveyor_build.bat new file mode 100644 index 0000000..4e7f41f --- /dev/null +++ b/SoftHSMv2/testing/appveyor/appveyor_build.bat @@ -0,0 +1,51 @@ +setlocal + +echo "Setting visual studio variables" + +call "C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\vcvarsall.bat" %VCVARS_PLATFORM% +@echo on + +echo "Setting PATH and other variables" +set cur_dir=%CD% +set PATH=%PATH%;%PYTHON_PATH% + +echo %cur_dir% +cd win32 + +python Configure.py %CONFIGURE_OPTIONS% || goto :error + +msbuild softhsm2.sln /p:Configuration="Release" /p:Platform="%MSBUILD_PLATFORM%" /p:PlatformToolset=v140 /target:Build || goto :error + +cd %cur_dir% + +IF "%ENV_PLATFORM%"=="x86" (set from_dir=%CD%\win32\Release) ELSE (set from_dir=%CD%\win32\x64\Release) + +echo "Testing build" + +cd %from_dir% +cryptotest.exe || goto :error +datamgrtest.exe || goto :error +handlemgrtest.exe || goto :error +objstoretest.exe || goto :error +p11test.exe || goto :error +sessionmgrtest.exe || goto :error +slotmgrtest.exe || goto :error + +echo "Preparing output package" +copy %from_dir%\softhsm2.dll %RELEASE_DIR% || goto :error +copy %from_dir%\softhsm2-dump-file.exe %RELEASE_DIR% || goto :error +copy %from_dir%\softhsm2-keyconv.exe %RELEASE_DIR% || goto :error +copy %from_dir%\softhsm2-util.exe %RELEASE_DIR% || goto :error +copy %cur_dir%\src\lib\common\softhsm2.conf.in %RELEASE_DIR%\softhsm2.conf || goto :error + +dir %RELEASE_DIR% + +@echo *** BUILD SUCCESSFUL *** +endlocal +@exit /b 0 + + +:error +@echo *** BUILD FAILED *** +endlocal +@exit /b 1 diff --git a/SoftHSMv2/testing/appveyor/appveyor_download_requirements.ps1 b/SoftHSMv2/testing/appveyor/appveyor_download_requirements.ps1 new file mode 100644 index 0000000..cc374f5 --- /dev/null +++ b/SoftHSMv2/testing/appveyor/appveyor_download_requirements.ps1 @@ -0,0 +1,80 @@ +Add-Type -AssemblyName System.IO.Compression.FileSystem +function Unzip +{ + param([string]$zipfile, [string]$outpath) + + [System.IO.Compression.ZipFile]::ExtractToDirectory($zipfile, $outpath) +} + +$CURRENT_DIR_PATH = (Get-Item -Path ".\" -Verbose).FullName +$BUILD_DIR = Join-Path $CURRENT_DIR_PATH build + +#prepare directories +Write-Host "Preparing directories" + +$exists = Test-Path build +if ($exists -eq $false) { + mkdir build +} +cd build + +$exists = Test-Path $env:RELEASE_DIR +if ($exists -eq $false) { + mkdir $env:RELEASE_DIR +} + +$exists = Test-Path python +if ($exists -eq $true) { + Remove-Item python -recurse +} + +$exists = Test-Path "$env:CPPUNIT_PATH" +if ($exists -eq $true) { + Remove-Item "$env:CPPUNIT_PATH" -recurse +} + +$exists = Test-Path "$env:CRYPTO_PACKAGE_PATH" +if ($exists -eq $true) { + Remove-Item "$env:CRYPTO_PACKAGE_PATH" -recurse +} + +mkdir python + +Write-Host "Preparing directories - OK" + +Write-Host "Downloading needed tools and dependencies" + +$exists = Test-Path "$env:CRYPTO_PACKAGE_NAME" +if ($exists -eq $false) { + $source = "https://github.com/disig/SoftHSM2-AppVeyor/raw/master/$env:PACKAGE_VERSION_NAME/$env:CRYPTO_PACKAGE" + Invoke-WebRequest $source -OutFile $env:CRYPTO_PACKAGE +} + +$exists = Test-Path "$env:CPPUNIT_PACKAGE" +if ($exists -eq $false) { + $source = "https://github.com/disig/SoftHSM2-AppVeyor/raw/master/$env:CPPUNIT_VERSION_NAME/$env:CPPUNIT_PACKAGE" + Invoke-WebRequest $source -OutFile $env:CPPUNIT_PACKAGE +} + +$exists = Test-Path python-3.5.2-embed-win32.zip +if ($exists -eq $false) { + $source = "https://www.python.org/ftp/python/3.5.2/python-3.5.2-embed-win32.zip" + Invoke-WebRequest $source -OutFile python-3.5.2-embed-win32.zip +} + +Write-Host "Downloading needed tools and dependencies - OK" + +Write-Host "Extracting ..." +Unzip "$BUILD_DIR/python-3.5.2-embed-win32.zip" "$env:PYTHON_PATH" + +Unzip "$BUILD_DIR/$env:CRYPTO_PACKAGE" "$BUILD_DIR" + +Unzip "$BUILD_DIR/$env:CPPUNIT_PACKAGE" "$BUILD_DIR" + +dir + +dir "$env:PYTHON_PATH" +dir "$env:CRYPTO_PACKAGE_PATH" +dir "$env:CPPUNIT_PATH" + +cd $CURRENT_DIR_PATH
\ No newline at end of file |