Switch branches/tags
Nothing to show
Find file Copy path
Fetching contributors…
Cannot retrieve contributors at this time
64 lines (45 sloc) 3.49 KB


Build Status Build status

Helpers (and wikis) to easily test haxe code on travis. These scripts are an abstraction from @andyli's work on getting Travis to work with all Haxe targets



Copy travis-example.yml to your project as .travis.yml, customize as needed.


Copy appveyor-example.yml to your project as appveyor.yml, customize as needed.

Environment variables

The following environment variables are sensitive by the script runtime:


Defines the setup to be configured. This has exactly a 1:1 correspondence with the haxe target defined by the command-line


The target file (or directory) as specified by the haxe build.


If you decide to build using hx-travis' build scripts, use this flag to configure the flags used to call the haxe compiler


Again if you decide to build using hx-travis' build scripts, you can use this flag to determine target-specific options. Please note that if you override this you must include the target path and name. For example, if you want -D nodejs on a js app, you need to set HXFLAGS_EXTRA AS HXFLAGS_EXTRA=" -D nodejs -js js.js"


Defines the OS and architecture to be used as test. The following combinations may be used:

ARCH OS Description Implemented targets
x86_64* Linux 64-bit all; flash is always 32-bit
x86_64* Mac 64-bit all; flash is always 32-bit
i686 Linux 32-bit haxe, neko, js (node and phantomjs), php, cpp, c#, java
i686 Mac 32-bit cpp
i686 Windows 32-bit (AppVeyor) haxe, neko, cpp, java, cs, js (node only)
x86_64 Windows 64-bit (AppVeyor) cpp, java(default), cs(default), python


If applicable, specifies a custom toolchain to be used for building / running. Default is always default

Linux x86_64 js node*
Linux x86_64 js browser (1)


On non-sys platforms (example: flash, browser javascript, etc), the exit code can't be used to determine if a test ended successfully or not. Instead, the program at EVAL_TEST_CMD environment variable will be used. If no program is defined, the default program will be used. This will work with both utest (if compiling with -D travis) and buddy (if compiling with -D reporter=buddy.reporting.TravisHxReporter). Please note that you can fool the eval test quite easily for now - for example by tracing success: true while in a test.


Some functionality that are still to be implemented. Pull requests are very welcome:

  • toolchain: cpp - android
  • toolchain: cpp - iOs
  • toolchain: cpp - clang
  • Haxe 3.0 / 3.2 / 2.10 toolchains (allow to not use always the latest haxe)
  • Neko 1.8 / 2.0