@@ -125,251 +125,6 @@ jobs:
125125 wget https://repo.manticoresearch.com/repository/ci/boost_1_75_0.tgz
126126 tar -xf boost_1_75_0.tgz
127127
128- build_linux_debug :
129- if : (needs.changes.outputs.source == 'true') && (github.event_name == 'pull_request' && github.event.pull_request.base.ref == 'update-buddy-version') != true
130- needs : [changes, check_branch]
131- name : Linux debug build
132- uses : ./.github/workflows/build_template.yml
133- with :
134- CTEST_CONFIGURATION_TYPE : " Debug"
135- COLUMNAR_LOCATOR : ${{ needs.check_branch.outputs.columnar_locator }}
136- artifact_name : debug_build
137- cache_key : build_linux_debug_x86_64
138- cmake_command : |
139- export CMAKE_TOOLCHAIN_FILE=$(pwd)/dist/build_dockers/cross/linux.cmake
140- ctest -VV -S misc/ctest/gltest.cmake --no-compress-output
141-
142- test_linux_debug :
143- if : (github.event_name == 'pull_request' && github.event.pull_request.base.ref == 'update-buddy-version') != true
144- name : Linux debug mode tests
145- needs : [build_linux_debug, check_branch]
146- uses : ./.github/workflows/test_template.yml
147- with :
148- COLUMNAR_LOCATOR : ${{ needs.check_branch.outputs.columnar_locator }}
149- build_artifact_name : debug_build
150- artifact_name : debug_test_results
151- results_name : " Linux debug test results"
152- timeout : 10
153-
154- build_linux_release :
155- if : (needs.changes.outputs.source == 'true') && (github.event_name == 'pull_request' && github.event.pull_request.base.ref == 'update-buddy-version') != true
156- needs : [changes, check_branch]
157- name : Linux release build
158- uses : ./.github/workflows/build_template.yml
159- with :
160- artifact_name : release_build
161- COLUMNAR_LOCATOR : ${{ needs.check_branch.outputs.columnar_locator }}
162- cache_key : build_linux_release_x86_64
163- cmake_command : |
164- export CMAKE_TOOLCHAIN_FILE=$(pwd)/dist/build_dockers/cross/linux.cmake
165- ctest -VV -S misc/ctest/gltest.cmake --no-compress-output
166-
167- test_linux_release :
168- if : (github.event_name == 'pull_request' && github.event.pull_request.base.ref == 'update-buddy-version') != true
169- name : Linux release mode tests
170- needs : [build_linux_release, check_branch]
171- uses : ./.github/workflows/test_template.yml
172- with :
173- COLUMNAR_LOCATOR : ${{ needs.check_branch.outputs.columnar_locator }}
174- build_artifact_name : release_build
175- artifact_name : release_test_results
176- results_name : " Linux release test results"
177- timeout : 10
178-
179-
180- pack_jammy_cache_check :
181- needs : changes
182- name : Jammy x86_64 package [check cache]
183- runs-on : ubuntu-22.04
184- outputs :
185- cache-key : ${{ steps.generate-key.outputs.cache-key }}
186- cache-hit : ${{ steps.cache.outputs.cache-hit }}
187- steps :
188- - name : Checkout code
189- uses : actions/checkout@v3
190-
191- - name : Generate cache key
192- id : generate-key
193- run : |
194- if [ "${{ github.event_name }}" == "pull_request" ]; then
195- branch=${{ github.head_ref }}
196- else
197- branch=$(git rev-parse --abbrev-ref HEAD)
198- fi
199- cache_key="jammy-build-${branch}"
200- echo "cache-key=${cache_key}" >> $GITHUB_OUTPUT
201-
202- - name : Set up cache
203- id : cache
204- uses : actions/cache@v4
205- with :
206- path : build
207- key : ${{ steps.generate-key.outputs.cache-key }}
208-
209- - name : Override cache hit
210- id : override-cache-hit
211- run : |
212- if [ "${{ needs.changes.outputs.source }}" == "true" ]; then
213- echo "cache-hit=false" >> $GITHUB_OUTPUT
214- fi
215-
216- - name : Upload build artifacts from cache
217- if : ${{ steps.override-cache-hit.outputs.cache-hit == 'true' }}
218- uses : manticoresoftware/upload_artifact_with_retries@v4
219- with :
220- name : build_jammy_RelWithDebInfo_x86_64
221- path : " build/manticore*deb"
222-
223- pack_jammy :
224- needs : [pack_jammy_cache_check, changes, check_branch]
225- if : |
226- needs.pack_jammy_cache_check.outputs.cache-hit != 'true' ||
227- needs.changes.outputs.source == 'true'
228- name : Jammy x86_64 package [build]
229- uses : ./.github/workflows/build_template.yml
230- with :
231- DISTR : jammy
232- COLUMNAR_LOCATOR : ${{ needs.check_branch.outputs.columnar_locator }}
233- arch : x86_64
234- cmake_command : |
235- mkdir build
236- cd build
237- cmake -DPACK=1 ..
238- export CMAKE_TOOLCHAIN_FILE=$(pwd)/dist/build_dockers/cross/linux.cmake
239- cmake --build . --target package
240- cache_key : pack_jammy_x86_64
241- artifact_list : " build/manticore*deb"
242-
243- pack_jammy_cache_update :
244- if : (needs.pack_jammy_cache_check.outputs.cache-hit != 'true') && (github.event_name == 'pull_request' && github.event.pull_request.base.ref == 'update-buddy-version') != true
245- name : Jammy x86_64 package [update cache]
246- needs : [pack_jammy, pack_jammy_cache_check]
247- runs-on : ubuntu-22.04
248- steps :
249- - name : Checkout repository # We have to checkout to access .github/workflows/ in further steps
250- uses : actions/checkout@v3
251-
252- - name : Download built x86_64 Ubuntu Jammy packages
253- uses : manticoresoftware/download_artifact_with_retries@v3
254- continue-on-error : true
255- with :
256- name : build_jammy_RelWithDebInfo_x86_64
257- path : .
258-
259- - name : Save cache
260- uses : actions/cache@v4
261- with :
262- path : build
263- key : ${{ needs.pack_jammy_cache_check.outputs.cache-key }}
264-
265- test_kit_docker_build :
266- name : Test Kit docker image
267- needs : [pack_jammy, pack_jammy_cache_check]
268- if : always() && needs.pack_jammy.result != 'failure'
269- runs-on : ubuntu-22.04
270- outputs :
271- out-build : ${{ steps.build.outputs.build_image }}
272- steps :
273- - name : Checkout repository # We have to checkout to access .github/workflows/ in further steps
274- uses : actions/checkout@v3
275- - name : Download built x86_64 Ubuntu Jammy packages
276- uses : manticoresoftware/download_artifact_with_retries@v3
277- with :
278- name : build_jammy_RelWithDebInfo_x86_64
279- path : .
280- # Uncomment this shortcut for debug to save time by not preparing the packages in the pack_jammy job
281- # - run: |
282- # wget http://dev2.manticoresearch.com/build_jammy_RelWithDebInfo_x86_64.zip
283- # unzip build_jammy_RelWithDebInfo_x86_64.zip
284- # tar -xvf artifact.tar
285- - name : Calculate short commit hash
286- id : sha
287- run : echo "sha_short=$(git rev-parse --short HEAD)" >> $GITHUB_OUTPUT
288- - name : Building docker
289- id : build
290- run : |
291- BUILD_COMMIT=${{ steps.sha.outputs.sha_short }} /bin/bash dist/test_kit_docker_build.sh
292- echo "build_image=ghcr.io/$REPO_OWNER/manticoresearch:test-kit-${{ steps.sha.outputs.sha_short }}" >> $GITHUB_OUTPUT
293- - name : Upload docker image artifact
294- uses : manticoresoftware/upload_artifact_with_retries@v4
295- with :
296- name : manticore_test_kit.img
297- path : manticore_test_kit.img
298-
299- clt :
300- if : always() && needs.test_kit_docker_build.result != 'failure'
301- name : CLT
302- needs : test_kit_docker_build
303- uses : ./.github/workflows/clt_tests.yml
304- secrets :
305- OPENAI_API_KEY : ${{ secrets.OPENAI_API_KEY }}
306- VOYAGE_API_KEY : ${{ secrets.VOYAGE_API_KEY }}
307- JINA_API_KEY : ${{ secrets.JINA_API_KEY }}
308- with :
309- docker_image : test-kit:img
310- artifact_name : manticore_test_kit.img
311- repository : ${{ github.repository }}
312- ref : ${{ github.sha }}
313-
314- test_kit_docker_push :
315- if : always() && needs.changes.outputs.source == 'true'
316- needs :
317- - changes
318- - clt
319- name : Push Test Kit docker image to repo
320- runs-on : ubuntu-22.04
321- env :
322- GHCR_USER : ${{ vars.GHCR_USER }}
323- GHCR_PASSWORD : ${{ secrets.GHCR_PASSWORD }}
324- REPO_OWNER : ${{ github.repository_owner }}
325- steps :
326- - name : Checkout repository # We have to checkout to access .github/workflows/ in further steps
327- uses : actions/checkout@v3
328- - name : Download artifact
329- uses : manticoresoftware/download_artifact_with_retries@main
330- with :
331- name : manticore_test_kit.img
332- path : .
333- - name : Calculate short commit hash
334- id : sha
335- run : echo "sha_short=$(git rev-parse --short HEAD)" >> $GITHUB_OUTPUT
336- - name : Pushing docker image to repo
337- id : test-kit-push
338- run : |
339- TEST_RESULT=${{ needs.clt.result }} BUILD_COMMIT=${{ steps.sha.outputs.sha_short }} /bin/bash dist/test_kit_docker_push.sh
340-
341- build_aarch64 :
342- if : (needs.changes.outputs.source == 'true') && (github.event_name == 'pull_request' && github.event.pull_request.base.ref == 'update-buddy-version') != true
343- needs : [changes, check_branch]
344- name : Linux aarch64 build
345- uses : ./.github/workflows/build_template.yml
346- # Use -VV instead of -V below for more verbose output
347- with :
348- arch : aarch64
349- COLUMNAR_LOCATOR : ${{ needs.check_branch.outputs.columnar_locator }}
350- cmake_command : |
351- mkdir build
352- cd build
353- export CMAKE_TOOLCHAIN_FILE=$(pwd)/../dist/build_dockers/cross/linux.cmake
354- ctest -V -S ../misc/ctest/justbuild.cmake -DCTEST_SOURCE_DIRECTORY=.. --no-compress-output
355- cache_key : build_jammy_aarch64
356-
357- build_freebsd :
358- if : (needs.changes.outputs.source == 'true') && (github.event_name == 'pull_request' && github.event.pull_request.base.ref == 'update-buddy-version') != true
359- needs : [changes, check_branch]
360- name : FreeBSD x86_64 build
361- uses : ./.github/workflows/build_template.yml
362- with :
363- DISTR : freebsd13
364- COLUMNAR_LOCATOR : ${{ needs.check_branch.outputs.columnar_locator }}
365- boost_url_key : none
366- cmake_command : |
367- mkdir build
368- cd build
369- export CMAKE_TOOLCHAIN_FILE=$(pwd)/../dist/build_dockers/cross/freebsd.cmake
370- ctest -VV -S ../misc/ctest/justbuild.cmake -DCTEST_SOURCE_DIRECTORY=.. --no-compress-output
371- cache_key : build_freebsd_x86_64
372-
373128 build_windows :
374129 if : (needs.changes.outputs.source == 'true') && (github.event_name == 'pull_request' && github.event.pull_request.base.ref == 'update-buddy-version') != true
375130 needs : [changes, check_branch]
0 commit comments