-
Notifications
You must be signed in to change notification settings - Fork 4
124 lines (110 loc) · 4.01 KB
/
ci_testing.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
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
name: Build-And-Test
on: [push, pull_request]
env:
# Customize the CMake build type here (Release, Debug, RelWithDebInfo, etc.)
BUILD_TYPE: Release
jobs:
build-library:
runs-on: ${{ matrix.os }}
strategy:
matrix:
os: [ubuntu-latest, macos-latest]
python-version: ["3.10", "3.11", "3.12"]
defaults:
run:
shell: bash -l {0}
env:
SSPICE_DEBUG: y
SPICEQL_LOG_LEVEL: DEBUG
steps:
- uses: actions/checkout@c85c95e3d7251135ab7dc9ce3241c5835cc595a9
with:
submodules: true
- uses: conda-incubator/setup-miniconda@3b0f2504dd76ef23b6d31f291f4913fb60ab5ff3
with:
miniforge-version: latest
use-mamba: true
channels: conda-forge
activate-environment: spiceql
environment-file: environment.yml
auto-activate-base: false
auto-update-conda: true
python-version: ${{ matrix.python-version }}
- name: Check build environment
run: |
conda list
- name: Configure CMake
run: |
mkdir -p build
cd build
cmake -DCMAKE_BUILD_TYPE=RELEASE -DSPICEQL_BUILD_DOCS=OFF -DCMAKE_INSTALL_PREFIX=$CONDA_PREFIX ..
cmake --build .
- name: Test
working-directory: ${{github.workspace}}/build
# Execute tests defined by the CMake configuration.
# See https://cmake.org/cmake/help/latest/manual/ctest.1.html for more detail
run: |
ctest -VV
- name: Install
working-directory: ${{github.workspace}}/build
# Execute the install. You can specify a specific target with "--target <NAME>"
run: |
cmake --install . --config $BUILD_TYPE
- name: Check install
working-directory: ${{github.workspace}}
# Check that the library installed properly
run: |
if [ "$RUNNER_OS" == "macOS" ]; then
test -e $CONDA_PREFIX/lib/libSpiceQL.dylib
elif [ "$RUNNER_OS" == "Linux" ]; then
test -e $CONDA_PREFIX/lib/libSpiceQL.so
fi
test -e $CONDA_PREFIX/include/SpiceQL/spiceql.h
$CONDA_PREFIX/bin/python -c "import pyspiceql"
# compair all json files against the schema
- name: check json files
working-directory: ${{github.workspace}}/SpiceQL/db/
run: |
for file in *.json;
do
pwd
check-jsonschema $file --schemafile schema/spiceMissionSchmea.schema.json
done;
build-docs:
runs-on: ubuntu-latest
defaults:
run:
shell: bash -l {0}
steps:
- uses: actions/checkout@c85c95e3d7251135ab7dc9ce3241c5835cc595a9
- uses: conda-incubator/setup-miniconda@3b0f2504dd76ef23b6d31f291f4913fb60ab5ff3
with:
miniconda-version: "latest"
activate-environment: spiceql
channels: conda-forge
environment-file: environment.yml
auto-activate-base: false
auto-update-conda: true
- name: Conda info
run: |
conda info
conda list
- name: Create Build Environment
# Some projects don't allow in-source building, so create separate build and install
# directorie; we'll use them as our working directories for subsequent commands.
run: |
cmake -E make_directory ${{github.workspace}}/build
cmake -E make_directory ${{github.workspace}}/install
- name: Configure CMake
working-directory: ${{github.workspace}}/build
run: cmake $GITHUB_WORKSPACE -DCMAKE_BUILD_TYPE=$BUILD_TYPE -DSPICEQL_BUILD_LIB=OFF -DCMAKE_INSTALL_PREFIX=${{github.workspace}}/install
- name: Build
working-directory: ${{github.workspace}}/
# Execute the build.
run: |
mkdocs build
- name: Check Build Docs
working-directory: ${{github.workspace}}/site
# Check for the built docs
run: |
test -e index.html