-
Notifications
You must be signed in to change notification settings - Fork 62
/
.travis.yml
118 lines (106 loc) · 3.42 KB
/
.travis.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
# -*- 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.
# When you see Travis CI issues, or you are interested in understanding how to
# manage, please check the link below.
# https://github.com/ruby/ruby/wiki/CI-Servers#travis-ci
# We enable Travis on the specific branches or forked repositories here.
# https://docs.travis-ci.com/user/conditions-v1
if: >-
(fork OR branch = master OR branch =~ /^ruby_\d_\d$/)
AND (commit_message !~ /(\[DOC\]|Document)/)
AND NOT (type = 'push' AND sender =~ /\[bot\]/)
language: c
os: linux
dist: jammy
git:
quiet: true
env:
global:
- NPROC="$(nproc)"
- JOBS="-j${NPROC}"
# https://github.com/travis-ci/travis-build/blob/e411371dda21430a60f61b8f3f57943d2fe4d344/lib/travis/build/bash/travis_apt_get_options.bash#L7
- travis_apt_get_options='--allow-downgrades --allow-remove-essential --allow-change-held-packages'
- travis_apt_get_options="-yq --no-install-suggests --no-install-recommends $travis_apt_get_options"
# -g0 disables backtraces when SEGV. Do not set that.
- debugflags=-ggdb3
- RUBY_TESTOPTS="$JOBS -q --tty=no"
.org.ruby-lang.ci.matrix-definitions:
- &gcc-11
compiler: gcc-11
before_install:
- tool/travis_retry.sh sudo bash -c "rm -rf '${TRAVIS_ROOT}/var/lib/apt/lists/'* && exec apt-get update -yq"
- >-
tool/travis_retry.sh sudo -E apt-get $travis_apt_get_options install
gcc-11
g++-11
libffi-dev
libncurses-dev
libncursesw5-dev
libreadline-dev
libssl-dev
libyaml-dev
openssl
zlib1g-dev
- gcc-11 --version
- &arm64-linux
name: arm64-linux
arch: arm64
<<: *gcc-11
- &ppc64le-linux
name: ppc64le-linux
arch: ppc64le
<<: *gcc-11
- &s390x-linux
name: s390x-linux
arch: s390x
<<: *gcc-11
env:
# Avoid possible test failures with the zlib applying the following patch
# on s390x CPU architecture.
# https://github.com/madler/zlib/pull/410
- DFLTCC=0
matrix:
include:
- <<: *arm64-linux
- <<: *ppc64le-linux
- <<: *s390x-linux
allow_failures:
# The arm64 is very slow to start the jobs.
- name: arm64-linux
- name: ppc64le-linux
- name: s390x-linux
fast_finish: true
before_script:
- lscpu
- ./autogen.sh
- mkdir build
- cd build
- ../configure -C --disable-install-doc --prefix=$(pwd)/install
- make -s $JOBS
- make -s $JOBS install
# Useful info to report issues to the Ruby.
- $(pwd)/install/bin/ruby -v
# Useful info To report issues to the RubyGems.
- $(pwd)/install/bin/gem env
script:
- make -s test
- ../tool/travis_wait.sh make -s test-all RUBYOPT="-w"
- ../tool/travis_wait.sh make -s test-spec
# We want to be notified when something happens.
notifications:
webhooks:
urls:
# ruby-lang slack: ruby/simpler-alerts-bot (travis)
- secure: mRsoS/UbqDkKkW5p3AEqM27d4SZnV6Gsylo3bm8T/deltQzTsGzZwrm7OIBXZv0UFZdE68XmPlyHfZFLSP2V9QZ7apXMf9/vw0GtcSe1gchtnjpAPF6lYBn7nMCbVPPx9cS0dwL927fjdRM1vj7IKZ2bk4F0lAJ25R25S6teqdk=
on_success: never
on_failure: always
email:
recipients:
on_success: never
on_failure: always