Skip to content

Tests

Tests #123

Workflow file for this run

name: Tests
on:
push:
branches:
- main
paths:
- hatch_pip_compile/**
- pyproject.toml
- .github/workflows/tests.yaml
- tests/**
pull_request:
branches: ["**"]
paths:
- hatch_pip_compile/**
- pyproject.toml
- .github/workflows/tests.yaml
- tests/**
schedule:
- cron: 0 12 1 * *
jobs:
test-suite:
strategy:
fail-fast: true
matrix:
include:
- {
name: Python-3.12,
python: "3.12",
command: "matrix:cov",
matrix: "+py=3.12",
hatch_version: "1.0",
os: ubuntu-latest,
}
- {
name: Python-3.11,
python: "3.11",
command: "matrix:cov",
matrix: "+py=3.11",
hatch_version: "1.0",
os: ubuntu-latest,
}
- {
name: Python-3.10,
python: "3.10",
command: "matrix:cov",
matrix: "+py=3.10",
hatch_version: "1.0",
os: ubuntu-latest,
}
- {
name: Python-3.9,
python: "3.9",
command: "matrix:cov",
matrix: "+py=3.9",
hatch_version: "1.0",
os: ubuntu-latest,
}
- {
name: Python-3.8,
python: "3.8",
command: "matrix:cov",
matrix: "+py=3.8",
hatch_version: "1.0",
os: ubuntu-latest,
}
- {
name: Hatch-1.7.x,
python: "3.11",
command: "versions:cov",
matrix: "+version=1.7.x",
hatch_version: "1.7.0",
os: ubuntu-latest,
}
- {
name: Hatch-1.8.x,
python: "3.11",
command: "versions:cov",
matrix: "+version=1.8.x",
hatch_version: "1.8.0",
os: ubuntu-latest,
}
- {
name: Hatch-1.9.x,
python: "3.11",
command: "versions:cov",
matrix: "+version=1.9.x",
hatch_version: "1.9.0",
os: ubuntu-latest,
}
- {
name: Hatch-Windows,
python: "3.11",
command: "matrix:cov",
matrix: "+py=3.11",
hatch_version: "1.0",
os: windows-latest,
}
runs-on: ${{ matrix.os }}
concurrency:
group: ${{ github.workflow }}-${{ matrix.name }}-${{ github.ref }}
cancel-in-progress: true
env:
PIP_COMPILE_DISABLE: true
steps:
- name: Set up Github Workspace
uses: actions/checkout@v4
with:
fetch-depth: 0
- name: Set up Python Environment ${{ matrix.python }}
uses: actions/setup-python@v5
with:
python-version: ${{ matrix.python }}
- name: Install Default Python
if: matrix.python != '3.11'
uses: actions/setup-python@v5
with:
python-version: "3.11"
- name: Install Hatch
run: |
python -m pip install --upgrade pip wheel
python -m pip install -q "hatch~=${{ matrix.hatch_version }}"
python -m pip install -q pre-commit
python -m pip install -q "${{ github.workspace }}"
hatch --version
- name: Test Suite
run: |
echo "::add-matcher::.github/workflows/matchers/python.json"
hatch run ${{ matrix.matrix }} ${{ matrix.command }}
echo "::remove-matcher owner=python::"
- name: Upload coverage reports to Codecov
if: matrix.os == 'ubuntu-latest' && matrix.python == '3.11' && matrix.command == 'matrix:cov'
uses: codecov/codecov-action@v3
env:
CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }}