Skip to content

FastAPI app (#27)

FastAPI app (#27) #84

Workflow file for this run

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.9", "3.10", "3.11"]
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: 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