version: 2.3.2-B{build} pull_requests: do_not_increment_build_number: true image: Visual Studio 2013 configuration: Release environment: nodejs_version: '8' prebuild_upload: secure: azqdiwkPhQA0OVfRG5kQRCK5CuTgg2X4QIdkRSZTD+vm4R+p7M4iFMI18Zu/tXed # your encrypted token from GitHub matrix: # - nodejs_version: '6' - binary_builder: "true" publish_binary: "true" nodejs_version: '8' platform: # - x86 - x64 cache: - c:\OpenSSL-Win32 - c:\OpenSSL-Win64 - '%userprofile%\.node-gyp' - '%APPDATA%\npm' - '%APPDATA%\npm-cache' install: - git submodule update --init --recursive - ps: "$OpenSSLVersion = \"1_0_2o\"\n$OpenSSLExe = \"OpenSSL-$OpenSSLVersion.exe\"\n\nRemove-Item C:\\OpenSSL-Win32 -recurse\nRemove-Item C:\\OpenSSL-Win64 -recurse\n\nWrite-Host \"Installing OpenSSL v1.0 32-bit ...\" -ForegroundColor Cyan\nWrite-Host \"Downloading...\"\n$exePath = \"$($env:USERPROFILE)\\Win32OpenSSL-1_0_2o.exe\"\n(New-Object Net.WebClient).DownloadFile('https://slproweb.com/download/Win32OpenSSL-1_0_2o.exe', $exePath)\nWrite-Host \"Installing...\"\ncmd /c start /wait $exePath /silent /verysilent /sp- /suppressmsgboxes /DIR=C:\\OpenSSL-Win32\nWrite-Host \"Installed\" -ForegroundColor Green\n\nWrite-Host \"Installing OpenSSL v1.0 64-bit ...\" -ForegroundColor Cyan\nWrite-Host \"Downloading...\"\n$exePath = \"$($env:USERPROFILE)\\Win64OpenSSL-1_0_2o.exe\"\n(New-Object Net.WebClient).DownloadFile('https://slproweb.com/download/Win64OpenSSL-1_0_2o.exe', $exePath)\nWrite-Host \"Installing...\"\ncmd /c start /wait $exePath /silent /verysilent /sp- /suppressmsgboxes /DIR=C:\\OpenSSL-Win64\nWrite-Host \"Installed\" -ForegroundColor Green\n\nif (!(Test-Path(\"C:\\OpenSSL-Win32\"))) {\n echo \"Downloading https://slproweb.com/download/Win32$OpenSSLExe\"\n Start-FileDownload 'https://slproweb.com/download/Win32$OpenSSLExe'\n Start-Process \"Win32$OpenSSLExe\" -ArgumentList \"/silent /verysilent /sp- /suppressmsgboxes\" -Wait\n} else {\n echo \"OpenSSL-Win32 already exists: not downloading\"\n}\n\nif (!(Test-Path(\"C:\\OpenSSL-Win64\"))) {\n echo \"Downloading https://slproweb.com/download/Win64$OpenSSLExe\"\n Start-FileDownload 'https://slproweb.com/download/Win64$OpenSSLExe' \n Start-Process \"Win64$OpenSSLExe\" -ArgumentList \"/silent /verysilent /sp- /suppressmsgboxes\" -Wait\n} else {\n echo \"OpenSSL-Win64 already exists: not downloading\"\n}\n\n\n\n# Download the CoApp tools.\n$msiPath = \"$($env:USERPROFILE)\\CoApp.Tools.Powershell.msi\"\n(New-Object Net.WebClient).DownloadFile('http://coapp.org/files/CoApp.Tools.Powershell.msi', $msiPath)\n\n# Install the CoApp tools from the downloaded .msi.\nStart-Process -FilePath msiexec -ArgumentList /i, $msiPath, /quiet -Wait\n\n# Make the tools available for later PS scripts to use.\n$env:PSModulePath = $env:PSModulePath + ';C:\\Program Files (x86)\\Outercurve Foundation\\Modules'\nImport-Module CoApp\n\n# Install NuGet\n#Install-PackageProvider NuGet -MinimumVersion '2.8.5.201' -Force\n#Import-PackageProvider NuGet -MinimumVersion '2.8.5.201' -Force\n\n# Install CoApp for creating nuget packages\n#$msiPath = \"$($env:USERPROFILE)\\CoApp.Tools.Powershell.msi\"\n#(New-Object #Net.WebClient).DownloadFile('http://downloads.coapp.org/files/CoApp.Tools.Powershell.msi', $msiPath)\n#cmd /c start /wait msiexec /i \"$msiPath\" /quiet\n\n# Install CoApp module\n#Install-Module CoApp -Force" - ps: Install-Product node $env:nodejs_version $env:platform - node --version - npm --version - node -e "console.log(process.arch);" - IF /I "%PLATFORM%" == "x64" set PATH=C:\Python27-x64;%PATH% - IF /I "%PLATFORM%" == "x86" SET PATH=C:\python27;%PATH% - IF /I "%PLATFORM%" == "x64" CALL "C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\vcvarsall.bat" amd64 - IF /I "%PLATFORM%" == "x86" CALL "C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\vcvarsall.bat" x86 - ps: > @{ "nodejs_version" = $env:nodejs_version "platform" = $env:platform "node binary version" = $(node -v) "node platform@arch" = $(node -p 'process.platform + process.arch') "npm version" = $(npm -v) "APPVEYOR_REPO_COMMIT_MESSAGE" = $env:APPVEYOR_REPO_COMMIT_MESSAGE "git latest tag" = "$(git describe --tags --always HEAD)" "appveyor_repo_tag" = $env:appveyor_repo_tag } | Out-String | Write-Host; # - npm install nuget: account_feed: true project_feed: true disable_publish_on_pr: true before_build: # - cmd: nuget restore win32/librdkafka.sln # Check if we're building the latest tag, if so # then we publish the binaries if tests pass. - ps: > if ($env:appveyor_repo_tag -match "true" -and ("$(git describe --tags --always HEAD)" -eq $env:appveyor_repo_tag_name)) { $env:publish_binary = $env:binary_builder; } if ($env:publish_binary -eq "true") { "We're publishing a binary!" | Write-Host } else { "We're not publishing a binary" | Write-Host } true; build_script: - npm install --build-from-source test_script: # Tests are disabled until we have tests which are suitable for CI and don't require manual interaction. # - npm test - echo "Skipping tests on CI, as they currently require manual interaction." - ps: > if ($env:publish_binary -eq "true") { npm run prebuild } true; artifacts: - path: 'build\Release\*.dll' name: Libraries - path: 'build\Release\*.lib' name: Libraries - path: 'build\Release\*.node' name: Libraries - path: 'build\Release\*.pdb' name: Libraries deploy: off