appveyor: Provide a autobuild service for Windows.
authorGurucharan Shetty <gshetty@nicira.com>
Thu, 5 Feb 2015 17:49:26 +0000 (09:49 -0800)
committerGurucharan Shetty <gshetty@nicira.com>
Thu, 5 Feb 2015 19:21:16 +0000 (11:21 -0800)
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 <gshetty@nicira.com>
INSTALL.Windows.md
Makefile.am
appveyor.yml [new file with mode: 0644]

index 9b4537c..138d1bb 100644 (file)
@@ -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
 ----
index 3e5e0b2..28496b3 100644 (file)
@@ -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 (file)
index 0000000..32a0524
--- /dev/null
@@ -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"