Skip to content

Remove auto-removal of duplicated DataFrame index #261

Remove auto-removal of duplicated DataFrame index

Remove auto-removal of duplicated DataFrame index #261

Workflow file for this run

name: PyNeon CI
on:
push:
branches: ["main", "dev"]
pull_request:
branches: ["main", "dev"]
jobs:
format:
runs-on: ubuntu-latest
permissions:
contents: write
steps:
- uses: actions/checkout@v4
with:
fetch-depth: 0 # to be able to push changes
- name: Set up Python
uses: actions/setup-python@v4
with:
python-version: "3.13"
- name: Install format tools
run: |
pip install ruff isort
- name: Sort imports with isort
run: isort --profile black .
- name: Format code with Ruff
run: ruff format .
- name: Commit changes if any
if: github.event_name == 'push' # only push changes on push events
run: |
git config --local user.email "github-actions[bot]@users.noreply.github.com"
git config --local user.name "github-actions[bot]"
git add .
git commit -m "Format code with isort and ruff" || echo "No changes to commit"
git push
tests:
runs-on: ${{ matrix.os }}
env:
PYTHONFAULTHANDLER: "1"
needs: format # waits until formatting is done
strategy:
fail-fast: false
matrix:
os: [ubuntu-latest, windows-latest, macos-latest]
python-version: ["3.10", "3.11", "3.12", "3.13"]
steps:
- uses: actions/checkout@v4
- name: Set up Python
uses: actions/setup-python@v4
with:
python-version: ${{ matrix.python-version }}
- name: Install test dependencies
run: pip install .[dev]
- name: Run tests
if: matrix.os != 'windows-latest'
run: pytest tests -p no:cacheprovider -p no:faulthandler -p no:unraisableexception
- name: Run tests (Windows, disable MSMF)
if: matrix.os == 'windows-latest'
env:
OPENCV_VIDEOIO_PRIORITY_MSMF: "0"
run: pytest tests -p no:cacheprovider -p no:faulthandler -p no:unraisableexception
build-docs:
runs-on: ubuntu-latest
needs: format # waits until formatting is done
if: github.ref == 'refs/heads/main' && github.event_name == 'push'
steps:
- uses: actions/checkout@v4
- name: Set up Python
uses: actions/setup-python@v4
with:
python-version: "3.13"
- name: Install Pandoc
run: sudo apt-get install -y pandoc
- name: Install docs dependencies
run: pip install .[doc]
- name: Build Documentation
env:
PYTHONPATH: ${{ github.workspace }}
run: make html
- name: Create .nojekyll file
run: touch build/html/.nojekyll
- name: Upload artifacts
uses: actions/upload-artifact@v4
with:
name: html-docs
path: build/html
- name: Deploy (GitHub Pages)
uses: peaceiris/actions-gh-pages@v3
with:
github_token: ${{ secrets.GITHUB_TOKEN }}
publish_dir: build/html
- name: Clean build folder
run: rm -rf build/*