78
78
- macos-14
79
79
- macos-15
80
80
- macos-26
81
- tarantool :
82
- - brew
83
- - 1.10.15
84
- exclude :
85
- - runs-on : macos-14
86
- tarantool : 1.10.15
87
81
88
82
env :
89
83
# Make sense only for non-brew jobs.
@@ -102,103 +96,13 @@ jobs:
102
96
with :
103
97
path : ${{ env.SRCDIR }}
104
98
105
- - name : cmake version
106
- run : cmake --version
107
-
108
99
- name : Setup cmake
109
100
uses : jwlawson/actions-setup-cmake@v2
110
101
with :
111
102
cmake-version : ' 3.29.x'
112
103
113
- - name : cmake version after
114
- run : cmake --version
115
-
116
- - name : Restore cache of tarantool ${{ env.T_VERSION }}
117
- uses : actions/cache@v4
118
- id : cache
119
- with :
120
- path : ${{ env.T_TARDIR }}
121
- key : ${{ matrix.runs-on }}-${{ matrix.tarantool }}
122
- if : matrix.tarantool != 'brew'
123
-
124
104
- name : Install latest tarantool from brew
125
105
run : brew install tarantool
126
- if : matrix.tarantool == 'brew'
127
-
128
- - name : Install tarantool build dependencies
129
- run : brew install autoconf automake libtool openssl
130
- if : matrix.tarantool != 'brew' && steps.cache.outputs.cache-hit != 'true'
131
-
132
- - name : Clone tarantool ${{ env.T_VERSION }}
133
- uses : actions/checkout@v5
134
- with :
135
- repository : tarantool/tarantool
136
- ref : ${{ env.T_VERSION }}
137
- path : ${{ env.T_TARDIR }}
138
- submodules : true
139
- # fetch-depth is 1 by default and it is okay for
140
- # building from a tag. However we have master in
141
- # the version list.
142
- fetch-depth : 0
143
- if : matrix.tarantool != 'brew' && steps.cache.outputs.cache-hit != 'true'
144
-
145
- - name : Build tarantool ${{ env.T_VERSION }} from sources
146
- run : |
147
- cd "${T_TARDIR}"
148
- # Set RelWithDebInfo just to disable -Werror.
149
- #
150
- # There are tarantool releases on which AppleClang
151
- # complains about the problem that was fixed later in
152
- # https://github.com/tarantool/tarantool/commit/7e8688ff8885cc7813d12225e03694eb8886de29
153
- #
154
- # Set OpenSSL root directory for linking tarantool with OpenSSL of version 1.1
155
- # This is related to #49. There are too much deprecations which affect the build and tests.
156
- # Must be revisited after fixing https://github.com/tarantool/tarantool/issues/6477
157
- cmake . -DCMAKE_BUILD_TYPE=RelWithDebInfo -DENABLE_DIST=ON -DOPENSSL_ROOT_DIR=/usr/local/opt/openssl@1.1 -DOPENSSL_LIBRARIES=/usr/local/opt/openssl@1.1/lib
158
- # {{{ Workaround Mac OS build failure (gh-6076)
159
- #
160
- # https://github.com/tarantool/tarantool/issues/6076
161
- #
162
- # In brief: when "src/lib/small" is in include paths,
163
- # `#include <version>` from inside Mac OS SDK headers
164
- # attempts to include "src/lib/small/VERSION" as a
165
- # header file that leads to a syntax error.
166
- #
167
- # It was fixed in the following commits:
168
- #
169
- # * 1.10.10-24-g7bce4abd1
170
- # * 2.7.2-44-gbb1d32903
171
- # * 2.8.1-56-ga6c29c5af
172
- # * 2.9.0-84-gc5ae543f3
173
- #
174
- # However applying the workaround for all versions looks
175
- # harmless.
176
- #
177
- # Added -f just in case: I guess we'll drop this useless
178
- # obsoleted VERSION file from the git repository sooner
179
- # or later.
180
- rm -f src/lib/small/VERSION
181
- # The same as above, but for the VERSION file generated
182
- # by tarantool's CMake script.
183
- rm VERSION
184
- # }}} Workaround Mac OS build failure (gh-6076)
185
- # Continue the build.
186
- make -j$(sysctl -n hw.logicalcpu)
187
- make install
188
- if : matrix.tarantool != 'brew' && steps.cache.outputs.cache-hit != 'true'
189
-
190
- - name : Install tarantool
191
- run : |
192
- cd "${T_TARDIR}"
193
- make install
194
- if : matrix.tarantool != 'brew' && steps.cache.outputs.cache-hit == 'true'
195
-
196
- - name : Verify tarantool version
197
- run : |
198
- # Workaround https://github.com/tarantool/tarantool/issues/4983
199
- # Workaround https://github.com/tarantool/tarantool/issues/5040
200
- tarantool -e "require('fiber').sleep(0) assert(_TARANTOOL:startswith('${T_VERSION}'), _TARANTOOL) os.exit()"
201
- if : matrix.tarantool != 'brew' && matrix.tarantool != 'master'
202
106
203
107
- name : Setup golang for the connector and tests
204
108
uses : actions/setup-go@v5
@@ -207,7 +111,6 @@ jobs:
207
111
208
112
# Workaround issue https://github.com/tarantool/tt/issues/640
209
113
- name : Fix tt rocks
210
- if : matrix.tarantool == 'brew'
211
114
run : |
212
115
brew ls --verbose tarantool | grep macosx.lua | xargs rm -f
213
116
0 commit comments