# 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: ruby:69mfLJaJVptlspU8HTQv1DhM # Local Variables: # mode: YAML # coding: utf-8-unix # indent-tabs-mode: nil # tab-width: 4 # fill-column: 79 # default-justification: full # End: