feat: merge main into v0.9 #2899
Workflow file for this run
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: HybridSE CI | |
on: | |
push: | |
branches: | |
- main | |
paths: | |
- .github/workflows/hybridse-ci.yml | |
- 'cases/**' | |
- 'hybridse/**' | |
- 'include/**' | |
pull_request: | |
paths: | |
- .github/workflows/hybridse-ci.yml | |
- 'cases/**' | |
- 'hybridse/**' | |
- 'include/**' | |
workflow_dispatch: | |
env: | |
CTEST_PARALLEL_LEVEL: 2 # parallel test level for ctest (make test) | |
CTEST_OUTPUT_ON_FAILURE: ON | |
NPROC: 2 # default Parallel build number for GitHub's Linux runner | |
jobs: | |
linux-build: | |
runs-on: ubuntu-latest | |
container: | |
image: ghcr.io/4paradigm/hybridsql:latest | |
env: | |
TESTING_ENABLE_STRIP: ON | |
# ref https://github.blog/changelog/2024-03-07-github-actions-all-actions-will-run-on-node20-instead-of-node16-by-default/ | |
ACTIONS_ALLOW_USE_UNSECURE_NODE_VERSION: true | |
steps: | |
- uses: actions/checkout@v2 | |
- name: Build HybridSE | |
run: | | |
make hybridse-build | |
- name: Core Test | |
run: | | |
make hybridse-test | |
- name: Upload Cpp UT Results | |
if: always() | |
uses: actions/upload-artifact@v2 | |
with: | |
name: linux-ut-result-cpp-${{ github.sha }} | |
path: | | |
build/hybridse/**/*.xml | |
macos-build: | |
name: Build in MacOS | |
runs-on: macos-latest | |
env: | |
NPROC: 3 | |
CTEST_PARALLEL_LEVEL: 3 # parallel test level for ctest (make test) | |
# this option enables print inner output rows of each node in runner | |
HYBRIDSE_DEBUG: true | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Install dependencies | |
run: | | |
brew install coreutils | |
- name: Cache thirdparty | |
uses: actions/cache@v3 | |
with: | |
path: | | |
.deps/ | |
thirdsrc | |
key: ${{ runner.os }}-thirdparty-${{ hashFiles('third-party/**/CMakeLists.txt', 'third-party/**/*.cmake', 'third-party/**/*.sh') }} | |
- name: Build Core | |
run: | | |
make hybridse-build | |
- name: Core Test | |
run: | | |
make hybridse-test | |
- name: Upload Event File | |
if: always() | |
uses: actions/upload-artifact@v3 | |
with: | |
name: event-file | |
path: ${{ github.event_path }} | |
- name: Upload Cpp UT Results | |
if: always() | |
uses: actions/upload-artifact@v3 | |
with: | |
name: macos-ut-result-cpp-${{ github.sha }} | |
path: | | |
build/hybridse/**/*.xml | |
publish-test-results-linux: | |
needs: ["linux-build"] | |
# the action will only run on 4paradigm/OpenMLDB's context, not for fork repo or dependabot | |
if: > | |
always() && github.event_name == 'push' || ( | |
github.event.pull_request.head.repo.full_name == github.repository && | |
github.event.sender.login != 'dependabot[bot]' ) | |
name: Publish Linux UT Results | |
uses: ./.github/workflows/publish-test-results-action.yml | |
with: | |
files: linux-ut-result-*/**/*.xml | |
check_name: HybridSE Linux Test Report | |
comment_title: HybridSE Linux Test Report | |
publish-test-results-mac: | |
needs: ["macos-build"] | |
# the action will only run on 4paradigm/OpenMLDB's context, not for fork repo or dependabot | |
if: > | |
always() && github.event_name == 'push' || ( | |
github.event.pull_request.head.repo.full_name == github.repository && | |
github.event.sender.login != 'dependabot[bot]' ) | |
name: Publish Mac UT Results | |
uses: ./.github/workflows/publish-test-results-action.yml | |
with: | |
files: macos-ut-result-*/**/*.xml | |
check_name: HybridSE Mac Test Report | |
comment_title: HybridSE Mac Test Report |