# Copyright (C) 2011 Urabe, Shyouhei.  All rights reserved.
#
# This file is  a part of the programming language  Ruby.  Permission is hereby
# granted,  to either  redistribute  or  modify this  file,  provided that  the
# conditions  mentioned in  the file  COPYING are  met.  Consult  the  file for
# details.

# This is  a Travis-CI  build configuration file.   The list  of configurations
# available is located in
#
#     http://about.travis-ci.org/docs/user/build-configuration/
#
# and as Ruby itself is a project written in C language,
#
#     http://about.travis-ci.org/docs/user/languages/c/
#
# is also a good place to look at.

language: c

sudo: false

compiler:
  - gcc

os:
  - linux

before_install:
  - "CONFIG_FLAG="
  - "JOBS='-j 4'"

before_script:
  - "uname -a"
  - "uname -r"
  - "rm -fr .ext autom4te.cache"
  - "echo $TERM"
  - "make -f common.mk BASERUBY=ruby MAKEDIRS='mkdir -p' srcdir=. update-config_files"
  - "autoconf"
  - "mkdir config_1st config_2nd"
  - "./configure -C --disable-install-doc --with-gcc=$CC $CONFIG_FLAG"
  - "cp -pr config.status .ext/include config_1st"
  - "make reconfig"
  - "cp -pr config.status .ext/include config_2nd"
  - "diff -ru config_1st config_2nd"
  - "make after-update BASERUBY=ruby"
  - "make -s $JOBS"
  - "make update-rubyspec"

script:
  - "make test TESTOPTS=--color=never"
  - "make test-all TESTOPTS='-q -j3 --color=never --job-status=normal'"
  - "make test-rubyspec MSPECOPT=-fm"

# Branch matrix.  Not all branches are Travis-ready so we limit branches here.
branches:
  only:
    - trunk
    - ruby_2_1
    - ruby_2_2
    - ruby_2_3
    - ruby_2_4
    - /^feature\//
    - /^bug\//

# We want to be notified when something happens.
notifications:
  irc:
    channels:
      - "chat.freenode.net#ruby-core"
      - "chat.freenode.net#ruby-ja"
    on_success: change # [always|never|change] # default: always
    on_failure: always # [always|never|change] # default: always
    template:
      - "%{message} by @%{author}: See %{build_url}"

  email:
    - ko1c-failure@atdot.net
    - shibata.hiroshi@gmail.com

# Local Variables:
# mode: YAML
# coding: utf-8-unix
# indent-tabs-mode: nil
# tab-width: 4
# fill-column: 79
# default-justification: full
# End:
