-
Notifications
You must be signed in to change notification settings - Fork 8
132 lines (129 loc) · 3.6 KB
/
build-virtualenv-caches.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
name: Build virtualenv caches
on:
push:
branches:
- master
# Verify & rebuild caches every Monday at 04:00
# This should mostly ensure that the caches aren't evicted after 7 days of
# inactivity
schedule:
- cron: '0 4 * * MON'
jobs:
build-lint-virtualenvs:
runs-on: ubuntu-latest
strategy:
matrix:
command:
- flake8
- pylint
- bandit
- mypy
- black
steps:
- uses: actions/checkout@v4
- uses: actions/setup-python@v4
with:
python-version: '3.9'
- uses: Gr1N/setup-poetry@v8
- name: Install tox
run: |
pip install tox
- uses: actions/cache@v3
with:
path: |
.tox
~/.cache/pypoetry/virtualenvs
key: ${{ runner.os }}-lint-${{ matrix.command }}-${{ hashFiles('poetry.lock', 'tox.ini') }}
- name: Build virtualenv for ${{ matrix.command }}
run: make lintenv_${{ matrix.command }}
build-test-virtualenvs:
runs-on: ubuntu-latest
strategy:
matrix:
python-version:
- '3.8'
- '3.9'
- '3.10'
- '3.11'
steps:
- uses: actions/checkout@v4
- uses: actions/setup-python@v4
with:
python-version: ${{ matrix.python-version }}
- uses: Gr1N/setup-poetry@v8
- name: Install tox
run: |
pip install tox
- uses: actions/cache@v3
with:
path: |
.tox
~/.cache/pypoetry/virtualenvs
key: ${{ runner.os }}-test-py${{ matrix.python-version }}-${{ hashFiles('poetry.lock', 'tox.ini') }}
- name: Extract Python minor version from matrix python-version
run: echo "PYVER=$(echo ${{ matrix.python-version}} |cut -d. -f1,2)" >> $GITHUB_ENV
- run: |
make testenv_py${PYVER}
build-test-reclass-rs-virtualenvs:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-python@v4
with:
python-version: '3.11'
- uses: Gr1N/setup-poetry@v8
- name: Install tox
run: |
pip install tox
- uses: actions/cache@v3
with:
path: |
.tox
~/.cache/pypoetry/virtualenvs
key: ${{ runner.os }}-test-py3.11-reclass-rs-${{ hashFiles('poetry.lock', 'tox.ini') }}
- run: |
make testenv_py3.11_reclass_rs
build-bench-virtualenvs:
runs-on: ubuntu-latest
strategy:
matrix:
python-version:
- '3.8'
- '3.9'
- '3.10'
- '3.11'
steps:
- uses: actions/checkout@v4
- uses: actions/setup-python@v4
with:
python-version: ${{ matrix.python-version }}
- uses: Gr1N/setup-poetry@v8
- name: Install tox
run: |
pip install tox
- uses: actions/cache@v3
with:
path: |
.tox
~/.cache/pypoetry/virtualenvs
key: ${{ runner.os }}-bench-py${{ matrix.python-version }}-${{ hashFiles('poetry.lock', 'tox.ini') }}
- name: Extract Python minor version from matrix python-version
run: echo "PYVER=$(echo ${{ matrix.python-version}} |cut -d. -f1,2)" >> $GITHUB_ENV
- run: |
make benchenv_py${PYVER}
build_poetry_virtualenv:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-python@v4
with:
python-version: '3.9'
- uses: Gr1N/setup-poetry@v8
- uses: actions/cache@v3
with:
path: ~/.cache/pypoetry/virtualenvs
key: ${{ runner.os }}-poetry-${{ hashFiles('poetry.lock') }}
- name: Install Poetry and setup Poetry virtualenv
run: |
poetry env use python3.9
poetry install