🔬 Test master HEAD in daemon + 9dbdc6cf535fd5bb6b22de0a9b5d71f47821b851 #846
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: 🔬 Test | |
run-name: "🔬 Test ${{ github.event.schedule == '00 20 * * *' && 'master HEAD in daemon + ' || 'commit' }} ${{ github.sha }}" | |
#on: workflow_call | |
on: | |
push: | |
branches: | |
- master | |
- columnar-* | |
pull_request: | |
branches: [ master ] | |
types: [opened, synchronize, reopened, labeled, unlabeled] | |
schedule: | |
- cron: '00 20 * * *' | |
# cancels the previous workflow run when a new one appears in the same branch (e.g. master or a PR's branch) | |
concurrency: | |
group: CI_${{ github.ref }} | |
cancel-in-progress: true | |
jobs: | |
commit_info: | |
name: Commit info | |
runs-on: ubuntu-22.04 | |
steps: | |
- run: | | |
echo "# Automated Tests of commit ${{ github.sha }}" >> $GITHUB_STEP_SUMMARY | |
[[ "${{ github.event.schedule }}" == "00 20 * * *" ]] && echo "* **Nightly test, testing master's head with the daemon's master head**" >> $GITHUB_STEP_SUMMARY | |
echo "* Commit URL: [${{ github.sha }}](/${{ github.repository }}/commit/${{ github.sha }})" >> $GITHUB_STEP_SUMMARY | |
echo "* Initiated by: [@${{ github.actor }}](https://github.com/${{ github.actor }})" >> $GITHUB_STEP_SUMMARY | |
echo "* Ref: ${{ github.ref_type }} \"${{ github.ref_name }}\"" >> $GITHUB_STEP_SUMMARY | |
echo "* Attempt: ${{ github.run_attempt }}" >> $GITHUB_STEP_SUMMARY | |
win_bundle: | |
name: Windows supplementary files preparation | |
runs-on: ubuntu-22.04 | |
steps: | |
- name: Check out cache | |
id: cache | |
uses: actions/cache@v3.3.1 | |
with: | |
path: | | |
bundle | |
boost_1_75_0 | |
enableCrossOsArchive: true | |
key: win_bundle | |
lookup-only: true | |
- name: Extract Windows bundle from Windows sysroot | |
if: steps.cache.outputs.cache-hit != 'true' | |
run: | | |
wget https://repo.manticoresearch.com/repository/sysroots/roots_nov22/sysroot_windows_x64.tar.xz | |
tar -xvf sysroot_windows_x64.tar.xz | |
mv diskc/winbundle bundle | |
- name: Extract Boost to put it to the cache | |
if: steps.cache.outputs.cache-hit != 'true' | |
run: | | |
wget https://repo.manticoresearch.com/repository/ci/boost_1_75_0.tgz | |
tar -xf boost_1_75_0.tgz | |
build_linux_release: | |
name: Linux release build | |
uses: ./.github/workflows/build_template.yml | |
with: | |
MANTICORE_LOCATOR: ${{ github.event.schedule == '00 20 * * *' && 'GIT_REPOSITORY https://github.com/manticoresoftware/manticoresearch.git GIT_TAG master' || '' }} | |
build_linux_debug: | |
name: Linux debug build | |
uses: ./.github/workflows/build_template.yml | |
with: | |
CTEST_CONFIGURATION_TYPE: "Debug" | |
MANTICORE_LOCATOR: ${{ github.event.schedule == '00 20 * * *' && 'GIT_REPOSITORY https://github.com/manticoresoftware/manticoresearch.git GIT_TAG master' || '' }} | |
build_windows: | |
name: Windows x64 build | |
uses: ./.github/workflows/build_template.yml | |
with: | |
DISTR: windows | |
arch: x64 | |
CTEST_CMAKE_GENERATOR: "Ninja Multi-Config" | |
CTEST_CONFIGURATION_TYPE: Debug | |
cache_key: build_windows_x64 | |
artifact_list: "build/columnar/Debug/lib_manticore_columnar.dll build/secondary/Debug/lib_manticore_secondary.dll build/_deps/manticore-build/src/Debug/indexer.exe build/_deps/manticore-build/src/Debug/searchd.exe" # | |
MANTICORE_LOCATOR: ${{ github.event.schedule == '00 20 * * *' && 'GIT_REPOSITORY https://github.com/manticoresoftware/manticoresearch.git GIT_TAG master' || '' }} | |
test_linux_debug: | |
name: Linux debug mode tests | |
needs: build_linux_debug | |
uses: ./.github/workflows/test_template.yml | |
strategy: | |
fail-fast: false | |
matrix: | |
name: [1_54,55_108,109_162,163_216,217_270,271_324,325_378,379_and_on] | |
include: | |
- name: 1_54 | |
start: 1 | |
end: 54 | |
- name: 55_108 | |
start: 55 | |
end: 108 | |
- name: 109_162 | |
start: 109 | |
end: 162 | |
- name: 163_216 | |
start: 163 | |
end: 216 | |
- name: 217_270 | |
start: 217 | |
end: 270 | |
- name: 271_324 | |
start: 271 | |
end: 324 | |
- name: 325_378 | |
start: 325 | |
end: 378 | |
- name: 379_and_on | |
start: 379 | |
end: 999999 | |
with: | |
CTEST_CONFIGURATION_TYPE: "Debug" | |
CTEST_START: ${{ matrix.start }} | |
CTEST_END: ${{ matrix.end }} | |
MANTICORE_LOCATOR: ${{ github.event.schedule == '00 20 * * *' && 'GIT_REPOSITORY https://github.com/manticoresoftware/manticoresearch.git GIT_TAG master' || '' }} | |
artifact_name: debug_test_${{ matrix.name }} | |
xml_command: "cd build; cp -r Testing/2*/Test.xml .; xsltproc -o junit_tests_${{ matrix.name }}.xml ../misc/junit/ctest2junit.xsl Test.xml" | |
timeout: 10 | |
debug_tests_report: | |
name: Debug mode tests summary and report | |
needs: test_linux_debug | |
runs-on: ubuntu-22.04 | |
steps: | |
- name: Checkout repository | |
uses: actions/checkout@v3 | |
with: | |
token: ${{ secrets.GITHUB_TOKEN }} | |
- name: Download test report artifact 1_54 | |
uses: manticoresoftware/download_artifact_with_retries@v3 | |
continue-on-error: true | |
with: | |
name: debug_test_1_54 | |
path: . | |
- name: Download test report artifact 55_108 | |
uses: manticoresoftware/download_artifact_with_retries@v3 | |
continue-on-error: true | |
with: | |
name: debug_test_55_108 | |
path: . | |
- name: Download test report artifact 109_162 | |
uses: manticoresoftware/download_artifact_with_retries@v3 | |
continue-on-error: true | |
with: | |
name: debug_test_109_162 | |
path: . | |
- name: Download test report artifact 163_216 | |
uses: manticoresoftware/download_artifact_with_retries@v3 | |
continue-on-error: true | |
with: | |
name: debug_test_163_216 | |
path: . | |
- name: Download test report artifact 217_270 | |
uses: manticoresoftware/download_artifact_with_retries@v3 | |
continue-on-error: true | |
with: | |
name: debug_test_217_270 | |
path: . | |
- name: Download test report artifact 271_324 | |
uses: manticoresoftware/download_artifact_with_retries@v3 | |
continue-on-error: true | |
with: | |
name: debug_test_271_324 | |
path: . | |
- name: Download test report artifact 325_378 | |
uses: manticoresoftware/download_artifact_with_retries@v3 | |
continue-on-error: true | |
with: | |
name: debug_test_325_378 | |
path: . | |
- name: Download test report artifact 379_and_on | |
uses: manticoresoftware/download_artifact_with_retries@v3 | |
continue-on-error: true | |
with: | |
name: debug_test_379_and_on | |
path: . | |
- name: Publish test results | |
uses: EnricoMi/publish-unit-test-result-action@v2 | |
continue-on-error: true | |
with: | |
check_name: Linux debug test results | |
files: build/junit*.xml | |
compare_to_earlier_commit: false | |
- name: Per-test results | |
run: | | |
for file in build/status*; do echo -n "$file: "; cat "$file"; done | |
grep -o "success" build/status* | wc -l | awk '{if ($1==8) exit 0; else {print "Found only "$1" successful runs out of 8"; exit 1}}' | |
shell: bash | |
- name: Delete unneded per-shard artifacts | |
if: always() | |
uses: geekyeggo/delete-artifact@v2 | |
with: | |
name: debug_test_* | |
failOnError: false | |
- name: Upload combined artifacts | |
if: always() | |
continue-on-error: true | |
uses: manticoresoftware/upload_artifact_with_retries@v4 | |
with: | |
name: debug_test_resuls | |
path: build | |
test_linux_release: | |
name: Linux release mode tests | |
needs: build_linux_release | |
uses: ./.github/workflows/test_template.yml | |
strategy: | |
fail-fast: false | |
matrix: | |
name: [1_54,55_108,109_162,163_216,217_270,271_324,325_378,379_and_on] | |
include: | |
- name: 1_54 | |
start: 1 | |
end: 54 | |
- name: 55_108 | |
start: 55 | |
end: 108 | |
- name: 109_162 | |
start: 109 | |
end: 162 | |
- name: 163_216 | |
start: 163 | |
end: 216 | |
- name: 217_270 | |
start: 217 | |
end: 270 | |
- name: 271_324 | |
start: 271 | |
end: 324 | |
- name: 325_378 | |
start: 325 | |
end: 378 | |
- name: 379_and_on | |
start: 379 | |
end: 999999 | |
with: | |
CTEST_CONFIGURATION_TYPE: "RelWithDebInfo" | |
CTEST_START: ${{ matrix.start }} | |
CTEST_END: ${{ matrix.end }} | |
MANTICORE_LOCATOR: ${{ github.event.schedule == '00 20 * * *' && 'GIT_REPOSITORY https://github.com/manticoresoftware/manticoresearch.git GIT_TAG master' || '' }} | |
artifact_name: release_test_${{ matrix.name }} | |
xml_command: "cd build; cp -r Testing/2*/Test.xml .; xsltproc -o junit_tests_${{ matrix.name }}.xml ../misc/junit/ctest2junit.xsl Test.xml" | |
timeout: 10 | |
release_tests_report: | |
name: release mode tests summary and report | |
needs: test_linux_release | |
runs-on: ubuntu-22.04 | |
steps: | |
- name: Checkout repository | |
uses: actions/checkout@v3 | |
with: | |
token: ${{ secrets.GITHUB_TOKEN }} | |
- name: Download test report artifact 1_54 | |
uses: manticoresoftware/download_artifact_with_retries@v3 | |
continue-on-error: true | |
with: | |
name: release_test_1_54 | |
path: . | |
- name: Download test report artifact 55_108 | |
uses: manticoresoftware/download_artifact_with_retries@v3 | |
continue-on-error: true | |
with: | |
name: release_test_55_108 | |
path: . | |
- name: Download test report artifact 109_162 | |
uses: manticoresoftware/download_artifact_with_retries@v3 | |
continue-on-error: true | |
with: | |
name: release_test_109_162 | |
path: . | |
- name: Download test report artifact 163_216 | |
uses: manticoresoftware/download_artifact_with_retries@v3 | |
continue-on-error: true | |
with: | |
name: release_test_163_216 | |
path: . | |
- name: Download test report artifact 217_270 | |
uses: manticoresoftware/download_artifact_with_retries@v3 | |
continue-on-error: true | |
with: | |
name: release_test_217_270 | |
path: . | |
- name: Download test report artifact 271_324 | |
uses: manticoresoftware/download_artifact_with_retries@v3 | |
continue-on-error: true | |
with: | |
name: release_test_271_324 | |
path: . | |
- name: Download test report artifact 325_378 | |
uses: manticoresoftware/download_artifact_with_retries@v3 | |
continue-on-error: true | |
with: | |
name: release_test_325_378 | |
path: . | |
- name: Download test report artifact 379_and_on | |
uses: manticoresoftware/download_artifact_with_retries@v3 | |
continue-on-error: true | |
with: | |
name: release_test_379_and_on | |
path: . | |
- name: Publish test results | |
uses: EnricoMi/publish-unit-test-result-action@v2 | |
continue-on-error: true | |
with: | |
check_name: Linux release test results | |
files: build/junit*.xml | |
compare_to_earlier_commit: false | |
- name: Per-test results | |
run: | | |
for file in build/status*; do echo -n "$file: "; cat "$file"; done | |
grep -o "success" build/status* | wc -l | awk '{if ($1==8) exit 0; else {print "Found only "$1" successful runs out of 8"; exit 1}}' | |
shell: bash | |
- name: Delete unneded per-shard artifacts | |
if: always() | |
uses: geekyeggo/delete-artifact@v2 | |
with: | |
name: release_test_* | |
failOnError: false | |
- name: Upload combined artifacts | |
if: always() | |
continue-on-error: true | |
uses: manticoresoftware/upload_artifact_with_retries@v4 | |
with: | |
name: release_test_resuls | |
path: build | |
test_windows: | |
name: Windows tests | |
needs: [build_windows, win_bundle] | |
uses: ./.github/workflows/win_test_template.yml | |
strategy: | |
fail-fast: false | |
matrix: | |
name: [1_86,87_172,173_258,259_344,345_and_on] | |
include: | |
- name: 1_86 | |
start: 1 | |
end: 86 | |
- name: 87_172 | |
start: 87 | |
end: 172 | |
- name: 173_258 | |
start: 173 | |
end: 258 | |
- name: 259_344 | |
start: 259 | |
end: 344 | |
- name: 345_and_on | |
start: 345 | |
end: 999999 | |
with: | |
CTEST_START: ${{ matrix.start }} | |
CTEST_END: ${{ matrix.end }} | |
MANTICORE_LOCATOR: ${{ github.event.schedule == '00 20 * * *' && 'GIT_REPOSITORY https://github.com/manticoresoftware/manticoresearch.git GIT_TAG master' || '' }} | |
artifact_name: windows_test_${{ matrix.name }} | |
windows_tests_report: | |
name: Windows tests summary and report | |
needs: test_windows | |
runs-on: ubuntu-22.04 | |
container: | |
image: manticoresearch/ubertests_ctest:3263_mar_2024 | |
steps: | |
- name: Checkout repository | |
uses: actions/checkout@v3 | |
with: | |
token: ${{ secrets.GITHUB_TOKEN }} | |
- name: Download test report artifact 1_86 | |
uses: manticoresoftware/download_artifact_with_retries@v3 | |
continue-on-error: true | |
with: | |
name: windows_test_1_86 | |
path: . | |
- name: Download test report artifact 87_172 | |
uses: manticoresoftware/download_artifact_with_retries@v3 | |
continue-on-error: true | |
with: | |
name: windows_test_87_172 | |
path: . | |
- name: Download test report artifact 173_258 | |
uses: manticoresoftware/download_artifact_with_retries@v3 | |
continue-on-error: true | |
with: | |
name: windows_test_173_258 | |
path: . | |
- name: Download test report artifact 259_344 | |
uses: manticoresoftware/download_artifact_with_retries@v3 | |
continue-on-error: true | |
with: | |
name: windows_test_259_344 | |
path: . | |
- name: Download test report artifact 345_and_on | |
uses: manticoresoftware/download_artifact_with_retries@v3 | |
continue-on-error: true | |
with: | |
name: windows_test_345_and_on | |
path: . | |
- name: Convert the XML to JUnit format | |
run: for dir in build/xml_*; do xsltproc -o $dir/junit_tests.xml misc/junit/ctest2junit.xsl $dir/Test.xml; done; | |
shell: bash | |
- name: Publish test results | |
uses: EnricoMi/publish-unit-test-result-action@v2 | |
with: | |
check_name: Windows test results | |
compare_to_earlier_commit: false | |
files: build/xml_*/junit_tests.xml | |
- name: Per-test results | |
run: | | |
for file in build/status*; do echo -n "$file: "; cat "$file"; done | |
grep -o "success" build/status* | wc -l | awk '{if ($1==5) exit 0; else {print "Found only "$1" successful runs out of 5"; exit 1}}' | |
shell: bash | |
- name: Delete unneded per-shard artifacts | |
if: always() | |
uses: geekyeggo/delete-artifact@v2 | |
with: | |
name: windows_test_* | |
failOnError: false | |
- name: Upload combined artifacts | |
if: always() | |
continue-on-error: true | |
uses: manticoresoftware/upload_artifact_with_retries@v4 | |
with: | |
name: windows_test_resuls | |
path: build |