Merging 1.0 changes into main #16
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: CMake | |
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 | |
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=${{github.workspace}}/install .. | |
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}}/install | |
# Check that the library installed properly | |
run: | | |
if [ "$RUNNER_OS" == "macOS" ]; then | |
test -e lib/libSpiceQL.dylib | |
elif [ "$RUNNER_OS" == "Linux" ]; then | |
test -e lib/libSpiceQL.so | |
fi | |
test -e include/SpiceQL/spiceql.h | |
rm -rf ${{github.workspace}}/build | |
python -c "import pyspiceql" | |
# compair all json files against the schema | |
- name: check json files | |
working-directory: ${{github.workspace}}/SpiceQL/db/schema | |
run: | | |
for file in *.json; | |
do | |
pwd | |
jsonschema --instance "$file" 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}}/build | |
# Execute the build. | |
run: | | |
cmake --build . --config $BUILD_TYPE | |
- name: Check Build Docs | |
working-directory: ${{github.workspace}}/build/docs/sphinx | |
# Check for the built docs | |
run: | | |
test -e index.html | |
test -e reference/api.html | |
test -e reference/tutorials.html | |
- name: Install Docs | |
working-directory: ${{github.workspace}}/build | |
# Install the build. | |
run: | | |
cmake --install . --config $BUILD_TYPE | |
- name: Check Install Docs | |
working-directory: ${{github.workspace}}/install | |
# Check for the built docs | |
run: | | |
test -e share/doc/SpiceQL/sphinx/index.html | |
test -e share/doc/SpiceQL/sphinx/reference/api.html | |
test -e share/doc/SpiceQL/sphinx/reference/tutorials.html | |