mirror of
https://github.com/kennethreitz/pipenv.git
synced 2026-06-05 06:46:15 +00:00
9a3b3ce706
* Add .pre-commit-config.yaml to the project and exclude tests (for now). This does not include the MyPy linting that pip does but does include everything else.
120 lines
3.2 KiB
YAML
120 lines
3.2 KiB
YAML
name: CI
|
|
|
|
on:
|
|
push:
|
|
paths-ignore:
|
|
- "docs/**"
|
|
- "news/**"
|
|
- "examples/**"
|
|
- "peeps/**"
|
|
- "*.ini"
|
|
- "*.md"
|
|
- "**/*.txt"
|
|
- "*.rst"
|
|
- ".gitignore"
|
|
- ".gitmodules"
|
|
- ".gitattributes"
|
|
- ".editorconfig"
|
|
branches:
|
|
- main
|
|
pull_request:
|
|
paths-ignore:
|
|
- "docs/**"
|
|
- "news/**"
|
|
- "examples/**"
|
|
- "peeps/**"
|
|
- "*.ini"
|
|
- "*.md"
|
|
- "**/*.txt"
|
|
- "*.rst"
|
|
- ".gitignore"
|
|
- ".gitmodules"
|
|
- ".gitattributes"
|
|
- ".editorconfig"
|
|
|
|
jobs:
|
|
tests:
|
|
name: ${{matrix.os}} / ${{ matrix.python-version }}
|
|
runs-on: ${{ matrix.os }}-latest
|
|
strategy:
|
|
fail-fast: false
|
|
matrix:
|
|
python-version: [3.7, 3.8, 3.9, "3.10"]
|
|
os: [MacOS, Ubuntu, Windows]
|
|
include:
|
|
- python-version: 3.6
|
|
os: Ubuntu
|
|
|
|
steps:
|
|
- uses: actions/checkout@v1
|
|
|
|
- name: Set up Python ${{ matrix.python-version }}
|
|
uses: actions/setup-python@v1
|
|
with:
|
|
python-version: ${{ matrix.python-version }}
|
|
|
|
- name: Get python path
|
|
id: python-path
|
|
run: |
|
|
echo ::set-output name=path::$(python -c "import sys; print(sys.executable)")
|
|
|
|
- name: Install latest pip, setuptools, wheel
|
|
run: |
|
|
python -m pip install --upgrade pip setuptools wheel --upgrade-strategy=eager
|
|
- name: Install dependencies
|
|
env:
|
|
PIPENV_DEFAULT_PYTHON_VERSION: ${{ matrix.python-version }}
|
|
PYTHONWARNINGS: ignore:DEPRECATION
|
|
PYTHONIOENCODING: "utf-8"
|
|
GIT_ASK_YESNO: "false"
|
|
run: |
|
|
git submodule sync
|
|
git submodule update --init --recursive
|
|
python -m pip install -e . --upgrade
|
|
pipenv install --deploy --dev --python=${{ steps.python-path.outputs.path }}
|
|
- name: Lint check of the code
|
|
env:
|
|
PIPENV_DEFAULT_PYTHON_VERSION: ${{ matrix.python-version }}
|
|
PYTHONWARNINGS: ignore:DEPRECATION
|
|
PYTHONIOENCODING: "utf-8"
|
|
GIT_ASK_YESNO: "false"
|
|
run: |
|
|
pipenv run pre-commit run --all-files --verbose
|
|
- name: Run tests
|
|
env:
|
|
PIPENV_DEFAULT_PYTHON_VERSION: ${{ matrix.python-version }}
|
|
PYTHONWARNINGS: ignore:DEPRECATION
|
|
PIPENV_NOSPIN: "1"
|
|
CI: "1"
|
|
GIT_ASK_YESNO: "false"
|
|
PYPI_VENDOR_DIR: "./tests/pypi/"
|
|
PYTHONIOENCODING: "utf-8"
|
|
GIT_SSH_COMMAND: ssh -o StrictHostKeyChecking=accept-new -o CheckHostIP=no
|
|
run: |
|
|
pipenv run pytest -ra -n auto --fulltrace tests
|
|
|
|
build:
|
|
name: Build Package
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- uses: actions/checkout@v2
|
|
- uses: actions/setup-python@v2
|
|
with:
|
|
python-version: 3.9
|
|
- run: pip install -U build twine
|
|
- run: |
|
|
python -m build
|
|
twine check dist/*
|
|
|
|
vendor:
|
|
name: Vendoring
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- uses: actions/checkout@v2
|
|
- uses: actions/setup-python@v2
|
|
with:
|
|
python-version: 3.9
|
|
- run: |
|
|
python -m pip install --upgrade wheel invoke parver bs4 vistir towncrier
|
|
python -m invoke vendoring.update
|