mirror of
https://github.com/andreinechaev/nvcc4jupyter.git
synced 2026-06-13 18:50:47 +05:30
87 lines
2.1 KiB
YAML
87 lines
2.1 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 }}
|
|
|
|
# the mkdir command bypasses a profiler error, which allows us to run it
|
|
# with host code only to at least check that the profiler parameters are
|
|
# correctly provided
|
|
- name: Install CUDA tools
|
|
run: |
|
|
sudo apt update
|
|
sudo apt install nvidia-cuda-toolkit
|
|
sudo mkdir -p /usr/lib/x86_64-linux-gnu/nsight-compute/sections
|
|
|
|
- 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 tools
|
|
run: |
|
|
sudo apt update
|
|
sudo apt install nvidia-cuda-toolkit
|
|
sudo mkdir -p /usr/lib/x86_64-linux-gnu/nsight-compute/sections
|
|
|
|
- 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 }}
|