@@ -3,35 +3,9 @@ name: Build-Test-Lint-etc (linux)
33on : [push]
44
55jobs :
6- setup :
7- runs-on : ubuntu-latest
8- strategy :
9- fail-fast : false
10- matrix :
11- python-version : [ "3.9", "3.10", "3.11", "3.12", "3.13" ]
12- name : Setup
13- steps :
14- - uses : actions/checkout@v3
15- - name : Set up Python ${{ matrix.python-version }}
16- uses : actions/setup-python@v5
17- with :
18- python-version : ${{ matrix.python-version }}
19- cache : ' pip'
20- - run : |
21- ./ci/linux/create_venv.sh
22- ./ci/linux/install_dependencies.sh
23- - name : ' Tar venv'
24- run : tar -cvf venv.tar ./.venv/
25- - name : Save venv
26- uses : actions/upload-artifact@v4
27- with :
28- path : ./venv.tar
29- name : ${{ runner.os }}-python-${{ matrix.python-version }}-venv-${{github.run_id}}
30-
316 lint :
327 name : Lint
338 runs-on : ubuntu-latest
34- needs : [ setup ]
359 strategy :
3610 fail-fast : false
3711 matrix :
@@ -43,20 +17,23 @@ jobs:
4317 with :
4418 python-version : ${{ matrix.python-version }}
4519 cache : ' pip'
46- - name : Restore venv
47- uses : actions/download-artifact@v4
20+ - name : Cache pip packages
21+ uses : actions/cache@v3
4822 with :
49- name : ${{ runner.os }}-python-${{ matrix.python-version }}-venv-${{github.run_id}}
50- - name : Untar venv
51- run : tar -xvf venv.tar
52- - name : run unit tests
23+ path : ~/.cache/pip
24+ key : pip-${{ matrix.python-version }}-${{ hashFiles('**/requirements.txt') }}
25+ restore-keys : |
26+ pip-${{ matrix.python-version }}-
27+ - run : |
28+ ./ci/linux/create_venv.sh
29+ ./ci/linux/install_dependencies.sh
30+ - name : lint
5331 run : |
5432 ./ci/linux/lint.sh
5533
5634 test :
5735 name : Test
5836 runs-on : ubuntu-latest
59- needs : [ setup ]
6037 strategy :
6138 fail-fast : false
6239 matrix :
@@ -68,12 +45,16 @@ jobs:
6845 with :
6946 python-version : ${{ matrix.python-version }}
7047 cache : ' pip'
71- - name : Restore venv
72- uses : actions/download-artifact@v4
48+ - name : Cache pip packages
49+ uses : actions/cache@v3
7350 with :
74- name : ${{ runner.os }}-python-${{ matrix.python-version }}-venv-${{github.run_id}}
75- - name : Untar venv
76- run : tar -xvf venv.tar
51+ path : ~/.cache/pip
52+ key : pip-${{ matrix.python-version }}-${{ hashFiles('**/requirements.txt') }}
53+ restore-keys : |
54+ pip-${{ matrix.python-version }}-
55+ - run : |
56+ ./ci/linux/create_venv.sh
57+ ./ci/linux/install_dependencies.sh
7758 - name : run unit tests
7859 run : |
7960 ./ci/linux/test_unit.sh
10485 typecheck :
10586 name : Typecheck
10687 runs-on : ubuntu-latest
107- needs : [ setup ]
10888 strategy :
10989 fail-fast : false
11090 matrix :
@@ -116,22 +96,22 @@ jobs:
11696 with :
11797 python-version : ${{ matrix.python-version }}
11898 cache : ' pip'
119- - name : Restore venv
120- uses : actions/download-artifact@v4
99+ - name : Cache pip packages
100+ uses : actions/cache@v3
121101 with :
122- name : ${{ runner.os }}-python-${{ matrix.python-version }}-venv-${{github.run_id}}
123- - name : Untar venv
124- run : tar -xvf venv.tar
125- - name : Add mypy annotator
126- uses :
pr-annotators/[email protected] 127-
102+ path : ~/.cache/pip
103+ key : pip-${{ matrix.python-version }}-${{ hashFiles('**/requirements.txt') }}
104+ restore-keys : |
105+ pip-${{ matrix.python-version }}-
106+ - run : |
107+ ./ci/linux/create_venv.sh
108+ ./ci/linux/install_dependencies.sh
128109 - name : run typechecker
129110 run : |
130111 ./ci/linux/typecheck.sh
131112
132113 build :
133114 name : Build
134- needs : [ setup ]
135115 runs-on : ubuntu-latest
136116 strategy :
137117 fail-fast : false
@@ -144,12 +124,16 @@ jobs:
144124 with :
145125 python-version : ${{ matrix.python-version }}
146126 cache : ' pip'
147- - name : Restore venv
148- uses : actions/download-artifact@v4
127+ - name : Cache pip packages
128+ uses : actions/cache@v3
149129 with :
150- name : ${{ runner.os }}-python-${{ matrix.python-version }}-venv-${{github.run_id}}
151- - name : Untar venv
152- run : tar -xvf venv.tar
130+ path : ~/.cache/pip
131+ key : pip-${{ matrix.python-version }}-${{ hashFiles('**/requirements.txt') }}
132+ restore-keys : |
133+ pip-${{ matrix.python-version }}-
134+ - run : |
135+ ./ci/linux/create_venv.sh
136+ ./ci/linux/install_dependencies.sh
153137 - name : build
154138 run : |
155139 ./ci/linux/build_python_package.sh
0 commit comments