-
Notifications
You must be signed in to change notification settings - Fork 185
80 lines (69 loc) · 2.55 KB
/
nightly-test.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
name: TileDB Nightly Test Build
on:
schedule:
# runs every day at 2:50 UTC
- cron: "50 02 * * *"
workflow_dispatch:
push:
branches:
- '*' # must quote since "*" is a YAML reserved character; we want a string
jobs:
test:
runs-on: ${{ matrix.os }}
strategy:
matrix:
include:
- os: windows-latest
config: "Debug"
fail-fast: false
name: |
${{ matrix.os }} - Sanitizer: ${{ matrix.sanitizer || 'none' }} | Experimental: ${{ matrix.experimental || 'OFF' }} | ${{ matrix.config || 'Release' }}
permissions:
issues: write
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' }}
run: |
cmake -B build -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')
env:
S3_ARG: ${{ matrix.s3 || 'ON' }}
run: |
# Free up some disk space
rm -r -fo "C:/Android/*.*"
rm -r -fo "C:/hostedtoolcache/windows/PyPy"
rm -r -fo "C:/msys64/*.*"
rm -r -fo "C:/hostedtoolcache/windows/Java_Temurin-Hotspot_jdk/"
rm -r -fo "C:/Program Files/LLVM"
# Disable S3 due to space constraints
cmake -B build -DTILEDB_WERROR=ON -DTILEDB_S3=$env:S3_ARG -DTILEDB_SERIALIZATION=ON -DCMAKE_BUILD_TYPE=${{ matrix.config || 'Release' }}
- name: Build TileDB
run: |
cmake --build build -j2 --config ${{ matrix.config || 'Release' }}
- name: Test TileDB
run: |
cmake --build build --target check --config ${{ matrix.config || 'Release' }}
# create_issue_on_fail:
# 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: JasonEtco/create-an-issue@v2
# env:
# GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
# with:
# filename: .github/workflows/nightly-failure-issue-template.md