-
Notifications
You must be signed in to change notification settings - Fork 238
146 lines (143 loc) · 4.18 KB
/
ruby.yml
File metadata and controls
146 lines (143 loc) · 4.18 KB
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
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
name: Ruby
on:
push:
branches:
- master
pull_request: {}
merge_group: {}
jobs:
test:
runs-on: "ubuntu-latest"
strategy:
fail-fast: false
matrix:
ruby: ['3.2', '3.3', '3.4', '4.0', head]
rubyopt: [""]
job:
- test
include:
- ruby: head
job: stdlib_test rubocop
- ruby: "4.0"
job: stdlib_test
- ruby: "4.0"
job: test
rubyopt: "--enable-frozen-string-literal"
- ruby: "4.0"
job: stdlib_test
rubyopt: "--enable-frozen-string-literal"
- ruby: "4.0"
job: rubocop validate test_doc build test_generate_stdlib raap
- ruby: "4.0"
job: typecheck_test
- ruby: asan-release
job: test
env:
RANDOMIZE_STDLIB_TEST_ORDER: "true"
steps:
- uses: actions/checkout@v6
- uses: ruby/setup-ruby@v1
with:
ruby-version: ${{ matrix.ruby }}
bundler: none
- name: Set working directory as safe
run: git config --global --add safe.directory $(pwd)
- name: Install dependencies
run: |
sudo apt-get update
sudo apt-get install -y libdb-dev curl autoconf automake m4 libtool python3
- name: Update rubygems & bundler
run: |
ruby -v
gem update --system
- name: install erb
run: gem install erb
- name: bundle config set with
run: |
echo "NO_MINITEST=true" >> $GITHUB_ENV
bundle config set --local without 'minitest'
if: ${{ contains(matrix.ruby, 'head') }}
- name: bundle config set force_ruby_platform true if head
if: ${{ contains(matrix.ruby, 'head') }}
run: |
bundle config set force_ruby_platform true
- name: Skip installing type checkers
if: ${{ ! contains(matrix.job, 'typecheck_test') }}
run: |
bundle config set without 'typecheck_test'
- name: bin/setup
run: |
bin/setup
- name: Configure ASAN options
if: ${{ contains(matrix.ruby, 'asan') }}
run: |
echo "ASAN_OPTIONS=abort_on_error=1" >> $GITHUB_ENV
- name: Run test
run: |
bundle exec rake ${{ matrix.job }}
C99_compile:
runs-on: macos-latest
strategy:
fail-fast: false
matrix:
ruby: ['4.0', head]
steps:
- uses: actions/checkout@v6
- name: Install dependencies
run: |
brew install ruby-build
- uses: ruby/setup-ruby@v1
with:
ruby-version: ${{ matrix.ruby }}
bundler: none
- name: Set working directory as safe
run: git config --global --add safe.directory $(pwd)
- name: Update rubygems & bundler
run: |
ruby -v
gem update --system
- name: install erb
run: gem install erb
- name: clang version
run: clang --version
- name: bundle config set force_ruby_platform true if head
if: ${{ contains(matrix.ruby, 'head') }}
run: |
bundle config set force_ruby_platform true
- name: bin/setup
run: |
bin/setup
- run: bundle exec rake clean compile_c99
clang_compile:
runs-on: macos-latest
strategy:
fail-fast: false
matrix:
ruby: ['4.0', head]
steps:
- uses: actions/checkout@v6
- name: Install dependencies
run: |
brew install ruby-build
- uses: ruby/setup-ruby@v1
with:
ruby-version: ${{ matrix.ruby }}
bundler: none
- name: Set working directory as safe
run: git config --global --add safe.directory $(pwd)
- name: Update rubygems & bundler
run: |
ruby -v
gem update --system
- name: install erb
run: gem install erb
- name: clang version
run: clang --version
- name: bundle config set force_ruby_platform true if head
if: ${{ contains(matrix.ruby, 'head') }}
run: |
bundle config set force_ruby_platform true
- name: bin/setup
run: |
bin/setup
- run: bundle exec rake clean compile