mirror of
				https://github.com/ruby/ruby.git
				synced 2022-11-09 12:17:21 -05:00 
			
		
		
		
	git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@51807 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
		
			
				
	
	
		
			114 lines
		
	
	
	
		
			4.2 KiB
		
	
	
	
		
			YAML
		
	
	
	
	
	
			
		
		
	
	
			114 lines
		
	
	
	
		
			4.2 KiB
		
	
	
	
		
			YAML
		
	
	
	
	
	
# 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 specification.
 | 
						|
language: c
 | 
						|
 | 
						|
# Compilers.  Several  compilers are  provided in Travis,  so we try  them all.
 | 
						|
# The value set here is visible via $CC environment variable.
 | 
						|
compiler:
 | 
						|
  - gcc
 | 
						|
  - clang
 | 
						|
 | 
						|
os:
 | 
						|
  - linux
 | 
						|
  - osx
 | 
						|
 | 
						|
# Dependencies.  Some  header files are missing  in a Travis' worker  VM, so we
 | 
						|
# have  to install  them.  The  "1.9.1" here  is OK.   It is  the  most adopted
 | 
						|
# version string  for Debian/Ubuntu, and  no dependencies have been  changed so
 | 
						|
# far since the 1.9.1 release.
 | 
						|
before_install:
 | 
						|
  - "CONFIG_FLAG="
 | 
						|
  - "if [[ $TRAVIS_OS_NAME = 'linux' ]]; then sudo apt-get -qq update; fi"
 | 
						|
  # Travis ships an outdated, broken version of libssl by default
 | 
						|
  - "if [[ $TRAVIS_OS_NAME = 'linux' ]]; then sudo apt-get -qq --only-upgrade install '^libssl.*'; fi"
 | 
						|
  - "if [[ $TRAVIS_OS_NAME = 'linux' ]]; then sudo apt-get -qq install $CC; fi" # upgrade if any
 | 
						|
  - "if [[ $TRAVIS_OS_NAME = 'linux' ]]; then JOBS='-j'; fi"
 | 
						|
  - "if [[ $TRAVIS_OS_NAME = 'osx' ]]; then brew install autoconf gdbm openssl; fi"
 | 
						|
  - "if [[ $TRAVIS_OS_NAME = 'osx' ]]; then CONFIG_FLAG=\"$CONFIG_FLAG --with-gdbm-dir=`brew --prefix gdbm`\"; fi"
 | 
						|
  - "if [[ $TRAVIS_OS_NAME = 'osx' ]]; then CONFIG_FLAG=\"$CONFIG_FLAG --with-openssl-dir=`brew --prefix openssl`\"; fi"
 | 
						|
  - "if [[ $TRAVIS_OS_NAME = 'osx' && $CC = 'gcc' ]]; then CC='gcc-4.9'; fi"
 | 
						|
install: "if [[ $TRAVIS_OS_NAME = 'linux' ]]; then sudo apt-get -qq build-dep ruby1.9.1 2>/dev/null; fi"
 | 
						|
 | 
						|
# Script is where the test runs.  Note  we just do "make test", not other tests
 | 
						|
# like  test-all, test-rubyspec.   This is  because  they take  too much  time,
 | 
						|
# enough for Travis to shut down the VM as being stalled.
 | 
						|
before_script:
 | 
						|
  - "if [[ $TRAVIS_OS_NAME = 'osx' ]]; then rm -f ~/Library/Logs/DiagnosticReports/ruby_*.crash; fi"
 | 
						|
  - "uname -a"
 | 
						|
  - "uname -r"
 | 
						|
  - "rm -fr .ext autom4te.cache"
 | 
						|
  - "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 encs"
 | 
						|
  - "make -s $JOBS exts"
 | 
						|
  - "make update-rubyspec"
 | 
						|
  - "if [[ $TRAVIS_OS_NAME = 'osx' ]]; then echo 'exclude :test_deadlock_by_signal_at_forking, \"under investigation\"' >> test/excludes/TestProcess.rb; fi"
 | 
						|
script:
 | 
						|
  - "make test"
 | 
						|
  - "make test-all TESTOPTS='-q -j2'"
 | 
						|
  - "make test-rubyspec"
 | 
						|
after_failure:
 | 
						|
  - "if [[ $TRAVIS_OS_NAME = 'osx' ]]; then find ~/Library/Logs/DiagnosticReports -type f -name ruby_\\*.crash -ls -execdir cat {} \\; -delete; fi"
 | 
						|
 | 
						|
# Branch matrix.  Not all branches are Travis-ready so we limit branches here.
 | 
						|
branches:
 | 
						|
  only:
 | 
						|
    - trunk
 | 
						|
    - ruby_2_0_0
 | 
						|
    - ruby_2_1
 | 
						|
    - ruby_2_2
 | 
						|
 | 
						|
# We want to be notified when something happens.
 | 
						|
notifications:
 | 
						|
  irc:
 | 
						|
    channels:
 | 
						|
      - "irc.freenode.org#ruby-core"
 | 
						|
      - "irc.freenode.org#ruby-ja"
 | 
						|
    on_success: change # [always|never|change] # default: always
 | 
						|
    on_failure: change # [always|never|change] # default: always
 | 
						|
    template:
 | 
						|
      - "%{message} by @%{author}: See %{build_url}"
 | 
						|
 | 
						|
  # Update ruby-head installed on Travis CI so other projects can test against it.
 | 
						|
  webhooks:
 | 
						|
    urls:
 | 
						|
      - "https://rubies.travis-ci.org/rebuild/ruby-head"
 | 
						|
    on_success: always
 | 
						|
    on_failure: never
 | 
						|
 | 
						|
  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:
 |