Skip to content

Commit 799cb90

Browse files
committed
Added gen_travis rake task, updated .travis.yml
1 parent 7dfebf9 commit 799cb90

File tree

2 files changed

+80
-31
lines changed

2 files changed

+80
-31
lines changed

.travis.yml

Lines changed: 29 additions & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -1,39 +1,37 @@
11
language: ruby
22
dist: trusty
3-
os:
4-
- linux
5-
- osx
6-
7-
rvm:
8-
- 1.8.7
9-
- 1.9.3
10-
- 2.0.0
11-
- 2.1.10
12-
- 2.2.8
13-
- 2.3.8
14-
- 2.4.6
15-
- 2.5.5
16-
- 2.6.3
17-
- ruby-head
18-
193
matrix:
204
fast_finish: true
21-
allow_failures:
22-
- rvm: ruby-head
23-
24-
exclude:
5+
include:
6+
- os: linux
7+
rvm: 3.0.1
258
- os: osx
26-
rvm: 1.9.3
9+
rvm: 3.0.1
10+
- os: linux
11+
rvm: 2.7.3
2712
- os: osx
28-
rvm: 2.0.0
29-
13+
rvm: 2.7.3
14+
- os: linux
15+
rvm: 2.6.7
16+
- os: osx
17+
rvm: 2.6.7
18+
- os: linux
19+
rvm: 2.5.9
3020
- os: osx
21+
rvm: 2.5.9
22+
- os: linux
23+
rvm: 2.4.10
24+
- os: osx
25+
rvm: 2.4.10
26+
- os: linux
27+
rvm: 2.3.8
28+
- os: linux
29+
rvm: 2.2.10
30+
- os: linux
31+
rvm: 2.1.10
32+
- os: linux
33+
rvm: 2.0.0
34+
- os: linux
35+
rvm: 1.9.3
36+
- os: linux
3137
rvm: 1.8.7
32-
33-
# include:
34-
# - os: osx
35-
# rvm: 1.9.3
36-
# before_script: rvm install ruby-1.9.3 # not binary
37-
# - os: osx
38-
# rvm: 2.0.0
39-
# before_script: rvm install ruby-2.0.0 # not binary

Rakefile

Lines changed: 51 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -39,4 +39,55 @@ task :changelog, :since_c, :until_c do |t,args|
3939
end
4040

4141
puts changelog_content
42+
end
43+
44+
desc "Generates travis.yaml"
45+
task :gen_travis do
46+
versions = []
47+
48+
def versions.add(major:, minor:, include_macos: true)
49+
self << { major: major, minor: [minor], include_macos: include_macos }
50+
end
51+
52+
versions.add major: '3.0', minor: 1
53+
versions.add major: '2.7', minor: 3
54+
versions.add major: '2.6', minor: 7
55+
versions.add major: '2.5', minor: 9
56+
versions.add major: '2.4', minor: 10
57+
versions.add major: '2.3', minor: 8, include_macos: false
58+
versions.add major: '2.2', minor: 10, include_macos: false
59+
versions.add major: '2.1', minor: 10, include_macos: false
60+
versions.add major: '2.0', minor: 0, include_macos: false
61+
versions.add major: '1.9', minor: 3, include_macos: false
62+
versions.add major: '1.8', minor: 7, include_macos: false
63+
64+
puts <<EOM
65+
language: ruby
66+
dist: trusty
67+
matrix:
68+
fast_finish: true
69+
include:
70+
EOM
71+
72+
loop do
73+
found_some = false
74+
75+
versions.each do |version|
76+
minor = version[:minor].pop
77+
if minor
78+
found_some = true
79+
full_version = "#{version[:major]}.#{minor}"
80+
puts <<EOM
81+
- os: linux
82+
rvm: #{full_version}
83+
EOM
84+
puts <<EOM if version[:include_macos]
85+
- os: osx
86+
rvm: #{full_version}
87+
EOM
88+
end
89+
end
90+
91+
break unless found_some
92+
end
4293
end

0 commit comments

Comments
 (0)