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 <ebassi@gnome.org>
macos/v1.5.9
Tommy Marrinan 8 years ago committed by Emmanuele Bassi
parent baa76b69c4
commit f658588e12
  1. 67
      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
Loading…
Cancel
Save