Skip to content

Use vendoring as the distribution method #317

Use vendoring as the distribution method

Use vendoring as the distribution method #317

Workflow file for this run

name: Tests
on:
push:
branches:
- master
pull_request:
branches:
- master
concurrency:
group: test-${{ github.head_ref }}
cancel-in-progress: true
env:
PYTHONUNBUFFERED: "1"
FORCE_COLOR: "1"
PYTHONIOENCODING: "utf8"
PYAWAITABLE_OPTIMIZED: 1
jobs:
changes:
name: Check for changed files
runs-on: ubuntu-latest
outputs:
source: ${{ steps.filter.outputs.source }}
csource: ${{ steps.filter.outputs.csource }}
steps:
- uses: actions/checkout@v2
- uses: dorny/paths-filter@v3
id: filter
with:
filters: |
source:
- 'src/**'
run-tests:
needs: changes
if: ${{ needs.changes.outputs.source == 'true' }}
name: Python ${{ matrix.python-version }} on ${{ startsWith(matrix.os, 'macos-') && 'macOS' || startsWith(matrix.os, 'windows-') && 'Windows' || 'Linux' }}
runs-on: ${{ matrix.os }}
strategy:
fail-fast: true
matrix:
os: [ubuntu-latest, windows-latest, macos-latest]
python-version: ["3.9", "3.10", "3.11", "3.12", "3.13"]
steps:
- uses: actions/checkout@v2
- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v2
with:
python-version: ${{ matrix.python-version }}
- name: Build PyAwaitable
run: pip install .
- name: Build PyAwaitable Test Package
run: pip install ./tests
- name: Run tests
run: python -W error -m unittest tests/main.py --verbose
tests-pass:
runs-on: ubuntu-latest
name: All tests passed
if: always()
needs:
- run-tests
steps:
- name: Check whether all tests passed
uses: re-actors/alls-green@release/v1
with:
jobs: ${{ toJSON(needs) }}
allowed-skips: ${{ toJSON(needs) }}