From 34905085582cd3ef111e5eed19780840825b1891 Mon Sep 17 00:00:00 2001 From: Jeff Waugh Date: Sat, 1 Apr 2017 14:49:22 +1100 Subject: [PATCH 1/3] Travis CI --- .travis.yml | 44 ++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 44 insertions(+) create mode 100644 .travis.yml diff --git a/.travis.yml b/.travis.yml new file mode 100644 index 000000000..17829ed1e --- /dev/null +++ b/.travis.yml @@ -0,0 +1,44 @@ +sudo: false +language: rust +cache: cargo + +os: + - linux + - osx + +rust: + - stable + - beta + - nightly + +addons: + apt: + sources: + - george-edison55-precise-backports + packages: + # Newer cmake required on precise + - cmake + - cmake-data + # Pathfinder requires some X libraries + - libxcursor-dev + - libxinerama-dev + - libxrandr-dev + - libxxf86vm-dev + +env: + global: + - TRAVIS_CARGO_NIGHTLY_FEATURE="" + +before_script: + - pip install 'travis-cargo<0.2' --user + - export PATH=$HOME/Library/Python/2.7/bin:$PATH # required for osx + +script: + - travis-cargo build -- --release + - travis-cargo --only nightly test -- --release + - travis-cargo --only stable doc -- --release + - travis-cargo bench + +notifications: + email: + on_success: never From b2c6ae70451b3885d0ae5fa61e64ad654cdc5001 Mon Sep 17 00:00:00 2001 From: Jeff Waugh Date: Sat, 1 Apr 2017 15:52:27 +1100 Subject: [PATCH 2/3] Appveyor --- appveyor.yml | 59 ++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 59 insertions(+) create mode 100644 appveyor.yml diff --git a/appveyor.yml b/appveyor.yml new file mode 100644 index 000000000..3e6c7f2e2 --- /dev/null +++ b/appveyor.yml @@ -0,0 +1,59 @@ +environment: + PYTHON: "C:\\Python35-x64" + ARCH: amd64 + # Note: You can't set empty environment variables on Windows, + # c.f. https://github.com/huonw/travis-cargo/issues/33 + TRAVIS_CARGO_NIGHTLY_FEATURE: "" + matrix: + # There is no rust-stable-$TARGET.exe! + - TARGET: x86_64-pc-windows-msvc + BRANCH: stable + VS: C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\vcvarsall.bat + - TARGET: x86_64-pc-windows-msvc + BRANCH: beta + VS: C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\vcvarsall.bat + # Note: See issue with TRAVIS_CARGO_NIGHTLY_FEATURE above + # - TARGET: x86_64-pc-windows-msvc + # BRANCH: nightly + # VS: C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\vcvarsall.bat + - TARGET: x86_64-pc-windows-gnu + MSYS_BITS: 64 + BRANCH: stable + +cache: + - "%USERPROFILE%\\.cargo" + - target + +install: + # Rust + - ps: Start-FileDownload "https://static.rust-lang.org/rustup/dist/i686-pc-windows-gnu/rustup-init.exe" + - rustup-init.exe -y --default-toolchain="%BRANCH%-%TARGET%" + - set PATH=%PATH%;%HOMEPATH%\.cargo\bin + - if defined VS call "%VS%" %ARCH% + - if defined MSYS_BITS set PATH=%PATH%;C:\msys64\mingw%MSYS_BITS%\bin;C:\msys64\usr\bin + + # What are we building with? + - where rustc cargo cl gcc + - rustc -vV + - cargo -vV + + # travis-cargo + # Note: Where do --user binaries end up? Installing globally for now + - "%PYTHON%\\python.exe -m pip install travis-cargo^<0.2" + - set PATH=%PATH%;%PYTHON%\Scripts + +build: off + +test_script: + - "%CMD_IN_ENV% travis-cargo.exe build -- --release" + - "%CMD_IN_ENV% travis-cargo.exe --only nightly test -- --release" + - "%CMD_IN_ENV% travis-cargo.exe --only stable doc -- --release" + - "%CMD_IN_ENV% travis-cargo.exe bench" + +after_test: + # Build lorem-ipsum example to distribute as an artifact + - "%CMD_IN_ENV% travis-cargo.exe build -- --release --example lorem-ipsum" + +artifacts: + - path: target\release\examples\lorem-ipsum.exe + name: lorem-ipsum From d5da7fdcfa64406dd8a80c309572c4a721fb0ce3 Mon Sep 17 00:00:00 2001 From: Jeff Waugh Date: Sat, 1 Apr 2017 17:27:39 +1100 Subject: [PATCH 3/3] Badges --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index e893abb7c..359cd52ee 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,4 @@ -# Pathfinder +# Pathfinder [![Build Status](https://travis-ci.org/jdub/pathfinder.svg?branch=travis-ci)](https://travis-ci.org/jdub/pathfinder) [![Build status](https://ci.appveyor.com/api/projects/status/41o9gfvmhrf2w0q9?svg=true)](https://ci.appveyor.com/project/jdub/pathfinder) Pathfinder is a fast, practical GPU-based rasterizer for OpenType fonts using OpenGL 4.3. It features: