Skip to content

Commit b51b000

Browse files
authored
Merge pull request #85 from whitemech/fix/ci
update tests and CI pipeline.
2 parents 9d70e90 + c0f79e5 commit b51b000

File tree

16 files changed

+675
-1055
lines changed

16 files changed

+675
-1055
lines changed
Lines changed: 52 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,52 @@
1+
name: Pythomata Continuous Integration pipeline.
2+
3+
on:
4+
push:
5+
branches:
6+
- develop
7+
- master
8+
pull_request:
9+
10+
jobs:
11+
run:
12+
runs-on: ${{ matrix.os }}
13+
14+
strategy:
15+
matrix:
16+
os: [ubuntu-latest]
17+
python-version: [3.6, 3.7, 3.8]
18+
19+
timeout-minutes: 30
20+
21+
steps:
22+
- uses: actions/checkout@master
23+
- uses: actions/setup-python@master
24+
with:
25+
python-version: ${{ matrix.python-version }}
26+
- name: Install dependencies
27+
run: pip install tox
28+
- name: Safety Check
29+
run: tox -e safety
30+
- name: License Check
31+
run: tox -e liccheck
32+
- name: Code style check
33+
run: |
34+
tox -e black-check
35+
tox -e flake8
36+
- name: Static type check
37+
run: tox -e mypy
38+
- name: Unit tests and coverage
39+
run: |
40+
tox -e py${{ matrix.python-version }}
41+
# - name: Upload coverage to Codecov
42+
# uses: codecov/codecov-action@v1
43+
# with:
44+
# token: ${{ secrets.CODECOV_TOKEN }}
45+
# file: ./coverage.xml
46+
# flags: unittests
47+
# name: codecov-umbrella
48+
# yml: ./codecov.yml
49+
# fail_ci_if_error: true
50+
- name: Generate Documentation
51+
run: tox -e docs
52+

.gitignore

Lines changed: 251 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,153 @@
1-
.idea
2-
tests/automata/*
31

4-
.pytest_cache
2+
# Created by https://www.gitignore.io/api/vim,linux,macos,python,pycharm,virtualenv,sublimetext,jupyternotebooks,visualstudiocode
3+
# Edit at https://www.gitignore.io/?templates=vim,linux,macos,python,pycharm,virtualenv,sublimetext,jupyternotebooks,visualstudiocode
54

5+
### JupyterNotebooks ###
6+
# gitignore template for Jupyter Notebooks
7+
# website: http://jupyter.org/
8+
9+
.ipynb_checkpoints
10+
*/.ipynb_checkpoints/*
11+
12+
# IPython
13+
profile_default/
14+
ipython_config.py
15+
16+
# Remove previous ipynb_checkpoints
17+
# git rm -r .ipynb_checkpoints/
18+
19+
### Linux ###
20+
*~
21+
22+
# temporary files which can be created if a process still has a handle open of a deleted file
23+
.fuse_hidden*
24+
25+
# KDE directory preferences
26+
.directory
27+
28+
# Linux trash folder which might appear on any partition or disk
29+
.Trash-*
30+
31+
# .nfs files are created when an open file is removed but is still being accessed
32+
.nfs*
33+
34+
### macOS ###
35+
# General
36+
.DS_Store
37+
.AppleDouble
38+
.LSOverride
39+
40+
# Icon must end with two \r
41+
Icon
42+
43+
# Thumbnails
44+
._*
45+
46+
# Files that might appear in the root of a volume
47+
.DocumentRevisions-V100
48+
.fseventsd
49+
.Spotlight-V100
50+
.TemporaryItems
51+
.Trashes
52+
.VolumeIcon.icns
53+
.com.apple.timemachine.donotpresent
54+
55+
# Directories potentially created on remote AFP share
56+
.AppleDB
57+
.AppleDesktop
58+
Network Trash Folder
59+
Temporary Items
60+
.apdisk
61+
62+
### PyCharm ###
63+
# Covers JetBrains IDEs: IntelliJ, RubyMine, PhpStorm, AppCode, PyCharm, CLion, Android Studio and WebStorm
64+
# Reference: https://intellij-support.jetbrains.com/hc/en-us/articles/206544839
65+
66+
# User-specific stuff
67+
.idea/**/workspace.xml
68+
.idea/**/tasks.xml
69+
.idea/**/usage.statistics.xml
70+
.idea/**/dictionaries
71+
.idea/**/shelf
72+
73+
# Generated files
74+
.idea/**/contentModel.xml
75+
76+
# Sensitive or high-churn files
77+
.idea/**/dataSources/
78+
.idea/**/dataSources.ids
79+
.idea/**/dataSources.local.xml
80+
.idea/**/sqlDataSources.xml
81+
.idea/**/dynamic.xml
82+
.idea/**/uiDesigner.xml
83+
.idea/**/dbnavigator.xml
84+
85+
# Gradle
86+
.idea/**/gradle.xml
87+
.idea/**/libraries
88+
89+
# Gradle and Maven with auto-import
90+
# When using Gradle or Maven with auto-import, you should exclude module files,
91+
# since they will be recreated, and may cause churn. Uncomment if using
92+
# auto-import.
93+
# .idea/modules.xml
94+
# .idea/*.iml
95+
# .idea/modules
96+
# *.iml
97+
# *.ipr
98+
99+
# CMake
100+
cmake-build-*/
101+
102+
# Mongo Explorer plugin
103+
.idea/**/mongoSettings.xml
104+
105+
# File-based project format
106+
*.iws
107+
108+
# IntelliJ
109+
out/
110+
111+
# mpeltonen/sbt-idea plugin
112+
.idea_modules/
113+
114+
# JIRA plugin
115+
atlassian-ide-plugin.xml
116+
117+
# Cursive Clojure plugin
118+
.idea/replstate.xml
119+
120+
# Crashlytics plugin (for Android Studio and IntelliJ)
121+
com_crashlytics_export_strings.xml
122+
crashlytics.properties
123+
crashlytics-build.properties
124+
fabric.properties
125+
126+
# Editor-based Rest Client
127+
.idea/httpRequests
128+
129+
# Android studio 3.1+ serialized cache file
130+
.idea/caches/build_file_checksums.ser
131+
132+
### PyCharm Patch ###
133+
# Comment Reason: https://github.com/joeblau/gitignore.io/issues/186#issuecomment-215987721
134+
135+
# *.iml
136+
# modules.xml
137+
# .idea/misc.xml
138+
# *.ipr
139+
140+
# Sonarlint plugin
141+
.idea/**/sonarlint/
142+
143+
# SonarQube Plugin
144+
.idea/**/sonarIssues.xml
145+
146+
# Markdown Navigator plugin
147+
.idea/**/markdown-navigator.xml
148+
.idea/**/markdown-navigator/
149+
150+
### Python ###
6151
# Byte-compiled / optimized / DLL files
7152
__pycache__/
8153
*.py[cod]
@@ -13,7 +158,6 @@ __pycache__/
13158

14159
# Distribution / packaging
15160
.Python
16-
env/
17161
build/
18162
develop-eggs/
19163
dist/
@@ -26,9 +170,12 @@ parts/
26170
sdist/
27171
var/
28172
wheels/
173+
pip-wheel-metadata/
174+
share/python-wheels/
29175
*.egg-info/
30176
.installed.cfg
31177
*.egg
178+
MANIFEST
32179

33180
# PyInstaller
34181
# Usually these files are written by a python script from a template
@@ -43,26 +190,20 @@ pip-delete-this-directory.txt
43190
# Unit test / coverage reports
44191
htmlcov/
45192
.tox/
193+
.nox/
46194
.coverage
47195
.coverage.*
48196
.cache
49197
nosetests.xml
50198
coverage.xml
51199
*.cover
52200
.hypothesis/
201+
.pytest_cache/
53202

54203
# Translations
55204
*.mo
56205
*.pot
57206

58-
# Django stuff:
59-
*.log
60-
local_settings.py
61-
62-
# Flask stuff:
63-
instance/
64-
.webassets-cache
65-
66207
# Scrapy stuff:
67208
.scrapy
68209

@@ -72,37 +213,123 @@ docs/_build/
72213
# PyBuilder
73214
target/
74215

75-
# Jupyter Notebook
76-
.ipynb_checkpoints
77-
78216
# pyenv
79217
.python-version
80218

219+
# pipenv
220+
# According to pypa/pipenv#598, it is recommended to include Pipfile.lock in version control.
221+
# However, in case of collaboration, if having platform-specific dependencies or dependencies
222+
# having no cross-platform support, pipenv may install dependencies that don't work, or not
223+
# install all needed dependencies.
224+
Pipfile.lock
225+
81226
# celery beat schedule file
82227
celerybeat-schedule
83228

84229
# SageMath parsed files
85230
*.sage.py
86231

87-
# dotenv
88-
.env
89-
90-
# virtualenv
91-
.venv
92-
venv/
93-
ENV/
94-
95232
# Spyder project settings
96233
.spyderproject
97234
.spyproject
98235

99236
# Rope project settings
100237
.ropeproject
101238

239+
# Mr Developer
240+
.mr.developer.cfg
241+
.project
242+
.pydevproject
243+
102244
# mkdocs documentation
103245
/site
104246

105247
# mypy
106248
.mypy_cache/
249+
.dmypy.json
250+
dmypy.json
251+
252+
# Pyre type checker
253+
.pyre/
254+
255+
### SublimeText ###
256+
# Cache files for Sublime Text
257+
*.tmlanguage.cache
258+
*.tmPreferences.cache
259+
*.stTheme.cache
260+
261+
# Workspace files are user-specific
262+
*.sublime-workspace
263+
264+
# Project files should be checked into the repository, unless a significant
265+
# proportion of contributors will probably not be using Sublime Text
266+
# *.sublime-project
267+
268+
# SFTP configuration file
269+
sftp-config.json
270+
271+
# Package control specific files
272+
Package Control.last-run
273+
Package Control.ca-list
274+
Package Control.ca-bundle
275+
Package Control.system-ca-bundle
276+
Package Control.cache/
277+
Package Control.ca-certs/
278+
Package Control.merged-ca-bundle
279+
Package Control.user-ca-bundle
280+
oscrypto-ca-bundle.crt
281+
bh_unicode_properties.cache
282+
283+
# Sublime-github package stores a github token in this file
284+
# https://packagecontrol.io/packages/sublime-github
285+
GitHub.sublime-settings
286+
287+
### Vim ###
288+
# Swap
289+
[._]*.s[a-v][a-z]
290+
[._]*.sw[a-p]
291+
[._]s[a-rt-v][a-z]
292+
[._]ss[a-gi-z]
293+
[._]sw[a-p]
294+
295+
# Session
296+
Session.vim
297+
Sessionx.vim
298+
299+
# Temporary
300+
.netrwhist
301+
302+
# Auto-generated tag files
303+
tags
304+
305+
# Persistent undo
306+
[._]*.un~
307+
308+
# Coc configuration directory
309+
.vim
310+
311+
### VirtualEnv ###
312+
# Virtualenv
313+
# http://iamzed.com/2009/05/07/a-primer-on-virtualenv/
314+
pyvenv.cfg
315+
.env
316+
.venv
317+
env/
318+
venv/
319+
ENV/
320+
env.bak/
321+
venv.bak/
322+
pip-selfcheck.json
323+
324+
### VisualStudioCode ###
325+
.vscode/*
326+
!.vscode/settings.json
327+
!.vscode/tasks.json
328+
!.vscode/launch.json
329+
!.vscode/extensions.json
330+
331+
### VisualStudioCode Patch ###
332+
# Ignore all local history of files
333+
.history
107334

108-
tmp/
335+
# End of https://www.gitignore.io/api/vim,linux,macos,python,pycharm,virtualenv,sublimetext,jupyternotebooks,visualstudiocode

0 commit comments

Comments
 (0)