mirror of
https://github.com/ruby/ruby.git
synced 2022-11-09 12:17:21 -05:00
aa30bfd536
* Encrypted slack token. * Only notify when build fails and it recovered. * Only notify trunk build without pull requests. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@59429 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
102 lines
3 KiB
YAML
102 lines
3 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: c
|
|
dist: trusty
|
|
|
|
sudo: false
|
|
|
|
compiler:
|
|
- gcc
|
|
|
|
os:
|
|
- linux
|
|
|
|
before_install:
|
|
- "CONFIG_FLAG="
|
|
- "JOBS=-j`nproc`"
|
|
|
|
before_script:
|
|
- "echo JOBS=$JOBS"
|
|
- "uname -a"
|
|
- "uname -r"
|
|
- "rm -fr .ext autom4te.cache"
|
|
- "echo $TERM"
|
|
- "> config.status"
|
|
- "sed -f tool/prereq.status Makefile.in common.mk > Makefile"
|
|
- "make update-config_files"
|
|
- "make touch-unicode-files"
|
|
- "make -s $JOBS srcs UNICODE_FILES=."
|
|
- "make update-rubyspec"
|
|
- "requests=; for req in ${RUBYSPEC_PULL_REQUEST//,/ }; do
|
|
requests=\"$requests +refs/pull/$req/merge:\";
|
|
done"
|
|
- "${requests:+git -C spec/rubyspec -c user.email=none -c user.name=none pull --no-edit origin $requests}"
|
|
- "${requests:+git -C spec/rubyspec log --oneline origin/master..@}"
|
|
- "rm config.status Makefile rbconfig.rb .rbconfig.time"
|
|
- "mkdir build config_1st config_2nd"
|
|
- "chmod -R a-w ."
|
|
- "chmod u+w build config_1st config_2nd"
|
|
- "cd build"
|
|
- "../configure -C --disable-install-doc --with-gcc=$CC $CONFIG_FLAG"
|
|
- "cp -pr config.cache config.status .ext/include ../config_1st"
|
|
- "make reconfig"
|
|
- "cp -pr config.cache config.status .ext/include ../config_2nd"
|
|
- "(cd .. && exec diff -ru config_1st config_2nd)"
|
|
- "make -s $JOBS"
|
|
|
|
script:
|
|
- "make -s test TESTOPTS=--color=never"
|
|
- "make -s $JOBS test-all -o exts TESTOPTS='-q --color=never --job-status=normal'"
|
|
- "make -s $JOBS test-rubyspec MSPECOPT=-j"
|
|
|
|
# Branch matrix. Not all branches are Travis-ready so we limit branches here.
|
|
branches:
|
|
only:
|
|
- trunk
|
|
- 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}"
|
|
|
|
slack:
|
|
secure: lbYVj0Th1AOxovf44zjMr7v6JgWVcsw4tmK3LhzbdpR6GnPHRkrFxDBykk+tE1346qJJ0YLlyFn3ib3Z4QyttIO00Sg6mqk8NGPjG7DrwUJ6o43Yd1ePZr80W+8Wz20/LVEOAhidJI3LANU2+bWa/VdcHtFT1/Cr+CMrdITD+tI=
|
|
on_pull_requests: false
|
|
on_success: change
|
|
on_failure: always
|
|
|
|
# Local Variables:
|
|
# mode: YAML
|
|
# coding: utf-8-unix
|
|
# indent-tabs-mode: nil
|
|
# tab-width: 4
|
|
# fill-column: 79
|
|
# default-justification: full
|
|
# End:
|