Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Release v1.2.0 #3934

Merged
merged 56 commits into from
Apr 15, 2020
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
56 commits
Select commit Hold shift + click to select a range
b26dbba
(re-)implement coverage reports via codecov.io
dev-zero Dec 9, 2019
03baa98
Update README coverage badge
CasperWA Dec 9, 2019
8156bb1
Remove omissions from coveragerc and reorder tests
ltalirz Mar 3, 2020
ba83912
Build status badge: move to github actions (#3825)
ltalirz Mar 4, 2020
ed7a0b6
Add `prepend_text` and `append_text` to `aiida_local_code_factory` py…
sphuber Mar 4, 2020
1dde8ea
Update coverage upload step
CasperWA Mar 9, 2020
8e30935
Use actions/checkout@master
CasperWA Mar 9, 2020
c61ef49
Pin the Click version to 7.0.
csadorf Mar 9, 2020
035fbba
Merge pull request #3837 from aiidateam/dm/pin-click-7.0
csadorf Mar 9, 2020
7e99c06
Revise dependency management workflow (#3771)
csadorf Mar 9, 2020
87e22f4
Fix workflow syntax for test-install and update-requirements workflows.
csadorf Mar 10, 2020
8202ab1
Update paths triggers for test-install workflow.
csadorf Mar 10, 2020
19365fa
Only create update-requirements PR on the primary repository.
csadorf Mar 10, 2020
e234fae
Update requirements directly on same branch.
csadorf Mar 10, 2020
4a49c05
Update requirements files.
actions-user Mar 10, 2020
733861a
Merge pull request #3839 from aiidateam/update-requirements-workflow-…
csadorf Mar 10, 2020
1246553
Use actions/checkout@v2 (instead of @master) (#3846)
CasperWA Mar 12, 2020
04f5b51
Dm/revise update requirements workflow (#3847)
csadorf Mar 13, 2020
44e12d7
Dm/auto generate all (#3848)
csadorf Mar 14, 2020
d0b89c1
Suggest running `reentry scan` when entry point cannot be resolved (#…
ltalirz Mar 21, 2020
b90a629
Add the `-l/--limit` option to `verdi group show` (#3857)
sphuber Mar 22, 2020
9ce2183
Docs: consistent use of "plugin" vs "plugin package" terminology (#3799)
ltalirz Mar 22, 2020
87fdf09
Docs: remove extra `advanced_plotting` from install instructions (#3860)
sphuber Mar 24, 2020
d2af96c
Add the `--order-by/--order-direction` options to `verdi group list` …
sphuber Mar 24, 2020
57b8a5a
`ExitCode`: make the exit message parameterizable through templates (…
sphuber Mar 25, 2020
2c2f3cf
Convert argument to str in `aiida.common.escaping.escape_for_bash` (#…
sphuber Mar 27, 2020
d12a424
Remove unused `orm.implementation.utils` module (#3877)
ltalirz Mar 28, 2020
58bace3
Docs: enable `intersphinx` mapping for various libraries (#3876)
ltalirz Mar 29, 2020
0f069a7
REST API: fix the interface of `run_api` (#3875)
ltalirz Mar 29, 2020
5e226e7
Bump bleach from 3.1.1 to 3.1.4 in /requirements (#3880)
dependabot[bot] Mar 31, 2020
035a9da
Skip unit test `test_daemon_start_number` temporarily. (#3883)
csadorf Apr 1, 2020
99742f2
Remove the return statement of `RemoteData.getfile()` (#3742)
Crivella Apr 1, 2020
434c593
Ensure log messages are not duplicated in daemon log file (#3890)
sphuber Apr 3, 2020
ef59281
Fix the `RotatingFileHandler` configuration of the daemon logger (#3891)
sphuber Apr 3, 2020
161eeae
Prevent nodes without registered entry points from being stored (#3886)
sphuber Apr 3, 2020
f40f0d2
Ensure unicity when creating instances of `Autogroup` (#3650)
giovannipizzi Apr 4, 2020
5c0d86f
Cleanup the top-level directory of the repository (#3738)
ltalirz Apr 4, 2020
5da7120
Move `aiida.manage.external.pgsu` to external package `pgsu` (#3892)
ltalirz Apr 6, 2020
676a83e
CI: use GitHub Actions services for PostgreSQL and RabbitMQ (#3901)
CasperWA Apr 8, 2020
38c4684
Add the `-v/--version` option to `verdi export migrate` (#3910)
sphuber Apr 8, 2020
b14243e
`GroupPath`: a utility to work with virtual `Group` hierarchies (#3613)
chrisjsewell Apr 8, 2020
d609e5e
Make `Group` sub classable through entry points (#3882)
sphuber Apr 9, 2020
e5eae67
Add support for subclassing in `Groups` to the `QueryBuilder` (#3903)
sphuber Apr 9, 2020
41a4e29
Trigger test-install workflow for pull requests. (#3918)
csadorf Apr 9, 2020
ff9e8a2
support for BandsData nodes without StructureData ancestors(#3817)
unkcpz Apr 11, 2020
c74048b
Plot bands with only one kpoint (#3798)
unkcpz Apr 12, 2020
6ea9ecb
Improved validation for CLI parameters (#3894)
ltalirz Apr 13, 2020
39d8ea0
Unpin the `click` dependency (#3921)
sphuber Apr 13, 2020
9a75173
Deduplicate code for tests of archive migration code (#3924)
sphuber Apr 14, 2020
e2c28ce
Add export archive migration for `Group` type strings (#3912)
sphuber Apr 14, 2020
3ae485b
Fix bug in `QueryBuilder` when joining `Group` on tuple of classes
sphuber Apr 12, 2020
a1bef8e
Deprecate `--group-type` option in favor of `--type-string`
sphuber Apr 12, 2020
5479bbc
Add support for subclassing to `GroupParamType` CLI param type
sphuber Apr 12, 2020
789fdee
Add auto-complete support for `CodeParamType` and `GroupParamType`
sphuber Apr 12, 2020
0e2a00c
Do not ignore `type_string` in constructor of `Group` (#3935)
sphuber Apr 15, 2020
8ad0f24
Release v1.2.0
sphuber Apr 14, 2020
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions .ci/workchains.py
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@
# For further information on the license, see the LICENSE.txt file #
# For further information please visit http://www.aiida.net #
###########################################################################
# pylint: disable=invalid-name
from aiida.common import AttributeDict
from aiida.engine import calcfunction, workfunction, WorkChain, ToContext, append_, while_, ExitCode
from aiida.engine import BaseRestartWorkChain, process_handler, ProcessHandlerReport
Expand Down
1 change: 0 additions & 1 deletion .coveragerc
Original file line number Diff line number Diff line change
@@ -1,6 +1,5 @@
[run]
source = aiida
omit = aiida/test*.py,aiida/*/test*.py,aiida/*/*/test*.py,aiida/*/*/*/test*.py,aiida/*/*/*/*/test*.py,aiida/*/*/*/*/*/test*.py,aiida/*/migrations/*.py,aiida/*/migrations/versions/*.py

[html]
directory = .ci/coverage/html
10 changes: 10 additions & 0 deletions .github/CODEOWNERS
Validating CODEOWNERS rules …
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
# All files related to dependency management are owned by the
# currently active dependency manager (DM) to trigger an automatic review
# request from the DM upon changes. Please see AEP-002 for details:
# https://github.com/aiidateam/AEP/tree/master/002_dependency_management
setup.* @aiidateam/dependency-manager
environment.yml @aiidateam/dependency-manager
requirements*.txt @aiidateam/dependency-manager
pyproject.toml @aiidateam/dependency-manager
utils/dependency_management.py @aiidateam/dependency-manager
.github/workflows/dm.yml @aiidateam/dependency-manager
2 changes: 1 addition & 1 deletion .github/config/profile.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -11,4 +11,4 @@ db_port: 5432
db_name: PLACEHOLDER_DATABASE_NAME
db_username: postgres
db_password: ''
repository: PLACEHOLDER_REPOSITORY
repository: PLACEHOLDER_REPOSITORY
124 changes: 83 additions & 41 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
@@ -1,35 +1,16 @@
name: aiida-core
name: continuous-integration

on: [push, pull_request]

jobs:

conda:

runs-on: ubuntu-latest
timeout-minutes: 30

steps:
- uses: actions/checkout@v1

- name: Set up Python 3.7
uses: actions/setup-python@v1
with:
python-version: 3.7

- name: Conda install
env:
PYTHON_VERSION: 3.7
run:
.github/workflows/conda.sh

docs:

runs-on: ubuntu-latest
timeout-minutes: 30

steps:
- uses: actions/checkout@v1
- uses: actions/checkout@v2

- name: Set up Python 3.7
uses: actions/setup-python@v1
Expand Down Expand Up @@ -60,7 +41,7 @@ jobs:
timeout-minutes: 30

steps:
- uses: actions/checkout@v1
- uses: actions/checkout@v2

- name: Set up Python 3.7
uses: actions/setup-python@v1
Expand All @@ -83,6 +64,41 @@ jobs:
run:
pre-commit run --all-files || ( git status --short ; git diff ; exit 1 )

check-requirements:

runs-on: ubuntu-latest
timeout-minutes: 5

steps:
- uses: actions/checkout@v2

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

- name: Install dm-script dependencies
run: pip install packaging==20.3 click~=7.0 pyyaml~=5.1 toml

- name: Check requirements files
run: python ./utils/dependency_management.py check-requirements DEFAULT

- name: Create commit comment
if: failure()
uses: peter-evans/commit-comment@v1
with:
token: ${{ secrets.GITHUB_TOKEN }}
path: setup.json
body: |
It appears that at least one of the environments defined in the requirements files
('requirements/*.txt') is not meeting the dependencies specified in the 'setup.json' file.
These files define the environment for continuous integration tests, so it is important that they are updated.

If this commit is part of a pull request, you can automatically update the requirements by
commenting with '/update-requirements'.

Click [here](https://github.com/aiidateam/aiida-core/wiki/AiiDA-Dependency-Management) for more information.

tests:

runs-on: ubuntu-latest
Expand All @@ -91,18 +107,30 @@ jobs:
strategy:
fail-fast: false
matrix:
python-version: [3.5, 3.8]
backend: ['django', 'sqlalchemy']
python-version: [3.5, 3.8]

services:
postgres:
image: postgres:10
env:
POSTGRES_DB: test_${{ matrix.backend }}
POSTGRES_PASSWORD: ''
POSTGRES_HOST_AUTH_METHOD: trust
options: >-
--health-cmd pg_isready
--health-interval 10s
--health-timeout 5s
--health-retries 5
ports:
- 5432:5432
rabbitmq:
image: rabbitmq:latest
ports:
- 5672:5672

steps:
- uses: actions/checkout@v1
- uses: CasperWA/[email protected]
with:
postgresql version: '10'
postgresql db: test_${{ matrix.backend }}
postgresql user: postgres
postgresql password: ''
postgresql auth: trust
- uses: actions/checkout@v2

- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v1
Expand All @@ -111,20 +139,25 @@ jobs:

- name: Install system dependencies
run: |
wget -O - "https://github.com/rabbitmq/signing-keys/releases/download/2.0/rabbitmq-release-signing-key.asc" | sudo apt-key add -
echo 'deb https://dl.bintray.com/rabbitmq-erlang/debian bionic erlang' | sudo tee -a /etc/apt/sources.list.d/bintray.rabbitmq.list
echo 'deb https://dl.bintray.com/rabbitmq/debian bionic main' | sudo tee -a /etc/apt/sources.list.d/bintray.rabbitmq.list
sudo rm -f /etc/apt/sources.list.d/dotnetdev.list /etc/apt/sources.list.d/microsoft-prod.list
sudo apt update
sudo apt install postgresql-10 rabbitmq-server graphviz
sudo systemctl status rabbitmq-server.service
sudo apt install postgresql-10 graphviz

- name: Install python dependencies
- name: Upgrade pip
run: |
pip install --upgrade pip
pip install numpy==1.17.4
pip install -e .[atomic_tools,docs,notebook,rest,testing]
pip --version

- name: upgrade setuptools [py35]
if: matrix.python-version == 3.5
run: pip install -I setuptools==38.2.0 # Minimally required version for Python 3.5.

- name: Install aiida-core
run: |
pip install -r requirements/requirements-py-${{ matrix.python-version }}.txt
pip install --no-deps -e .
reentry scan
pip freeze

- name: Setup environment
env:
Expand All @@ -138,13 +171,22 @@ jobs:
run:
.github/workflows/tests.sh

- name: Upload coverage report
if: matrix.python-version == 3.5 && github.repository == 'aiidateam/aiida-core'
uses: codecov/codecov-action@v1
with:
name: aiida-pytests-py3.5-${{ matrix.backend }}
flags: ${{ matrix.backend }}
file: ./coverage.xml
fail_ci_if_error: true

verdi:

runs-on: ubuntu-latest
timeout-minutes: 30

steps:
- uses: actions/checkout@v1
- uses: actions/checkout@v2

- name: Set up Python 3.7
uses: actions/setup-python@v1
Expand All @@ -166,7 +208,7 @@ jobs:
timeout-minutes: 30

steps:
- uses: actions/checkout@v1
- uses: actions/checkout@v2

- name: Install docker
run: |
Expand Down
12 changes: 0 additions & 12 deletions .github/workflows/conda.sh

This file was deleted.

157 changes: 157 additions & 0 deletions .github/workflows/test-install.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,157 @@
name: test-install

on:
pull_request:
paths:
- 'setup.*'
- 'environment.yml'
- '**/requirements*.txt'
- 'pyproject.toml'
- 'util/dependency_management.py'
- '.github/workflows/test-install.yml'
schedule:
- cron: '30 02 * * *' # nightly build

jobs:

validate-dependency-specification:
# Note: The specification is also validated by the pre-commit hook.

runs-on: ubuntu-latest
timeout-minutes: 5

steps:
- uses: actions/checkout@v2

- name: Set up Python 3.7
uses: actions/setup-python@v1
with:
python-version: 3.7

- name: Install dm-script dependencies
run: pip install packaging==20.3 click~=7.0 pyyaml~=5.1 toml

- name: Validate
run: python ./utils/dependency_management.py validate-all

install-with-pip:

runs-on: ubuntu-latest
timeout-minutes: 5

steps:
- uses: actions/checkout@v2

- name: Set up Python 3.7
uses: actions/setup-python@v1
with:
python-version: 3.7

- name: Pip install
run: |
python -m pip install -e .
python -m pip freeze

- name: Test importing aiida
run:
python -c "import aiida"

install-with-conda:

runs-on: ubuntu-latest
name: install-with-conda

timeout-minutes: 5

steps:
- uses: actions/checkout@v2

- name: Setup Conda
uses: s-weigand/setup-conda@v1
with:
update-conda: true
python-version: 3.7
- run: conda --version
- run: python --version
- run: which python

- name: Create conda environment
run: |
conda env create -f environment.yml -n test-environment
source activate test-environment
python -m pip install --no-deps -e .

- name: Test importing aiida
run: |
source activate test-environment
python -c "import aiida"

tests:

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

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

services:
postgres:
image: postgres:10
env:
POSTGRES_DB: test_${{ matrix.backend }}
POSTGRES_PASSWORD: ''
POSTGRES_HOST_AUTH_METHOD: trust
options: >-
--health-cmd pg_isready
--health-interval 10s
--health-timeout 5s
--health-retries 5
ports:
- 5432:5432
rabbitmq:
image: rabbitmq:latest
ports:
- 5672:5672

steps:
- uses: actions/checkout@v2

- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v1
with:
python-version: ${{ matrix.python-version }}

- name: Install system dependencies
run: |
sudo rm -f /etc/apt/sources.list.d/dotnetdev.list /etc/apt/sources.list.d/microsoft-prod.list
sudo apt update
sudo apt install postgresql-10 graphviz

- run: pip install --upgrade pip

- name: upgrade setuptools [py35]
if: matrix.python-version == 3.5
run: pip install -I setuptools==38.2.0

- name: Install aiida-core
run: |
pip install -e .[atomic_tools,docs,notebook,rest,testing]
reentry scan

- run: pip freeze

- name: Setup AiiDA environment
env:
AIIDA_TEST_BACKEND: ${{ matrix.backend }}
run:
.github/workflows/setup.sh

- name: Run test suite
env:
AIIDA_TEST_BACKEND: ${{ matrix.backend }}
run:
.github/workflows/tests.sh
Loading