name: Tests on: push: branches: [ main ] schedule: - cron: 0 0 * * * pull_request: env: CARGO_TERM_COLOR: always jobs: test: strategy: matrix: python-version: - '3.8.x' - '3.9.x' - '3.10.x' - '3.11.x' - '3.12.x' os: - ubuntu-latest include: - os: macos-latest python-version: '3.8.x' if: >- ${{ !contains(github.ref, 'refs/heads/gpu') && github.event_name != 'pull_request' || github.event.pull_request.base.ref != 'gpu' }} - os: windows-latest python-version: '3.8.x' if: >- ${{ !contains(github.ref, 'refs/heads/gpu') && github.event_name != 'pull_request' || github.event.pull_request.base.ref != 'gpu' }} runs-on: ${{ matrix.os }} name: Python ${{ matrix.python-version }} on ${{ matrix.os }} test steps: - uses: actions/checkout@v3 - name: Set up Python uses: actions/setup-python@v5 with: python-version: ${{ matrix.python-version }} - name: Install dependencies run: | python -m pip install poetry poetry config virtualenvs.create false poetry install --no-interaction --no-ansi --without docs - name: Install Test Dependencies run: pip install pytest pytest-md pytest-emoji - name: Run pytest uses: pavelzw/pytest-action@v2 with: verbose: true emoji: true job-summary: true report-title: 'FastEmbed Test Report'