github.com/billybanfield/evergreen@v0.0.0-20170525200750-eeee692790f7/model/testdata/matrix_python.yml (about) 1 # This is a simple matrix definition for our new python driver "Mongython". 2 # We have several test suites (not defined in this example) we would like to run 3 # on combinations of operating system, python interpreter, and the inclusion of 4 # python C extensions. 5 6 axes: 7 # we test our fake python driver on Linux and Windows 8 - id: os 9 display_name: "OS" 10 values: 11 - id: linux 12 display_name: "Linux" 13 run_on: centos6-perf 14 - id: windows 15 display_name: "Windows 95" 16 run_on: windows95-test 17 18 # we run our tests against python 2.6 and 3.0, along with 19 # external implementations pypy and jython 20 - id: python 21 display_name: "Python Implementation" 22 values: 23 - id: "python26" 24 display_name: "2.6" 25 variables: 26 # this variable will be used to tell the tasks what executable to run 27 pybin: "/path/to/26" 28 - id: "python3" 29 display_name: "3.0" 30 variables: 31 pybin: "/path/to/3" 32 - id: "pypy" 33 display_name: "PyPy" 34 variables: 35 pybin: "/path/to/pypy" 36 - id: "jython" 37 display_name: "Jython" 38 variables: 39 pybin: "/path/to/jython" 40 41 # we must test our code both with and without C libraries 42 - id: c-extensions 43 display_name: "C Extensions" 44 values: 45 - id: "with-c" 46 display_name: "with C extensions" 47 variable: 48 # this variable tells a test whether or not to link against C code 49 use_c: true 50 - id: "without-c" 51 display_name: "without C extensions" 52 variable: 53 use_c: false 54 55 buildvariants: 56 - matrix_name: "tests" 57 matrix_spec: {"os": "*", "python": "*", "c-extensions": "*"} 58 exclude_spec: 59 # pypy and jython do not support C extensions, so we disable those variants 60 python: ["pypy", "jython"] 61 c-extensions: with-c 62 os: "*" 63 display_name: "${os} Python ${python} (${c-extensions})" 64 tasks : "!.static" 65 rules: 66 # let's say we have an LDAP auth task that requires a C library to work on Windows, 67 # here we can remove that task for all windows variants without c extensions 68 - if: 69 os: windows 70 c-extensions: "without-c" 71 python: "*" 72 then: 73 remove_tasks: ".ldap" 74 # let's only run "lint" on one of our variants 75 - if: 76 os: linux 77 c-extensions: "with-c" 78 python: "python3" 79 then: 80 add_tasks: "lint" 81 82 tasks: 83 - name: compile 84 - name: lint 85 tags: "static" 86 - name: unit 87 - name: integration_26 88 - name: integration_30 89 - name: integration_32 90 - name: integration_34 91 - name: ssl_auth 92 tags: ["auth"] 93 - name: ldap_auth 94 tags: ["auth", "ldap"]