12
12
tmux-version : [ '2.6', '2.7', '2.8', '3.0', 'master' ]
13
13
steps :
14
14
- uses : actions/checkout@v1
15
- - name : Cache tmux build ${{ matrix.tmux-version }}
15
+
16
+ - name : Set up Python ${{ matrix.python-version }}
17
+ uses : actions/setup-python@v1
18
+ with :
19
+ python-version : ${{ matrix.python-version }}
20
+
21
+ - name : Get full Python version
22
+ id : full-python-version
23
+ shell : bash
24
+ run : echo ::set-output name=version::$(python -c "import sys; print('-'.join(str(v) for v in sys.version_info))")
25
+
26
+ - name : Install poetry
27
+ run : |
28
+ curl -O -sSL https://raw.githubusercontent.com/sdispater/poetry/master/get-poetry.py
29
+ python get-poetry.py -y
30
+ echo "::set-env name=PATH::$HOME/.poetry/bin:$PATH"
31
+ rm get-poetry.py
32
+
33
+ - name : Get poetry cache paths from config
34
+ run : |
35
+ echo ::set-env name=poetry_cache_dir::$(poetry config --list | sed -n 's/.*cache-dir = //p' | sed -e 's/^"//' -e 's/"$//')
36
+ echo ::set-env name=poetry_virtualenvs_path::$(poetry config --list | sed -n 's/.*virtualenvs.path = .* # //p' | sed -e 's/^"//' -e 's/"$//')
37
+
38
+ - name : Configure poetry
39
+ shell : bash
40
+ run : poetry config virtualenvs.in-project true
41
+
42
+ - name : Set up poetry cache
43
+ uses : actions/cache@v2
44
+ id : cache
45
+ with :
46
+ path : |
47
+ .venv
48
+ {{ env.poetry_cache_dir }}
49
+ {{ env.poetry_virtualenvs_path }}
50
+ key : venv-${{ runner.os }}-${{ steps.full-python-version.outputs.version }}-${{ hashFiles('**/poetry.lock') }}
51
+
52
+ - name : Ensure cache is healthy
53
+ if : steps.cache.outputs.cache-hit == 'true'
54
+ shell : bash
55
+ run : poetry run pip --version >/dev/null 2>&1 || rm -rf .venv
56
+
57
+ - name : Setup tmux build cache for tmux ${{ matrix.tmux-version }}
16
58
id : tmux-build-cache
17
59
uses : actions/cache@v1
18
60
with :
@@ -33,18 +75,14 @@ jobs:
33
75
export PATH=$HOME/tmux-builds/tmux-${{ matrix.tmux-version }}/bin:$PATH
34
76
cd ~
35
77
tmux -V
36
- - name : Configure git
37
- run : |
38
- git config --global user.name 'travis-ci'
39
- git config --global user.email '[email protected] '
40
- - name : Set up Python ${{ matrix.python-version }}
41
- uses : actions/setup-python@v1
42
- with :
43
- python-version : ${{ matrix.python-version }}
78
+
79
+ - name : Upgrade pip
80
+ shell : bash
81
+ run : poetry run python -m pip install pip -U
82
+
44
83
- name : Install python dependencies
45
84
run : |
46
- python -m pip install --upgrade poetry
47
- poetry install
85
+ poetry install -E "test coverage lint"
48
86
- name : Lint with flake8
49
87
run : |
50
88
poetry run flake8
0 commit comments