Skip to content

Commit

Permalink
CI: Add official support for Python 3.9 (#4301)
Browse files Browse the repository at this point in the history
Updating of Conda in the `install-with-conda` job of the `test-install`
workflow is disabled because it fails for as of yet unknown reasons.
  • Loading branch information
csadorf authored Nov 5, 2020
1 parent 06063e7 commit 2c0f9a9
Show file tree
Hide file tree
Showing 4 changed files with 177 additions and 12 deletions.
19 changes: 11 additions & 8 deletions .github/workflows/test-install.yml
Original file line number Diff line number Diff line change
Expand Up @@ -25,10 +25,10 @@ jobs:
steps:
- uses: actions/checkout@v2

- name: Set up Python 3.8
- name: Set up Python 3.9
uses: actions/setup-python@v2
with:
python-version: 3.8
python-version: 3.9

- name: Install dm-script dependencies
run: pip install packaging==20.3 click~=7.0 pyyaml~=5.1 tomlkit
Expand All @@ -52,6 +52,8 @@ jobs:
steps:
- uses: actions/checkout@v2

# Set to Python version 3.8, as the installation with 3.9 still takes
# significantly longer to install.
- name: Set up Python 3.8
uses: actions/setup-python@v2
with:
Expand Down Expand Up @@ -89,8 +91,9 @@ jobs:
- name: Setup Conda
uses: s-weigand/setup-conda@v1
with:
update-conda: true
python-version: 3.8
python-version: 3.9
update-conda: false
conda-channels: conda-forge
- run: conda --version
- run: python --version
- run: which python
Expand All @@ -110,12 +113,12 @@ jobs:

needs: [install-with-pip, install-with-conda]
runs-on: ubuntu-latest
timeout-minutes: 30
timeout-minutes: 35

strategy:
fail-fast: false
matrix:
python-version: [3.6, 3.7, 3.8]
python-version: [3.6, 3.7, 3.8, 3.9]
backend: ['django', 'sqlalchemy']

services:
Expand Down Expand Up @@ -198,10 +201,10 @@ jobs:
steps:
- uses: actions/checkout@v2

- name: Set up Python 3.8
- name: Set up Python 3.9
uses: actions/setup-python@v2
with:
python-version: 3.8
python-version: 3.9

- name: Install dm-script dependencies
run: pip install packaging==20.3 click~=7.0 pyyaml~=5.1 tomlkit
Expand Down
11 changes: 7 additions & 4 deletions pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -76,24 +76,26 @@ envlist = py37-django
[testenv]
usedevelop=True
[testenv:py{36,37,38}-{django,sqla}]
[testenv:py{36,37,38,39}-{django,sqla}]
deps =
py36: -rrequirements/requirements-py-3.6.txt
py37: -rrequirements/requirements-py-3.7.txt
py38: -rrequirements/requirements-py-3.8.txt
py39: -rrequirements/requirements-py-3.9.txt
setenv =
django: AIIDA_TEST_BACKEND = django
sqla: AIIDA_TEST_BACKEND = sqlalchemy
commands = pytest {posargs}
[testenv:py{36,37,38}-docs-{clean,update}]
[testenv:py{36,37,38,39}-docs-{clean,update}]
description =
clean: Build the documentation (remove any existing build)
update: Build the documentation (modify any existing build)
deps =
py36: -rrequirements/requirements-py-3.6.txt
py37: -rrequirements/requirements-py-3.7.txt
py38: -rrequirements/requirements-py-3.8.txt
py38: -rrequirements/requirements-py-3.9.txt
passenv = RUN_APIDOC
setenv =
update: RUN_APIDOC = False
Expand All @@ -103,13 +105,14 @@ commands =
clean: make clean
make debug
[testenv:py{36,37,38}-docs-live]
[testenv:py{36,37,38,39}-docs-live]
# tip: remove apidocs before using this feature (`cd docs; make clean`)
description = Build the documentation and launch browser (with live updates)
deps =
py36: -rrequirements/requirements-py-3.6.txt
py37: -rrequirements/requirements-py-3.7.txt
py38: -rrequirements/requirements-py-3.8.txt
py39: -rrequirements/requirements-py-3.9.txt
sphinx-autobuild
setenv =
RUN_APIDOC = False
Expand All @@ -119,7 +122,7 @@ commands =
--port 0 --open-browser \
-n -b {posargs:html} docs/source/ docs/build/{posargs:html}
[testenv:py{36,37,38}-pre-commit]
[testenv:py{36,37,38,39}-pre-commit]
description = Run the pre-commit checks
extras = all
commands = pre-commit run {posargs}
Expand Down
158 changes: 158 additions & 0 deletions requirements/requirements-py-3.9.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,158 @@
aiida-export-migration-tests==0.9.0
alabaster==0.7.12
aldjemy==0.9.1
alembic==1.4.3
aniso8601==8.0.0
ase==3.20.1
attrs==20.2.0
Babel==2.8.0
backcall==0.2.0
bcrypt==3.2.0
bleach==3.2.1
certifi==2020.6.20
cffi==1.14.3
chardet==3.0.4
circus==0.16.1
click==7.1.2
click-completion==0.5.2
click-config-file==0.6.0
click-spinner==0.1.10
configobj==5.0.6
coverage==4.5.4
cryptography==3.2.1
cycler==0.10.0
decorator==4.4.2
defusedxml==0.6.0
Django==2.2.17
docutils==0.15.2
entrypoints==0.3
ete3==3.1.2
Flask==1.1.2
Flask-Cors==3.0.9
Flask-RESTful==0.3.8
frozendict==1.2
furl==2.1.0
future==0.18.2
graphviz==0.14.2
idna==2.10
imagesize==1.2.0
iniconfig==1.1.1
ipykernel==5.3.4
ipython==7.19.0
ipython-genutils==0.2.0
ipywidgets==7.5.1
itsdangerous==1.1.0
jedi==0.17.2
Jinja2==2.11.2
jsonschema==3.2.0
jupyter==1.0.0
jupyter-client==6.1.7
jupyter-console==6.2.0
jupyter-core==4.6.3
kiwipy==0.5.5
kiwisolver==1.3.1
Mako==1.1.3
MarkupSafe==1.1.1
matplotlib==3.3.2
mistune==0.8.4
monty==4.0.2
mpmath==1.1.0
nbconvert==5.6.1
nbformat==5.0.8
networkx==2.5
notebook==5.7.10
numpy==1.19.4
orderedmultidict==1.0.1
packaging==20.4
palettable==3.3.0
pandas==1.1.4
pandocfilters==1.4.3
paramiko==2.7.2
parso==0.7.1
pexpect==4.8.0
pg8000==1.16.6
pgsu==0.1.0
pgtest==1.3.2
pickleshare==0.7.5
pika==1.1.0
Pillow==8.0.1
plotly==4.12.0
pluggy==0.13.1
plumpy==0.15.1
prometheus-client==0.8.0
prompt-toolkit==3.0.8
psutil==5.7.3
psycopg2-binary==2.8.6
ptyprocess==0.6.0
py==1.9.0
py-cpuinfo==7.0.0
PyCifRW==4.4.1
pycparser==2.20
pydata-sphinx-theme==0.4.1
Pygments==2.7.2
pymatgen==2020.10.20
PyMySQL==0.9.3
PyNaCl==1.4.0
pyparsing==2.4.7
pyrsistent==0.17.3
pytest==6.1.2
pytest-benchmark==3.2.3
pytest-cov==2.10.1
pytest-rerunfailures==9.1.1
pytest-timeout==1.4.2
python-dateutil==2.8.1
python-editor==1.0.4
python-memcached==1.59
pytz==2019.3
PyYAML==5.1.2
pyzmq==19.0.2
qtconsole==4.7.7
QtPy==1.9.0
reentry==1.3.1
requests==2.24.0
retrying==1.3.3
ruamel.yaml==0.16.12
scipy==1.5.3
scramp==1.2.0
seekpath==1.9.7
Send2Trash==1.5.0
shellingham==1.3.2
shortuuid==1.0.1
simplejson==3.17.2
six==1.15.0
snowballstemmer==2.0.0
spglib==1.16.0
Sphinx==3.3.0
sphinx-copybutton==0.3.1
sphinx-notfound-page==0.5
sphinx-panels==0.5.2
sphinxcontrib-applehelp==1.0.2
sphinxcontrib-details-directive==0.1.0
sphinxcontrib-devhelp==1.0.2
sphinxcontrib-htmlhelp==1.0.3
sphinxcontrib-jsmath==1.0.1
sphinxcontrib-qthelp==1.0.3
sphinxcontrib-serializinghtml==1.1.4
sphinxext-rediraffe==0.2.4
SQLAlchemy==1.3.20
sqlalchemy-diff==0.1.3
SQLAlchemy-Utils==0.34.2
sqlparse==0.4.1
sympy==1.6.2
tabulate==0.8.7
terminado==0.9.1
testpath==0.4.4
toml==0.10.2
topika==0.2.2
tornado==4.5.3
tqdm==4.51.0
traitlets==5.0.5
tzlocal==2.1
uncertainties==3.1.4
upf-to-json==0.9.2
urllib3==1.25.11
wcwidth==0.2.5
webencodings==0.5.1
Werkzeug==1.0.1
widgetsnbextension==3.5.1
wrapt==1.11.2
1 change: 1 addition & 0 deletions setup.json
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,7 @@
"Programming Language :: Python :: 3.6",
"Programming Language :: Python :: 3.7",
"Programming Language :: Python :: 3.8",
"Programming Language :: Python :: 3.9",
"Topic :: Scientific/Engineering"
],
"install_requires": [
Expand Down

0 comments on commit 2c0f9a9

Please sign in to comment.