Skip to content

Instantly share code, notes, and snippets.

@mossheim
Last active August 18, 2017 16:00
Show Gist options
  • Save mossheim/94252663475facbeb52da63d2d58d017 to your computer and use it in GitHub Desktop.
Save mossheim/94252663475facbeb52da63d2d58d017 to your computer and use it in GitHub Desktop.
notes on supercollider travis setup

notes on travis setup

brian heim

2017-08-18

FILES

.travis.yml
.travis/before-install-osx.sh
.travis/before-install-linux.sh
.travis/before-script-osx.sh
.travis/before-script-linux.sh
.travis/qpm-prep.sh
.travis/script-osx.sh
.travis/script-linux.sh
.travis/test.sh
.travis/package-osx.sh
.travis/fix-non-Qt.sh
testsuite/sclang/launch_test.py
.travis/qpm-prep.sh
.travis/qpm-test.sh

overview

  1. before_install: get correct versions of addons
  2. before_script: perform cmake config
  3. script: build the thing, test the thing. on osx, package the thing
  4. before_deploy: load artefacts into correct spots
  5. deploy: send zip to AWS
  6. after_deploy: print messages
  7. notifications: send email notifications, gitter notifications

TODOs

.travis.yml

  • should use newer versions of xcode

  • try language: cpp

  • try compiler: gcc, clang

  • are QT_PREFIX & QT_PLUGIN_PATH necessary?

  • allow testing even when not building qt

  • use a separate env variable for TEST, not QT

  • check "echo S3 Build Location:" - does it happen?

  • check how notifications works

  • add slack integration

.travis/before-install-osx.sh

  • consider using upgrade instead of update
  • remove installation of python

.travis/before-install-linux.sh

  • add new versions of gcc
  • gcc version can be specified in build matrix

.travis/before-script-osx.sh

  • add supernova=ON

.travis/before-script-linux.sh

  • consider using Debug if not a release build? (what do other projects do?)

.travis/qpm-prep.sh

  • consider removing when switching tests

.travis/script-osx.sh

  • just does build phase

.travis/script-linux.sh

  • just does build phase

.travis/test.sh

  • exports sclang stuff
  • runs fix-non-Qt.sh script when qt is false
  • calls launch_test.py
  • if qt true, calls qpm-test.sh
  • TODO: fix non-Qt builds
  • TODO: run supernova tests

.travis/package-osx.sh

  • just creates an artifacts dir, places zip build in there

.travis/package-osx.sh

  • just creates an artifacts dir, places zip build in there

.travis/fix-non-Qt.sh

  • moves two files. TODO: can we fix this upstream?

testsuite/sclang/launch_test.py

  • tries to launch sclang and checks if there are errors

.travis/qpm-prep.sh

  • checks out qpm & CommonTests & CommonTestsGUI

.travis/qpm-test.sh

  • calls qpm

EXPERIMENTS

travis/lang-cpp

  • set language: cpp
  • result: success, but not faster/slower

travis/lang-cpp-compilers

  • set language: cpp
  • add compiler: clang
  • result: failure on clang builds, because QT not set

travis/no-qt-env-vars

  • remove QT_PREFIX and QT_PLUGIN_PATH env vars
  • result: success
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment