This repository has been archived by the owner on Oct 2, 2023. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 5
156 lines (131 loc) · 4.01 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
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
name: CI
on:
- push
- pull_request
env:
PYTHON_VERSION: "3.10"
jobs:
codestyle:
name: Codestyle (black+isort)
if: ${{ github.event_name != 'pull_request' || github.event.pull_request.head.repo.full_name != github.repository }}
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v3
with:
submodules: recursive
- name: Set up Python ${{ env.PYTHON_VERSION }}
uses: actions/setup-python@v4
with:
python-version: ${{ env.PYTHON_VERSION }}
- name: Cache Virtual Environment
uses: actions/cache@v3
with:
path: |
~/.cache/pip
~/.cache/pypoetry
key: ${{ runner.os }}-venv-${{ hashFiles('poetry.lock') }}
- name: Setup poetry
run: |
pip install poetry poethepoet
poetry install -n --no-root
- name: Check code formatting with black and isort
run: poe black --diff --check && poe isort --diff --check
# mypy:
# name: mypy
# if: ${{ github.event_name != 'pull_request' || github.event.pull_request.head.repo.full_name != github.repository }}
# runs-on: ubuntu-latest
#
# steps:
# - name: Checkout
# uses: actions/checkout@v3
# with:
# submodules: recursive
#
# - name: Set up Python ${{ env.PYTHON_VERSION }}
# uses: actions/setup-python@v4
# with:
# python-version: ${{ env.PYTHON_VERSION }}
#
# - name: Cache Virtual Environment
# uses: actions/cache@v3
# with:
# path: |
# ~/.cache/pip
# ~/.cache/pypoetry
# key: ${{ runner.os }}-venv-${{ hashFiles('poetry.lock') }}
#
# - name: Setup poetry
# run: |
# pip install poetry poethepoet
# poetry install -n --no-root
#
# - name: Check typing with mypy
# run: poe mypy
linter:
name: Linter (flake8)
if: ${{ github.event_name != 'pull_request' || github.event.pull_request.head.repo.full_name != github.repository }}
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v3
with:
submodules: recursive
- name: Set up Python ${{ env.PYTHON_VERSION }}
uses: actions/setup-python@v4
with:
python-version: ${{ env.PYTHON_VERSION }}
- name: Cache Virtual Environment
uses: actions/cache@v3
with:
path: |
~/.cache/pip
~/.cache/pypoetry
key: ${{ runner.os }}-venv-${{ hashFiles('poetry.lock') }}
- name: Setup poetry
run: |
pip install poetry poethepoet
poetry install -n --no-root
- name: Check code style with wemake-python-styleguide
run: poe flake8
# - name: Lint with wemake-python-styleguide
# uses: wemake-services/wemake-python-styleguide@0.16.0
# with:
# reporter: ${{ github.event_name == 'pull_request' && github.event.pull_request.head.repo.full_name == github.repository && 'github-pr-review' || 'terminal' }}
# env:
# GITHUB_TOKEN: ${{ secrets.github_token }}
docs:
name: Documentation
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v3
with:
submodules: recursive
- name: Check cog docs
run: |
set -e
if ! [[ -f pubsub.md ]]; then
echo ::error::Could not find pubsub documentation
exit 1
fi
ok=1
for category in */; do
cd $category
for cog in $(ls); do
[[ -d $cog ]] || continue
if ! [[ -f $cog/documentation.md ]]; then
ok=0
echo ::error::Could not find documentation for $category$cog
fi
done
cd ..
done
if [[ $ok -ne 1 ]]; then
exit 1
fi
- name: Lint docs
uses: docker://avtodev/markdown-lint:v1
with:
config: .linter.yml
args: .