-
Notifications
You must be signed in to change notification settings - Fork 63
113 lines (109 loc) · 2.96 KB
/
test.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
name: Test
on:
push:
branches:
- master
pull_request:
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
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:
fail-fast: false
matrix:
compiler:
- gcc
- clang
group:
- group1
- group2
- group3
steps:
- uses: actions/checkout@v4
with:
submodules: true
- name: run tests
env:
RUBY: ruby3.4
NAT_BUILD_MODE: debug
run: |
export GLOB=$(ruby spec/support/split_specs.rb 3 ${{ matrix.group }})
rake docker_test_${{ matrix.compiler }}
macos:
runs-on: macos-latest
strategy:
fail-fast: false
matrix:
group:
- group1
- group2
- group3
- group4
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.4
brew link -f --overwrite ruby@3.4
- 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 --force --overwrite autoconf automake libtool pkg-config
- name: install openssl
run: brew install openssl
- name: install libffi
run: brew install libffi
# - name: setup upterm session for remote debugging
# uses: owenthereal/action-upterm@v1
- 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
NAT_BUILD_MODE: release
run: |
export PATH="/opt/homebrew/opt/ruby/bin:$PATH"
export GLOB=$(ruby spec/support/split_specs.rb 4 ${{ matrix.group }})
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: Fix kernel mmap rnd bits for ASan
run: sudo sysctl vm.mmap_rnd_bits=28
- name: test with AddressSanitizer enabled
env:
SPEC_TIMEOUT: 480
SOME_TESTS: true
run: rake docker_test_asan