diff --git a/.github/workflows/python-tests.yml b/.github/workflows/python-tests.yml new file mode 100644 index 0000000..60dc16d --- /dev/null +++ b/.github/workflows/python-tests.yml @@ -0,0 +1,50 @@ +name: python-tests + +env: + PYTHON_VERSION: "3.12" + +on: + push: + branches: [main] + paths: + - "socket_basics/**/*.py" + - "tests/**/*.py" + - "pyproject.toml" + - "uv.lock" + - ".github/workflows/python-tests.yml" + pull_request: + paths: + - "socket_basics/**/*.py" + - "tests/**/*.py" + - "pyproject.toml" + - "uv.lock" + - ".github/workflows/python-tests.yml" + workflow_dispatch: + +permissions: + contents: read + +concurrency: + group: python-tests-${{ github.ref }} + cancel-in-progress: true + +jobs: + python-tests: + runs-on: ubuntu-latest + timeout-minutes: 20 + steps: + - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 + with: + fetch-depth: 1 + persist-credentials: false + - name: ๐Ÿ setup python + uses: actions/setup-python@a309ff8b426b58ec0e2a45f0f869d46889d02405 # v6.2.0 + with: + python-version: ${{ env.PYTHON_VERSION }} + cache: "pip" + - name: ๐Ÿ› ๏ธ install deps + run: | + python -m pip install --upgrade pip + pip install -e ".[dev]" + - name: ๐Ÿงช run tests + run: pytest -q tests/