Unverified Commit db9017b6 authored by Kelvin Rodriguez's avatar Kelvin Rodriguez Committed by GitHub
Browse files

updated ci_testing

parent 05642bec
Loading
Loading
Loading
Loading
+141 −0
Original line number Diff line number Diff line
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.8", "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: ale
          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
        working-directory: ${{github.workspace}}/build
        run: cmake $GITHUB_WORKSPACE -DCMAKE_BUILD_TYPE=$BUILD_TYPE -DSPICEQL_BUILD_DOCS=OFF -DCMAKE_INSTALL_PREFIX=${{github.workspace}}/install
      - name: Build
        working-directory: ${{github.workspace}}/build
        # Execute the build.  You can specify a specific target with "--target <NAME>"
        run: |
          cmake --build . --config $BUILD_TYPE
  
      - 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 -C $BUILD_TYPE
  
      - 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
              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
  

.github/workflows/ctests.yml

deleted100644 → 0
+0 −149
Original line number Diff line number Diff line
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]
    defaults:
      run:
        shell: bash -l {0}
    env:
      SSPICE_DEBUG: y
    steps:
    - uses: actions/checkout@v2
    - uses: conda-incubator/setup-miniconda@v2
      with:
          miniconda-version: "latest"
          activate-environment: spiceql
          environment-file: environment.yml
          auto-activate-base: false
          auto-update-conda: true

    - name: Conda info
      run: |
          conda info
          conda list

    - name: Checkout submodules
      uses: snickerbockers/submodules-init@v4

    - 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 -DCSpice_DIR=$CONDA/envs/spiceql/lib/cmake/cspice/ -Dfmt_DIR=$CONDA/envs/spiceql/lib/cmake/fmt/ -DSPICEQL_BUILD_DOCS=OFF -DCMAKE_INSTALL_PREFIX=${{github.workspace}}/install

    - name: Build
      working-directory: ${{github.workspace}}/build
      # Execute the build.  You can specify a specific target with "--target <NAME>"
      run: |
        cmake --build . --config $BUILD_TYPE

    - 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 -C $BUILD_TYPE

    - 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@v2
    - uses: conda-incubator/setup-miniconda@v2
      with:
          miniconda-version: "latest"
          activate-environment: spiceql
          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
 No newline at end of file