-
Notifications
You must be signed in to change notification settings - Fork 376
109 lines (107 loc) · 3.15 KB
/
ci.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
name: Continuous Integration
on: [pull_request]
jobs:
format:
name: Format check
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
with:
fetch-depth: 0
- uses: actions/setup-python@v1
with:
python-version: '3.10'
architecture: 'x64'
- name: Install yapf
run: pip install -r dev_tools/requirements/format.env.txt
- name: Format
run: check/format-incremental
mypy:
name: Type check
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- uses: actions/setup-python@v1
with:
python-version: '3.10'
architecture: 'x64'
- name: Install mypy
run: pip install -r dev_tools/requirements/mypy.env.txt
- name: Type check
run: check/mypy
lint:
name: Lint check
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- uses: actions/setup-python@v1
with:
python-version: '3.10'
architecture: 'x64'
- name: Install pylint
run: pip install -r dev_tools/requirements/pylint.env.txt
- name: Lint
run: check/pylint
pytest:
name: Pytest
runs-on: ${{ matrix.os }}
strategy:
matrix:
# On each operating system, check latest version of python and cirq
os: [ ubuntu-latest, macos-latest, windows-latest ]
python-version: [ '3.10' ]
cirq-version: [ '~=1.0' ]
# Also check least-supported versions (linux only)
include:
- os: ubuntu-latest
python-version: 3.8
cirq-version: '~=0.15.0'
fail-fast: false
steps:
- uses: actions/checkout@v2
- uses: actions/setup-python@v2
with:
python-version: ${{ matrix.python-version }}
- name: Install requirements
run: |
pip install -r dev_tools/requirements/pytest.env.txt
pip install cirq-core${{matrix.cirq-version}}
- name: Pytest check
run: check/pytest
shell: bash
pytest_resource_estimates:
name: Pytest Resource Estimates
runs-on: ${{ matrix.os }}
strategy:
matrix:
os: [ubuntu-latest, macos-latest]
python-version: [ '3.10' ]
cirq-version: [ '~=1.0' ]
fail-fast: false
steps:
- uses: actions/checkout@v2
- uses: actions/setup-python@v2
with:
python-version: ${{ matrix.python-version }}
- name: Install requirements
run: |
pip install -r dev_tools/requirements/resource_estimates.env.txt
pip install cirq-core${{matrix.cirq-version}}
- name: Pytest check resources
run: check/pytest -m 'not slow' src/openfermion/resource_estimates
shell: bash
coverage:
name: Coverage check
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
with:
fetch-depth: 0
- uses: actions/setup-python@v1
with:
python-version: '3.10'
architecture: 'x64'
- name: Install requirements
run: pip install -r dev_tools/requirements/pytest.env.txt
- name: Coverage check
run: check/pytest-and-incremental-coverage