version dump due to major readme update #33
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| name: Development Pipeline | |
| on: | |
| push: | |
| branches: [develop] | |
| pull_request: | |
| branches: [develop] | |
| # Allow manual workflow runs | |
| workflow_dispatch: | |
| jobs: | |
| dev-test: | |
| name: Development Tests | |
| runs-on: ubuntu-latest | |
| strategy: | |
| matrix: | |
| python-version: ['3.11', '3.12'] | |
| steps: | |
| - name: Checkout code | |
| uses: actions/checkout@v4 | |
| - name: Set up Python ${{ matrix.python-version }} | |
| uses: actions/setup-python@v4 | |
| with: | |
| python-version: ${{ matrix.python-version }} | |
| - name: Install dependencies | |
| run: | | |
| python -m pip install --upgrade pip | |
| pip install -e . | |
| pip install pytest pytest-cov pytest-xdist | |
| - name: Run tests with parallel execution | |
| run: | | |
| pytest tests/ -v --cov=map_binning --cov-report=xml --cov-report=term -n auto | |
| - name: Upload coverage reports to Codecov | |
| uses: codecov/codecov-action@v5 | |
| with: | |
| token: ${{ secrets.CODECOV_TOKEN }} | |
| dev-lint: | |
| name: Development Code Quality | |
| runs-on: ubuntu-latest | |
| steps: | |
| - name: Checkout code | |
| uses: actions/checkout@v4 | |
| - name: Set up Python | |
| uses: actions/setup-python@v4 | |
| with: | |
| python-version: '3.11' | |
| - name: Install linting dependencies | |
| run: | | |
| python -m pip install --upgrade pip | |
| pip install flake8 black isort mypy | |
| - name: Run flake8 | |
| run: | | |
| flake8 map_binning tests --count --select=E9,F63,F7,F82 --show-source --statistics | |
| - name: Check code formatting | |
| run: | | |
| black --check map_binning tests | |
| - name: Check import sorting | |
| run: | | |
| isort --check-only map_binning tests | |
| - name: Type checking with mypy | |
| run: | | |
| mypy map_binning --ignore-missing-imports || true | |
| dev-build: | |
| name: Development Build Test | |
| runs-on: ubuntu-latest | |
| needs: [dev-test, dev-lint] | |
| steps: | |
| - name: Checkout code | |
| uses: actions/checkout@v4 | |
| - name: Set up Python | |
| uses: actions/setup-python@v4 | |
| with: | |
| python-version: '3.11' | |
| - name: Install build dependencies | |
| run: | | |
| python -m pip install --upgrade pip | |
| pip install build | |
| - name: Build development package | |
| run: | | |
| python -m build | |
| - name: Test development installation | |
| run: | | |
| pip install dist/*.whl | |
| python -c "import map_binning; print(f'Dev build version: {map_binning.__version__}')" |