From d8a2492726b7bd18ff5836b9138189c356a2c412 Mon Sep 17 00:00:00 2001 From: Gurucharan Shetty Date: Thu, 5 Feb 2015 09:49:26 -0800 Subject: [PATCH] appveyor: Provide a autobuild service for Windows. The appveyor.yml file added through this commit lets AppVeyor auto build service to run a build of OVS on Windows platform. Signed-off-by: Gurucharan Shetty --- INSTALL.Windows.md | 9 +++++++++ Makefile.am | 1 + appveyor.yml | 43 +++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 53 insertions(+) create mode 100644 appveyor.yml diff --git a/INSTALL.Windows.md b/INSTALL.Windows.md index 9b4537cafb1..138d1bb8a9d 100644 --- a/INSTALL.Windows.md +++ b/INSTALL.Windows.md @@ -247,6 +247,15 @@ type: External network', in the HyperV virtual network switch configuration. this is still a work in progress. Till the support is complete we recommend disabling TX/RX offloads for both the VM's as well as the HyperV. +Windows autobuild service +------------------------- + +AppVeyor (appveyor.com) provides a free Windows autobuild service for +opensource projects. Open vSwitch has integration with AppVeyor for +continuous build. A developer can build test his changes for Windows by +logging into appveyor.com using a github account, creating a new project +by linking it to his development repository in github and triggering +a new build. TODO ---- diff --git a/Makefile.am b/Makefile.am index 3e5e0b2d1fe..28496b32df1 100644 --- a/Makefile.am +++ b/Makefile.am @@ -65,6 +65,7 @@ PYCOV_CLEAN_FILES = build-aux/check-structs,cover # A list of Markdown-formatted documentation that will automatically be # included in the "make dist-docs" output. docs = \ + appveyor.yml \ CONTRIBUTING.md \ CodingStyle.md \ DESIGN.md \ diff --git a/appveyor.yml b/appveyor.yml new file mode 100644 index 00000000000..32a052455df --- /dev/null +++ b/appveyor.yml @@ -0,0 +1,43 @@ +version: 1.0.{build} +branches: + only: + - master +clone_folder: C:\openvswitch +init: +- ps: >- + mkdir C:\pthreads-win32 + + mkdir C:\ovs-build-downloads + + $source = "ftp://sourceware.org/pub/pthreads-win32/pthreads-w32-2-9-1-release.zip" + + $destination = "C:\pthreads-win32\pthreads-win32.zip" + + Invoke-WebRequest $source -OutFile $destination + + $source = "http://slproweb.com/download/Win32OpenSSL-1_0_1L.exe" + + $destination = "C:\ovs-build-downloads\Win32OpenSSL-1_0_1L.exe" + + Invoke-WebRequest $source -OutFile $destination + + cd C:\pthreads-win32 + + 7z x C:\pthreads-win32\pthreads-win32.zip + + cd C:\ovs-build-downloads + + .\Win32OpenSSL-1_0_1L.exe /silent /verysilent /sp- /suppressmsgboxes + + Start-Sleep -s 30 + + cd C:\openvswitch + +build_script: +- '"C:\Program Files (x86)\Microsoft Visual Studio 12.0\Common7\Tools\VsDevCmd"' +- C:\MinGW\msys\1.0\bin\bash -lc "echo \"C:/MinGW /mingw\" > /etc/fstab" +- C:\MinGW\msys\1.0\bin\bash -lc "cp /c/pthreads-win32/Pre-built.2/dll/x86/*.dll /c/openvswitch/." +- C:\MinGW\msys\1.0\bin\bash -lc "mv /bin/link.exe /bin/link_copy.exe" +- C:\MinGW\msys\1.0\bin\bash -lc "cd /c/openvswitch && ./boot.sh" +- C:\MinGW\msys\1.0\bin\bash -lc "cd /c/openvswitch && ./configure CC=build-aux/cccl LD=\"`which link`\" LIBS=-lws2_32 --with-pthread=C:/pthreads-win32/Pre-built.2 --with-openssl=C:/OpenSSL-Win32" +- C:\MinGW\msys\1.0\bin\bash -lc "cd /c/openvswitch && make"