From f658588e12088d4e21f0c02032a57990db189209 Mon Sep 17 00:00:00 2001 From: Tommy Marrinan Date: Fri, 10 Feb 2017 10:51:24 +0000 Subject: [PATCH] Add Appveyor script Appveyor is a CI infrastructure like Travis, but oriented at building on Windows environment, as opposed to Linux and macOS. By using Appveyor we can test changes to Epoxy and make sure that Windows builds won't break. Additionally, Appveyor allows to deploy build artefacts, which means we can generate builds for Epoxy releases. Signed-off-by: Emmanuele Bassi --- appveyor.yml | 67 ++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 67 insertions(+) create mode 100644 appveyor.yml diff --git a/appveyor.yml b/appveyor.yml new file mode 100644 index 0000000..b9b862a --- /dev/null +++ b/appveyor.yml @@ -0,0 +1,67 @@ +version: 1.0.{build} + +image: Visual Studio 2015 + +configuration: Release + +# Configure both 32-bit and 64-bit builds +environment: + matrix: + - platform: x86 + config: Win32 + pout: x86 + - platform: x64 + config: x64 + pout: x64 + +shallow_clone: true + +# Download Meson and Ninja, create install directory +before_build: +- mkdir build +- mkdir libepoxy-shared-%pout% +- cd build +- curl -LsSO https://github.com/mesonbuild/meson/releases/download/0.38.0/meson-0.38.0.tar.gz +- 7z x meson-0.38.0.tar.gz +- move dist\meson-0.38.0.tar . +- 7z x meson-0.38.0.tar +- rmdir dist +- del meson-0.38.0.tar meson-0.38.0.tar.gz +- curl -LsSO https://github.com/ninja-build/ninja/releases/download/v1.7.2/ninja-win.zip +- 7z x ninja-win.zip +- del ninja-win.zip +- cd .. + +# Build and install +build_script: +- cd build +- call "C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\vcvarsall.bat" %PLATFORM% +- C:\Python36\python.exe meson-0.38.0\meson.py .. . --backend=ninja --prefix=%APPVEYOR_BUILD_FOLDER%\libepoxy-shared-%pout% +- ninja +- ninja install +- cd .. + +# Copy license into install directory and create .zip file +after_build: +- copy COPYING libepoxy-shared-%pout% +- dir libepoxy-shared-%pout% /s /b +- 7z a -tzip libepoxy-shared-%pout%.zip libepoxy-shared-%pout% + +artifacts: + - path: libepoxy-shared-%pout%.zip + name: libepoxy-shared-%pout% + +test: off + +# Upload .zip file to GitHub release +deploy: + release: $(APPVEYOR_REPO_TAG_NAME) + description: "Epoxy $(APPVEYOR_REPO_TAG_NAME)" + provider: GitHub + auth_token: + secure: X7Ro8Y2RWYo/M1AAn93f9X0dEQFvu7gPb6li2eKRtzPYLGj/JKm7MNWRw2cCcjm6 + artifact: libepoxy-shared-$(pout) + draft: false + prerelease: false + on: + appveyor_repo_tag: true # deploy on tag push only