Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
47 changes: 28 additions & 19 deletions .github/workflows/cpp-package.yml
Original file line number Diff line number Diff line change
Expand Up @@ -5,25 +5,34 @@ on: [push]
jobs:
build-cpp:
runs-on: ubuntu-latest

steps:
- uses: actions/checkout@v4
- name: make
run: |
cd cpp
make all

- name: format
run: |
cd cpp
make format

- name: run_tests
run: |
cd cpp
make run_tests

- name: clean

- name: Install dependencies
run: |
cd cpp
make clean
sudo apt-get update
sudo apt-get install -y cmake build-essential
# Install Google Test from source - most reliable approach
git clone https://github.com/google/googletest.git --depth 1
cd googletest
mkdir build && cd build
cmake .. -DCMAKE_INSTALL_PREFIX=/usr/local -DBUILD_SHARED_LIBS=ON
make -j$(nproc)
sudo make install
sudo ldconfig

- name: Debug Google Test configuration
run: make debug-gtest

- name: Format C++ code
run: make format-cpp

- name: Lint C++ code
run: make lint-cpp

- name: Run C++ tests
run: make test-cpp:all

- name: Clean
run: make clean
17 changes: 7 additions & 10 deletions .github/workflows/python-package-conda.yml
Original file line number Diff line number Diff line change
Expand Up @@ -20,16 +20,13 @@ jobs:
- name: Install dependencies
run: |
python -m pip install --upgrade pip
pip install -r python/requirements.txt
pip install -r requirements.txt

- name: Lint code with Ruff
run: ruff check python --output-format=github --target-version=py310
- name: Format Python code
run: make format-python

- name: Check code formatting with Ruff
run: ruff format python --diff --target-version=py310
continue-on-error: true
- name: Lint Python code
run: make lint-python

- name: Test with pytest
run: |
pip install pytest pytest-cov
pytest python --doctest-modules --junitxml=junit/test-results.xml --cov=python --cov-report=xml --cov-report=html
- name: Run Python tests
run: make test-py:all
174 changes: 171 additions & 3 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,5 +1,173 @@
# VSCode related
########################################
# VSCode & macOS
########################################
.vscode/
.DS_Store

# MacOS related
.DS_Store
########################################
# Python
########################################

# Virtual environments
venv/

# Byte-compiled / optimized / DLL files
__pycache__/
*.py[cod]
*$py.class

# C extensions (Python)
*.so

# Distribution / packaging
.Python
build/
develop-eggs/
dist/
downloads/
eggs/
.eggs/
lib/
lib64/
parts/
sdist/
var/
wheels/
share/python-wheels/
*.egg-info/
.installed.cfg
*.egg
MANIFEST

# PyInstaller
*.manifest
*.spec

# Installer logs
pip-log.txt
pip-delete-this-directory.txt

# Unit test / coverage reports
htmlcov/
.tox/
.nox/
.coverage
.coverage.*
.cache
nosetests.xml
coverage.xml
*.cover
*.py,cover
.hypothesis/
.pytest_cache/
cover/

# Translations
*.mo
*.pot

# Django
*.log
local_settings.py
db.sqlite3
db.sqlite3-journal

# Flask
instance/
.webassets-cache

# Scrapy
.scrapy

# Sphinx
docs/_build/

# PyBuilder
.pybuilder/
target/

# Jupyter
.ipynb_checkpoints

# IPython
profile_default/
ipython_config.py

# Poetry / Pipenv / PDM
#poetry.lock
#Pipfile.lock
pdm.lock
.pdm.toml

# PEP 582 (pyflow/pdm)
__pypackages__/

# Celery
celerybeat-schedule
celerybeat.pid

# SageMath
*.sage.py

# Spyder / Rope / IDEs
.spyderproject
.spyproject
.ropeproject

# mkdocs
/site

# Type checkers
.mypy_cache/
.dmypy.json
dmypy.json
.pyre/
.pytype/
cython_debug/

# PyCharm (optional)
#.idea/

########################################
# C / C++
########################################

# Build directories
build/

# Prerequisites
*.d

# Compiled Object files
*.slo
*.lo
*.o
*.obj

# Precompiled Headers
*.gch
*.pch

# Compiled Dynamic libraries
*.so
*.dylib
*.dll

# Fortran module files
*.mod
*.smod

# Compiled Static libraries
*.lai
*.la
*.a
*.lib

# Executables
*.exe
*.out
*.app

# Test Runner
test_runner
test_runner.dSYM/
Loading