TileDB Nightly Test Build #508
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: TileDB Nightly Test Build | |
on: | |
schedule: | |
# runs every day at 2:50 UTC | |
- cron: "50 02 * * *" | |
workflow_dispatch: | |
jobs: | |
test: | |
runs-on: ${{ matrix.os }} | |
strategy: | |
matrix: | |
include: | |
- os: ubuntu-latest | |
- os: macos-latest | |
- os: macos-latest # ASAN build | |
sanitizer: "address" | |
- os: macos-latest | |
experimental: ON | |
- os: windows-latest | |
- os: windows-2019 | |
- os: windows-latest | |
config: "Debug" | |
# Insufficient space on default D:/ for debug build | |
working_directory: "C:/" | |
fail-fast: false | |
name: | | |
${{ matrix.os }} - Sanitizer: ${{ matrix.sanitizer || 'none' }} | Experimental: ${{ matrix.experimental || 'OFF' }} | ${{ matrix.config || 'Release' }} | |
env: | |
MACOSX_DEPLOYMENT_TARGET: 10.15 | |
TILEDB_NIGHTLY_BUILD: 1 | |
steps: | |
- name: Print env | |
run: printenv | |
- name: Checkout TileDB `dev` | |
uses: actions/checkout@v3 | |
- name: Configure TileDB CMake (not-Windows) | |
if: ${{ ! contains(matrix.os, 'windows') }} | |
env: | |
SANITIZER_ARG: ${{ matrix.sanitizer || 'OFF' }} | |
EXPERIMENTAL: ${{ matrix.experimental || 'OFF' }} | |
working-directory: ${{ matrix.working_directory || github.workspace }} | |
run: | | |
cmake -B build ${{ matrix.config != 'Debug' && '-DTILEDB_VCPKG=OFF' }} -DTILEDB_WERROR=ON -DTILEDB_SERIALIZATION=ON -DTILEDB_EXPERIMENTAL_FEATURES=$EXPERIMENTAL -DCMAKE_BUILD_TYPE=${{ matrix.config || 'Release' }} -DSANITIZER=$SANITIZER_ARG | |
- name: Configure TileDB CMake (Windows) | |
if: contains(matrix.os, 'windows') | |
working-directory: ${{ matrix.working_directory || github.workspace }} | |
run: | | |
cmake -B build -S $env:GITHUB_WORKSPACE ${{ matrix.config != 'Debug' && '-DTILEDB_VCPKG=OFF' }} -DTILEDB_WERROR=ON -DTILEDB_SERIALIZATION=ON -DCMAKE_BUILD_TYPE=${{ matrix.config || 'Release' }} | |
- name: Build TileDB | |
working-directory: ${{ matrix.working_directory || github.workspace }} | |
run: | | |
cmake --build build -j2 --config ${{ matrix.config || 'Release' }} | |
- name: Test TileDB | |
working-directory: ${{ matrix.working_directory || github.workspace }} | |
run: | | |
cmake --build build --target check --config ${{ matrix.config || 'Release' }} | |
create_issue_on_fail: | |
permissions: | |
issues: write | |
runs-on: ubuntu-latest | |
needs: test | |
if: failure() || cancelled() | |
steps: | |
- name: Checkout TileDB `dev` | |
uses: actions/checkout@v3 | |
- name: Create Issue if Build Fails | |
uses: TileDB-Inc/github-actions/open-issue@main | |
with: | |
name: nightly GitHub Actions build | |
label: nightly | |
assignee: KiterLuc,teo-tsirpanis,davisp |