From 6f6a0095eed0b94d03f1655f11e42f334515b66e Mon Sep 17 00:00:00 2001 From: arturo castro Date: Sun, 15 Apr 2018 13:05:27 +0200 Subject: [PATCH] Adding travis and appveyor cotinuous integration tests This is an automated pull request that enables continuous integration testing for openFrameworks addons. [1](#footnote1) Before merging this PR you'll need to create an account on https://travis-ci.org and https://ci.appveyor.com using your github account and enable the tests for this repository there. Once you have created an account at travis.org you can enable tests for this addon at https://travis-ci.org/prisonerjohn/ofxSet And for windows at https://ci.appveyor.com/projects/new This PR includes test files for travis and appveyor ci services, once you merge it any new commit or PR to your repository will compile this addon for every supported platform against the latest openFrameworks. This new files can be customized but we recommend to not touch them much except for commenting or uncommenting the different platfoms to test. That way we can ensure that the addon will work for any standard setup. The testing can be further customized (for example to install some dependencies in certain platforms by using some scripts in scripts/platforms there's more instructions on how to use them in the .travis.yml and appveyor.yml files in this PR. Once your addon tests are working you can add a badge to your readme files so people using your addon can see the build status: For travis you can just copy and paste the following markdown: ``` [![Build status](https://travis-ci.org/prisonerjohn/ofxSet.svg?branch=master)](https://travis-ci.org/prisonerjohn/ofxSet) ``` which will look like: [![Build status](https://travis-ci.org/prisonerjohn/ofxSet.svg?branch=master)](https://travis-ci.org/prisonerjohn/ofxSet) For appveyor you can find the badge code at https://ci.appveyor.com/project/prisonerjohn/ofxSet/settings/badges If you have any doubt you can ask directly in this PR or in the openFrameworks forum [1] We believe this repository contains an openFrameworks addon because it's name starts with ofx, it has a src/ofxSet.h file, has c, c++ or objc source in an src folder, any of the present c or c++ source files includes an openFrameworks header and has a readme file that mentions openframeworks. If this repository isn't really an openFrameworks addon, it is but it's not maintained anymore or you are simply not interested in testing it, we are really sorry for bothering you. You can just close or ignore this PR and no further communications will be sent to this repository. --- .appveyor.yml | 39 ++++++++++ .travis.yml | 199 ++++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 238 insertions(+) create mode 100644 .appveyor.yml create mode 100644 .travis.yml diff --git a/.appveyor.yml b/.appveyor.yml new file mode 100644 index 0000000..1dfcbef --- /dev/null +++ b/.appveyor.yml @@ -0,0 +1,39 @@ +version: 1.0.{build} +os: Visual Studio 2015 RC + +environment: + global: + APPVEYOR_OS_NAME: windows + matrix: + #MSYS2 Building + - platform: x86 + BUILDER: MSYS2 + + #VisualStudio Building + - platform: x86 + BUILDER : VS + BITS: 32 + - platform: x64 + BUILDER : VS + BITS: 64 + +configuration: Debug +shallow_clone: true +clone_depth: 10 +init: +- set MSYS2_PATH=c:\msys64 +- set CHERE_INVOKING=1 +- if "%BUILDER%_%PLATFORM%"=="MSYS2_x86" set MSYSTEM=MINGW32 +- if "%BUILDER%_%PLATFORM%"=="MSYS2_x64" set MSYSTEM=MINGW64 +- if "%BUILDER%"=="VS" set PATH=C:\Program Files (x86)\MSBuild\14.0\Bin;%PATH% + +install: +- cd .. +- git clone --depth=1 --branch=master https://github.com/openframeworks/openFrameworks +- call openFrameworks\scripts\ci\addons\install.cmd + +build_script: +- cd %OF_PATH% +- scripts\ci\addons\build.cmd + + diff --git a/.travis.yml b/.travis.yml new file mode 100644 index 0000000..c4b3e2e --- /dev/null +++ b/.travis.yml @@ -0,0 +1,199 @@ +# This file allows testing your addon using travis CI servers to use it you'll need to +# create an account in travis.org and enable your addon there. +# +# By default it will test linux 64bit and osx against the master and stable OF branches. +# Other platforms can be enabled by uncommenting the corresponding sections. +# +# If any extra install is needed to use the addon it can be included in the corresponding +# install script in: +# +# scripts/ci/$TARGET/install.sh +# + + +language: c++ +compiler: gcc +sudo: true +matrix: + include: + # fully specify builds, include can't dynamically expand matrix entries + # relative order of sudo and env is important so that addons: is recognized + +# Linux 64bit, OF master + - os: linux + dist: trusty + sudo: required + env: TARGET="linux64" OF_BRANCH="master" + addons: + apt: + sources: + - ubuntu-toolchain-r-test + packages: + - gcc-4.9 + - g++-4.9 + - gdb + +# Linux 64bit, OF stable: Not supported yet +# - os: linux +# dist: trusty +# sudo: required +# env: TARGET="linux64" OF_BRANCH="stable" +# addons: +# apt: +# sources: +# - ubuntu-toolchain-r-test +# packages: +# - gcc-4.9 +# - g++-4.9 +# - gdb + +# OSX, OF master + - os: osx + osx_image: xcode8 + compiler: clang + env: TARGET="osx" OF_BRANCH="master" + +# OSX, OF stable: Not supported yet +# - os: osx +# osx_image: xcode8 +# compiler: clang +# env: TARGET="osx" OF_BRANCH="stable" + +# Linux ARM6, OF master: Uncomment following lines to enable +# - os: linux +# sudo: required +# dist: trusty +# env: TARGET="linuxarmv6l" OF_BRANCH="master" + + +# Linux ARM6, OF stable: Not supported yet +# - os: linux +# sudo: required +# dist: trusty +# env: TARGET="linuxarmv6l" OF_BRANCH="stable" + +# Linux ARM7, OF master: Uncomment following lines to enable +# - os: linux +# sudo: false +# env: TARGET="linuxarmv7l" OF_BRANCH="master" +# cache: +# directories: +# - ~/rpi2_toolchain +# - ~/firmware-master +# - ~/archlinux + +# Linux ARM7, OF stable: Not supported yet +# - os: linux +# sudo: false +# env: TARGET="linuxarmv7l" OF_BRANCH="stable" +# cache: +# directories: +# - ~/rpi2_toolchain +# - ~/firmware-master +# - ~/archlinux + + +# Emscripten, OF master: Uncomment following lines to enable +# - os: linux +# sudo: false +# env: TARGET="emscripten" OF_BRANCH="master" +# addons: +# apt: +# sources: +# - ubuntu-toolchain-r-test +# packages: +# - libstdc++6 + + +# Emscripten, OF stable: Not supported yet +# - os: linux +# sudo: false +# env: TARGET="emscripten" OF_BRANCH="stable" +# addons: +# apt: +# sources: +# - ubuntu-toolchain-r-test +# packages: +# - libstdc++6 + + +# iOS, OF master: Not supported yet +# - os: osx +# osx_image: xcode8 +# compiler: clang +# env: TARGET="ios" OF_BRANCH="master" + + +# iOS, OF stable: Not supported yet +# - os: osx +# osx_image: xcode8 +# compiler: clang +# env: TARGET="ios" OF_BRANCH="stable" + + +# tvOS, OF master: Not supported yet +# - os: osx +# osx_image: xcode8 +# compiler: clang +# env: TARGET="tvos" OF_BRANCH="master" + + +# tvOS, OF stable: Not supported yet +# - os: osx +# osx_image: xcode8 +# compiler: clang +# env: TARGET="tvos" OF_BRANCH="stable" + + +# Android armv7, OF master: Uncomment following lines to enable +# - os: linux +# sudo: false +# env: TARGET="android" OPT="armv7" OF_BRANCH="master" +# cache: +# directories: +# - ~/android-ndk-r12b + + +# Android armv7, OF stable: Not supported yet +# - os: linux +# sudo: false +# env: TARGET="android" OPT="armv7" OF_BRANCH="stable" +# cache: +# directories: +# - ~/android-ndk-r12b + + +# Android x86, OF master: Uncomment following lines to enable +# - os: linux +# sudo: false +# env: TARGET="android" OPT="x86" OF_BRANCH="master" +# cache: +# directories: +# - ~/android-ndk-r12b + + +# Android x86, OF stable: Not supported yet +# - os: linux +# sudo: false +# env: TARGET="android" OPT="x86" OF_BRANCH="stable" +# cache: +# directories: +# - ~/android-ndk-r12b + + + # Exclude the default build that would otherwise be generated + # see https://github.com/travis-ci/travis-ci/issues/1228 + exclude: + - compiler: gcc + +install: + - cd ~ + - git clone --depth=1 --branch=$OF_BRANCH https://github.com/openframeworks/openFrameworks + - cd openFrameworks + - scripts/ci/addons/install.sh + +script: + - scripts/ci/addons/build.sh + +git: + depth: 10