mirror of
https://github.com/enpaul/tox-poetry-installer.git
synced 2024-10-29 19:47:00 +00:00
Ethan Paul
52aaeba93c
Add caching for pip and poetry downloads to reduce runtime Add pinned pip version Add poetry installation of local project Remove bare pip install for local project installation
71 lines
2.1 KiB
YAML
71 lines
2.1 KiB
YAML
---
|
|
name: CI
|
|
on:
|
|
pull_request:
|
|
types: ["opened", "synchronize"]
|
|
push:
|
|
branches: ["devel"]
|
|
jobs:
|
|
Test:
|
|
runs-on: ubuntu-latest
|
|
strategy:
|
|
matrix:
|
|
python:
|
|
- version: 3.6
|
|
toxenv: py36
|
|
- version: 3.7
|
|
toxenv: py37
|
|
- version: 3.8
|
|
toxenv: py38
|
|
- version: 3.9
|
|
toxenv: py39
|
|
steps:
|
|
- name: Checkout
|
|
uses: actions/checkout@v2
|
|
- name: Setup:python${{ matrix.python.version }}
|
|
uses: actions/setup-python@v1
|
|
with:
|
|
python-version: ${{ matrix.python.version }}
|
|
- name: Setup:cache
|
|
uses: actions/cache@v2
|
|
with:
|
|
path: |
|
|
~/.cache/pip
|
|
~/.cache/pypoetry/cache
|
|
~/.poetry
|
|
# Including the hashed poetry.lock in the cache slug ensures that the cache
|
|
# will be invalidated, and thus all packages will be redownloaded, if the
|
|
# lockfile is updated
|
|
key: ${{ runner.os }}-${{ matrix.python.toxenv }}-${{ hashFiles('**/poetry.lock') }}
|
|
- name: Setup:env
|
|
run: .github/scripts/setup-env.sh
|
|
- name: Run:${{ matrix.python.toxenv }}
|
|
run: $HOME/ci/bin/tox -e ${{ matrix.python.toxenv }}
|
|
Check:
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- name: Checkout
|
|
uses: actions/checkout@v2
|
|
- name: Setup:python3.8
|
|
uses: actions/setup-python@v1
|
|
with:
|
|
python-version: 3.8
|
|
- name: Setup:cache
|
|
uses: actions/cache@v2
|
|
with:
|
|
path: |
|
|
~/.cache/pip
|
|
~/.cache/pypoetry/cache
|
|
~/.poetry
|
|
# Hardcoded 'py38' slug here lets this cache piggyback on the 'py38' cache
|
|
# that is generated for the tests above
|
|
key: ${{ runner.os }}-py38-${{ hashFiles('**/poetry.lock') }}
|
|
- name: Setup:env
|
|
run: .github/scripts/setup-env.sh
|
|
- name: Run:static
|
|
run: $HOME/ci/bin/tox -e static
|
|
- name: Run:static-tests
|
|
run: $HOME/ci/bin/tox -e static-tests
|
|
- name: Run:security
|
|
run: $HOME/ci/bin/tox -e security
|