-
Notifications
You must be signed in to change notification settings - Fork 63
96 lines (93 loc) · 2.42 KB
/
build.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
name: Test
on:
push:
branches:
- master
pull_request:
env:
DOCKER_FLAGS: ""
CI: 1
jobs:
output:
runs-on: ubuntu-24.04
steps:
- uses: actions/checkout@v4
with:
submodules: true
- name: diff output
run: rake docker_test_output
linux:
runs-on: ubuntu-24.04
strategy:
matrix:
compiler:
- gcc
- clang
group:
- group1
- group2
- group3
steps:
- uses: actions/checkout@v4
with:
submodules: true
- name: run tests
env:
RUBY: ruby3.3
run: |
export GLOB=$(ruby spec/support/split_specs.rb 3 ${{ matrix.group }})
rake docker_test_${{ matrix.compiler }}
macos:
runs-on: macos-latest
strategy:
matrix:
group:
- group1
- group2
- group3
steps:
- uses: actions/checkout@v4
with:
submodules: true
- name: install ruby
run: |
brew update
brew uninstall -f --ignore-dependencies ruby
brew uninstall -f --ignore-dependencies ruby@3.0
rm -rf /usr/local/lib/ruby/gems/3.0.0 /usr/local/opt/ruby@3.0
brew install ruby@3.3
- name: check ruby
run: |
export PATH="/opt/homebrew/opt/ruby/bin:$PATH"
which ruby
ruby --version
which bundle
- name: install build tools
run: brew install autoconf automake libtool pkg-config
- name: install openssl
run: brew install openssl
- name: install libffi
run: brew install libffi
- name: test with clang on macOS
env:
PKG_CONFIG_PATH: /usr/local/opt/openssl@3/lib/pkgconfig:/opt/homebrew/opt/openssl@3/lib/pkgconfig:/usr/local/opt/libffi/lib/pkgconfig:/opt/homebrew/opt/libffi/lib/pkgconfig
run: |
export GLOB=$(ruby spec/support/split_specs.rb 3 ${{ matrix.group }})
export PATH="/opt/homebrew/opt/ruby/bin:$PATH"
rake test
self-hosted:
runs-on: ubuntu-24.04
steps:
- uses: actions/checkout@v4
with:
submodules: true
- name: build self-hosted binary
run: rake docker_test_self_hosted
asan:
runs-on: ubuntu-24.04
steps:
- uses: actions/checkout@v4
with:
submodules: true
- name: test with AddressSanitizer
run: rake docker_test_asan