Make hash table operations immutable, because global mutable state is evil
[helenos.git] / .travis.yml
blobe6966db979f0f7e1392d9d05bd1a245b089c7d69
2 # Travis CI configuration notes
3 # -----------------------------
5 # * HelenOS is always built for all architectures
6 #   * that is done using matrix environmental variables
7 #   * the list of architectures has to be kept manually in sync with
8 #     HelenOS.config
9 #   * the actual architecture is specified via H_ARCH variable
11 # * ported software is built when H_HARBOURS is set to true for given
12 #   configuration
13 #   * building ported software takes a lot of time, it is thus impossible
14 #     to build for all architectures
15 #   * some ports are known to fail for certain architectures: because that
16 #     would make the whole build failing, we currently build only for ia32
17 #     that seems to be in the best condition with respect to ported software
18 #   * list of harbours is also maintained manually, look for a variable
19 #     H_DEFAULT_HARBOURS_LIST to allow overriding from within this file
21 # * since the setup is rather complicated we use a dedicated shell script to
22 #   run the actual build process and installation of the cross-compiler
23 #   toolchain
25 # * if you have enabled Travis in your feature branch you may want to change
26 #   some of the settings to better suite your needs
27 #   * reduce number of built architectures (probably not needed)
28 #   * built ported software for a different architecture
29 #     * specify H_HARBOURS=true
30 #     * optionally specify H_HARBOUR_LIST="..." to a list of harbours to be
31 #       built
32 #     * optionally specify H_HARBOURS_REPOSITORY="..." to point to your repo
33 #       with HARBOUR files
36 language: c
37 dist: xenial
38 sudo: required
39 env:
40   global:
41     - CROSS_PREFIX=/usr/local/cross
42   matrix:
43     - H_CCHECK=true
44     - H_ARCH=amd64
45     - H_ARCH=arm32/beagleboardxm
46     - H_ARCH=arm32/beaglebone
47     - H_ARCH=arm32/gta02
48     - H_ARCH=arm32/integratorcp
49     - H_ARCH=arm32/raspberrypi
50     - H_ARCH=arm64/virt
51     - H_ARCH=ia32 H_HARBOURS=true H_HARBOUR_LIST="fdlibm zlib binutils"
52     - H_ARCH=ia64/i460GX
53     - H_ARCH=ia64/ski
54     - H_ARCH=mips32/malta-be
55     - H_ARCH=mips32/malta-le
56     - H_ARCH=mips32/msim
57     - H_ARCH=ppc32
58     - H_ARCH=sparc64/niagara
59     - H_ARCH=sparc64/ultra
60 before_install:
61   - sudo apt-get update -qq
62   - sudo apt-get install -qq genisoimage
63   - sudo apt-get install -qq python3-pip
64   - sudo apt-get install -qq python3-setuptools
65   - pip3 install ninja
66   - pip3 install --force-reinstall meson==0.50.1
67   - ./tools/travis.sh install
68 script:
69   - ./tools/travis.sh run
70 os:
71   - linux
72 notifications:
73   irc:
74     channels:
75       - "chat.freenode.net#helenos"
76     use_notice: false
77     skip_join: true
78     template:
79       - "%{repository_name} (%{commit_message}): %{message}"
80       - "Build details : %{build_url}"