Fork us on GitHub Follow us on Facebook Follow us on Twitter

Changeset 03cfe2ec in mainline


Ignore:
Timestamp:
2018-01-26T07:41:31Z (4 years ago)
Author:
GitHub <noreply@…>
Branches:
lfn, master, serial
Children:
07457d6, 133ff9d, e9dba436
Parents:
1ab3c4b
git-author:
Vojtech Horky <vojtech.horky@…> (2018-01-26 07:41:31)
git-committer:
GitHub <noreply@…> (2018-01-26 07:41:31)
Message:

Travis CI improvements (#16)

Several improvements of the CI process. The dashboard is less cluttered as less variables are set. Ported software is built too. But only for ia32 as that seems to be the most healthy platform in this context. Overall, this should provide shorter feedback than the nightly builds.

Due to complexity of the building process (especially when ported software is compiled) a separate script is used with Travis CI to control the build. See comments in .travis.yml for details how to customize what is being built (if you plan to use it on your feature branches).

Files:
1 added
1 edited

Legend:

Unmodified
Added
Removed
  • .travis.yml

    r1ab3c4b r03cfe2ec  
     1#
     2# Travis CI configuration notes
     3# -----------------------------
     4#
     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
     10#
     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
     20#
     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
     24#
     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
     34#
     35
    136language: c
    2 
     37sudo: required
    338env:
    439  global:
    540    - CROSS_PREFIX=/usr/local/cross-static/
    641  matrix:
    7     - HELENOS_ARCH=amd64 HELENOS_TARGET=amd64-unknown-elf HELENOS_OUTPUT=image.iso
    8     - HELENOS_ARCH=arm32/beagleboardxm HELENOS_TARGET=arm-linux-gnueabi HELENOS_OUTPUT=uImage.bin
    9     - HELENOS_ARCH=arm32/beaglebone HELENOS_TARGET=arm-linux-gnueabi HELENOS_OUTPUT=uImage.bin
    10     - HELENOS_ARCH=arm32/gta02 HELENOS_TARGET=arm-linux-gnueabi HELENOS_OUTPUT=uImage.bin
    11     - HELENOS_ARCH=arm32/integratorcp HELENOS_TARGET=arm-linux-gnueabi HELENOS_OUTPUT=image.boot
    12     - HELENOS_ARCH=arm32/raspberrypi HELENOS_TARGET=arm-linux-gnueabi HELENOS_OUTPUT=uImage.bin
    13     - HELENOS_ARCH=ia32 HELENOS_TARGET=i686-pc-linux-gnu HELENOS_OUTPUT=image.iso
    14     - HELENOS_ARCH=ia64/i460GX HELENOS_TARGET=ia64-pc-linux-gnu HELENOS_OUTPUT=image.boot
    15     - HELENOS_ARCH=ia64/ski HELENOS_TARGET=ia64-pc-linux-gnu HELENOS_OUTPUT=image.boot
    16     - HELENOS_ARCH=mips32/malta-be HELENOS_TARGET=mips-linux-gnu HELENOS_OUTPUT=image.boot
    17     - HELENOS_ARCH=mips32/malta-le HELENOS_TARGET=mipsel-linux-gnu HELENOS_OUTPUT=image.boot
    18     - HELENOS_ARCH=mips32/msim HELENOS_TARGET=mipsel-linux-gnu HELENOS_OUTPUT=image.boot
    19     - HELENOS_ARCH=ppc32 HELENOS_TARGET=ppc-linux-gnu HELENOS_OUTPUT=image.iso
    20     - HELENOS_ARCH=sparc64/niagara HELENOS_TARGET=sparc64-linux-gnu HELENOS_OUTPUT=image.iso
    21     - HELENOS_ARCH=sparc64/ultra HELENOS_TARGET=sparc64-linux-gnu HELENOS_OUTPUT=image.iso
    22 
     42    - H_ARCH=amd64
     43    - H_ARCH=arm32/beagleboardxm
     44    - H_ARCH=arm32/beaglebone
     45    - H_ARCH=arm32/gta02
     46    - H_ARCH=arm32/integratorcp
     47    - H_ARCH=arm32/raspberrypi
     48    - H_ARCH=ia32 H_HARBOURS=true
     49    - H_ARCH=ia64/i460GX
     50    - H_ARCH=ia64/ski
     51    - H_ARCH=mips32/malta-be
     52    - H_ARCH=mips32/malta-le
     53    - H_ARCH=mips32/msim
     54    - H_ARCH=ppc32
     55    - H_ARCH=sparc64/niagara
     56    - H_ARCH=sparc64/ultra
    2357before_install:
    24  - sudo apt-get -qq update
    25  - sudo apt-get install -y genisoimage
    26  - wget http://ci.helenos.org/download/helenos-cross-$HELENOS_TARGET.static.tar.xz -O /tmp/cross-$HELENOS_TARGET.static.tar.xz
    27  - sudo mkdir -p /usr/local/cross-static/
    28  - sudo tar -xJ -C /usr/local/cross-static/ -f /tmp/cross-$HELENOS_TARGET.static.tar.xz
    29 
     58 - ./tools/travis.sh install
    3059script:
    31  - make PROFILE=$HELENOS_ARCH HANDS_OFF=y
    32  - test -s $HELENOS_OUTPUT
    33 
     60 - ./tools/travis.sh run
    3461os:
    35 - linux
     62 - linux
Note: See TracChangeset for help on using the changeset viewer.