Skip to content

Show elapsed time for unit/coverage tests #1796

Show elapsed time for unit/coverage tests

Show elapsed time for unit/coverage tests #1796

name: Tests
on:
push:
branches: main
pull_request:
branches: main
jobs:
minimum-version-testing:
runs-on: ${{ matrix.os }}
strategy:
matrix:
os: [ubuntu-latest, macos-latest, windows-latest]
python-version: ['3.8']
steps:
- uses: actions/checkout@v4
- name: Set Up Python
uses: actions/setup-python@v5
with:
python-version: ${{ matrix.python-version }}
- name: Display Python Version
run: python -c "import sys; print(sys.version)"
shell: bash
- name: Upgrade Pip
run: python -m pip install --upgrade pip
shell: bash
- name: Generate Minimum Requirements File
run: sed 's/>/=/g' requirements.txt | sed 's/$/\.*/g' > requirements.min.txt
shell: bash
- name: Install Minimum Requirements
run: python -m pip install --upgrade -r requirements.min.txt
shell: bash
- name: Install STUMPY And Other Dependencies
run: python -m pip install --editable .[ci]
shell: bash
- name: Run Black
run: black --check --diff ./
shell: bash
- name: Run Flake8
run: flake8 ./
shell: bash
- name: Install and Link OpenMP
run: |
if [ "$RUNNER_OS" == "macOS" ]; then
echo "Installing OpenMP"
brew install libomp
echo "Linking OpenMP"
brew link --force libomp
echo "Find OpenMP Linking Location"
libfile=`brew list libomp --verbose | grep libomp.dylib`
echo $libfile
echo "Changing @rpath for the omppool.cpython-x-darwin.so shared object to look in $libfile"
ls "$(python -c 'import site; print(site.getsitepackages()[0])')"/numba/np/ufunc/omppool.*.so | xargs install_name_tool -change @rpath/libomp.dylib $libfile
fi
shell: bash
- name: Show Full Numba Environment
run: python -m numba -s
shell: bash
- name: Run Unit Tests
run: ./test.sh unit
shell: bash
unit-testing:
runs-on: ${{ matrix.os }}
strategy:
matrix:
os: [ubuntu-latest, macos-latest, windows-latest]
python-version: ['3.8', '3.9', '3.10', '3.11', '3.12']
steps:
- uses: actions/checkout@v4
- name: Set Up Python
uses: actions/setup-python@v5
with:
python-version: ${{ matrix.python-version }}
- name: Display Python Version
run: python -c "import sys; print(sys.version)"
shell: bash
- name: Upgrade Pip
run: python -m pip install --upgrade pip
shell: bash
- name: Install STUMPY And Other Dependencies
run: python -m pip install --editable .[ci]
shell: bash
- name: Run Black
run: black --check --diff ./
shell: bash
- name: Run Flake8
run: flake8 ./
shell: bash
- name: Install OpenMP
run: |
if [ "$RUNNER_OS" == "macOS" ]; then
echo "Installing OpenMP"
brew install libomp
echo "Linking OpenMP"
brew link --force libomp
echo "Find OpenMP Linking Location"
libfile=`brew list libomp --verbose | grep libomp.dylib`
echo $libfile
echo "Changing @rpath for the omppool.cpython-x-darwin.so shared object to look in $libfile"
ls "$(python -c 'import site; print(site.getsitepackages()[0])')"/numba/np/ufunc/omppool.*.so | xargs install_name_tool -change @rpath/libomp.dylib $libfile
fi
shell: bash
- name: Show Full Numba Environment
run: python -m numba -s
shell: bash
- name: Run Unit Tests
run: ./test.sh unit
shell: bash
coverage-testing:
runs-on: ${{ matrix.os }}
strategy:
matrix:
os: [ubuntu-latest, macos-latest, windows-latest]
python-version: ['3.8', '3.9', '3.10', '3.11', '3.12']
steps:
- uses: actions/checkout@v4
- name: Set Up Python
uses: actions/setup-python@v5
with:
python-version: ${{ matrix.python-version }}
- name: Display Python Version
run: python -c "import sys; print(sys.version)"
shell: bash
- name: Upgrade Pip
run: python -m pip install --upgrade pip
shell: bash
- name: Install STUMPY And Other Dependencies
run: python -m pip install --editable .[ci]
shell: bash
- name: Run Black
run: black --check --diff ./
shell: bash
- name: Run Flake8
run: flake8 ./
shell: bash
- name: Link OpenMP
run: |
if [ "$RUNNER_OS" == "macOS" ]; then
echo "Installing OpenMP"
brew install libomp
echo "Linking OpenMP"
brew link --force libomp
echo "Find OpenMP Linking Location"
libfile=`brew list libomp --verbose | grep libomp.dylib`
echo $libfile
echo "Changing @rpath for the omppool.cpython-x-darwin.so shared object to look in $libfile"
ls "$(python -c 'import site; print(site.getsitepackages()[0])')"/numba/np/ufunc/omppool.*.so | xargs install_name_tool -change @rpath/libomp.dylib $libfile
fi
shell: bash
- name: Show Full Numba Environment
run: python -m numba -s
shell: bash
- name: Run Coverage Tests
run: ./test.sh coverage
shell: bash
- name: Generate Coverage Report
run: ./test.sh report coverage.stumpy.xml
shell: bash
- name: Upload Coverage Tests Results
uses: codecov/codecov-action@v4
with:
file: ./coverage.stumpy.xml
verbose: true
token: ${{ secrets.CODECOV_TOKEN }}