Skip to content

Refactor to underlying C99 impl #203

Refactor to underlying C99 impl

Refactor to underlying C99 impl #203

Workflow file for this run

name: CI
on: [push, pull_request]
jobs:
lint:
name: Lint
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Get latest CMake and ninja
uses: lukka/get-cmake@latest
- name: Install static analyzers
run: sudo apt-get install clang-tidy cppcheck -y -q
- name: Configure
shell: pwsh
run: cmake --preset=ci-lint
- name: Build
run: cmake --build build
- name: Check header formatting
uses: jidicula/clang-format-action@v4.11.0
with:
clang-format-version: '17'
check-path: 'include/perturb'
- name: Check source formatting
uses: jidicula/clang-format-action@v4.11.0
with:
clang-format-version: '17'
check-path: 'src'
- name: Check tests formatting
uses: jidicula/clang-format-action@v4.11.0
with:
clang-format-version: '17'
check-path: 'tests'
examples:
name: Examples
needs: [ lint ]
runs-on: ubuntu-latest
strategy:
matrix:
example-folder: [ cmake-local, cmake-fetch-content ]
defaults:
run:
working-directory: examples/${{ matrix.example-folder }}
steps:
- uses: actions/checkout@v4
- name: Get latest CMake and ninja
uses: lukka/get-cmake@latest
- name: Configure example
run: cmake -S . -B build
- name: Build example
run: cmake --build build
- name: Run example
run: |
cd build
./VeryCoolExampleProject
test:
name: Test
needs: [ examples ]
strategy:
matrix:
os: [ ubuntu-latest, macos-latest, windows-latest ]
disable_io: [ OFF ]
include:
- os: ubuntu-latest
disable_io: ON
runs-on: ${{ matrix.os }}
steps:
- uses: actions/checkout@v4
- name: Get latest CMake and ninja
uses: lukka/get-cmake@latest
- name: Configure
shell: pwsh
run: cmake "--preset=ci-$("${{ matrix.os }}".split("-")[0])" -Dperturb_DISABLE_IO=${{ matrix.disable_io }}
- name: Build
run: cmake --build build
- name: Run tests on Unix
if: matrix.os != 'windows-latest'
working-directory: build/tests
run: |
cp ../../tests/SGP4-VER.TLE .
./test_perturb --duration --force-colors
- name: Run tests on Windows
if: matrix.os == 'windows-latest'
working-directory: build/tests/Debug
run: |
Copy-Item -Path ../../../tests/SGP4-VER.TLE -Destination .
./test_perturb.exe --duration --force-colors
docs:
name: Docs
needs: [ examples, test ]
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Build docs with Doxygen
uses: mattnotmitt/doxygen-action@1.9.5
with:
working-directory: docs
- name: Deploy docs to Github pages
if: github.ref == 'refs/heads/master'
&& github.event_name == 'push'
&& github.repository_owner == 'gunvirranu'
uses: peaceiris/actions-gh-pages@v3
with:
github_token: ${{ secrets.GITHUB_TOKEN }}
publish_dir: docs/html