mirror of
https://github.com/andreinechaev/nvcc4jupyter.git
synced 2026-06-14 03:00:47 +05:30
781ff5b76b
* Add option to give nvcc extra arguments * Add test for nvcc options that changes c++ dialect from c++17 to c++14 * Add make and the english language pack to devcontainer to be able to build the documentation * Update documentation config to automatically import the current version of the package * Document new --compiler-args argument * Improve tests coverage by testing for bad arguments and the error output during a failed compilation * Add IPython to docs requirements to allow the __version__ import for readthedocs env * Change devcontainer base image to have the latest CUDA toolkit * Mock the nsight compute tool with a bash script * Add test to compile with opencv * Add new page to documentation that contains a new notebook that explains compiling with external libraries * Add autodocstring vscode extension to devcontainer * Add function that modifies the default profiler/compiler arguments to allow reusing them in multiple magic command calls * Update pylint exceptions * Update contributing instructions * Change version from 1.0.3 to 1.1.0 due to adding features in a backward-compatible manner * Install latest CUDA toolkit on the test runner to pass the OpenCV compilation test * Install opencv in test runner and update code coverage install * Add CUDA bin to PATH in test and coverage runners * Add cuda bin to path variable in .bashrc * Update way to set environment variable PATH in github action * Change devcontainer base image back to ubuntu:22.04 to match the environment from the test runner
100 lines
2.6 KiB
YAML
100 lines
2.6 KiB
YAML
name: Tests
|
|
|
|
on:
|
|
push:
|
|
branches: [master]
|
|
pull_request:
|
|
branches: [master, "release/*", "dev"]
|
|
|
|
jobs:
|
|
run_tests_ubuntu:
|
|
runs-on: ${{ matrix.os }}
|
|
|
|
strategy:
|
|
fail-fast: false
|
|
matrix:
|
|
os: ["ubuntu-latest"]
|
|
python-version: ["3.10", "3.11", "3.12"]
|
|
|
|
timeout-minutes: 20
|
|
|
|
steps:
|
|
- name: Checkout
|
|
uses: actions/checkout@v3
|
|
|
|
- name: Set up Python ${{ matrix.python-version }}
|
|
uses: actions/setup-python@v3
|
|
with:
|
|
python-version: ${{ matrix.python-version }}
|
|
|
|
- name: Install CUDA toolkit
|
|
run: |
|
|
sudo apt update
|
|
sudo apt install -y wget
|
|
wget https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2204/x86_64/cuda-keyring_1.1-1_all.deb
|
|
sudo dpkg -i cuda-keyring_1.1-1_all.deb
|
|
sudo apt update
|
|
sudo apt -y install cuda-toolkit-12-3
|
|
echo "PATH=$PATH:/usr/local/cuda/bin" >> $GITHUB_ENV
|
|
|
|
- name: Install OpenCV
|
|
run: |
|
|
sudo apt install -y libopencv-dev pkg-config
|
|
|
|
- name: Install Python dependencies
|
|
run: |
|
|
python -m pip install --upgrade pip
|
|
pip install -r tests/requirements.txt
|
|
|
|
- name: List dependencies
|
|
run: |
|
|
python -m pip list
|
|
|
|
- name: Run pytest
|
|
run: |
|
|
pytest -v
|
|
|
|
# upload code coverage report
|
|
code-coverage:
|
|
runs-on: ubuntu-latest
|
|
|
|
steps:
|
|
- name: Checkout
|
|
uses: actions/checkout@v2
|
|
with:
|
|
lfs: "true"
|
|
- run: git lfs pull
|
|
|
|
- name: Set up Python 3.10
|
|
uses: actions/setup-python@v2
|
|
with:
|
|
python-version: "3.10"
|
|
|
|
- name: Install CUDA toolkit
|
|
run: |
|
|
sudo apt update
|
|
sudo apt install -y wget
|
|
wget https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2204/x86_64/cuda-keyring_1.1-1_all.deb
|
|
sudo dpkg -i cuda-keyring_1.1-1_all.deb
|
|
sudo apt update
|
|
sudo apt -y install cuda-toolkit-12-3
|
|
echo "PATH=$PATH:/usr/local/cuda/bin" >> $GITHUB_ENV
|
|
|
|
- name: Install OpenCV
|
|
run: |
|
|
sudo apt install -y libopencv-dev pkg-config
|
|
|
|
- name: Install Python dependencies
|
|
run: |
|
|
python -m pip install --upgrade pip
|
|
pip install -r tests/requirements.txt
|
|
pip install pytest-cov[toml]
|
|
|
|
- name: Run tests and collect coverage
|
|
run: pytest --cov nvcc4jupyter
|
|
|
|
- name: Upload coverage to Codecov
|
|
uses: codecov/codecov-action@v3
|
|
env:
|
|
CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }}
|