Skip to content

Commit

Permalink
🔧 Explicitly include testing files in sdist for redistributors (e.g. …
Browse files Browse the repository at this point in the history
…OpenSUSE) and add CI to test redistribution (#773)
  • Loading branch information
tiangolo authored Mar 28, 2024
1 parent 1f6b15e commit 0cdc31e
Show file tree
Hide file tree
Showing 4 changed files with 60 additions and 1 deletion.
51 changes: 51 additions & 0 deletions .github/workflows/test-redistribute.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,51 @@
name: Test Redistribute

on:
push:
branches:
- master
pull_request:
types:
- opened
- synchronize

jobs:
test-redistribute:
runs-on: ubuntu-latest
steps:
- name: Dump GitHub context
env:
GITHUB_CONTEXT: ${{ toJson(github) }}
run: echo "$GITHUB_CONTEXT"
- uses: actions/checkout@v4
- name: Set up Python
uses: actions/setup-python@v5
with:
python-version: "3.10"
# Issue ref: https://github.com/actions/setup-python/issues/436
# cache: "pip"
# cache-dependency-path: pyproject.toml
- name: Install build dependencies
run: pip install build
- name: Build source distribution
run: python -m build --sdist
- name: Decompress source distribution
run: |
cd dist
tar xvf typer*.tar.gz
- name: Install test dependencies
run: |
cd dist/typer-*/
pip install -r requirements-tests.txt
- name: Run source distribution tests
run: |
cd dist/typer-*/
bash scripts/test.sh
- name: Build wheel distribution
run: |
cd dist
pip wheel --no-deps typer-*.tar.gz
- name: Dump GitHub context
env:
GITHUB_CONTEXT: ${{ toJson(github) }}
run: echo "$GITHUB_CONTEXT"
1 change: 1 addition & 0 deletions .github/workflows/test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -40,6 +40,7 @@ jobs:
- name: Lint
run: bash scripts/lint.sh
- run: mkdir coverage
- run: bash ./scripts/test-files.sh
- name: Test
run: bash scripts/test.sh
env:
Expand Down
8 changes: 8 additions & 0 deletions pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -52,6 +52,14 @@ all = [
version = { source = "file", path = "typer/__init__.py" }
distribution = true

[tool.pdm.build]
source-includes = [
"tests/",
"docs_src/",
"requirements*.txt",
"scripts/",
]

[tool.isort]
profile = "black"
known_third_party = ["typer", "click"]
Expand Down
1 change: 0 additions & 1 deletion scripts/test.sh
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,5 @@ set -x
export TERMINAL_WIDTH=3000
# Force disable terminal for tests inside of pytest, takes precedence over GITHUB_ACTIONS env var
export _TYPER_FORCE_DISABLE_TERMINAL=1
bash ./scripts/test-files.sh
# It seems xdist-pytest ensures modified sys.path to import relative modules in examples keeps working
pytest --cov --cov-report=term-missing -o console_output_style=progress --numprocesses=auto ${@}

0 comments on commit 0cdc31e

Please sign in to comment.