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

Update verdi branch after merging of CI folders #1637

Merged
merged 18 commits into from
Jun 11, 2018
Merged

Conversation

sphuber
Copy link
Contributor

@sphuber sphuber commented Jun 11, 2018

The folders .travis-data and .jenkins-data were merged into a single .ci folder, to simplify maintenance for the CI files. To keep tests running in the verdi branch, we have to update the branch to include those changes by merging in develop

sphuber and others added 18 commits May 30, 2018 10:54
aiidateam#1607)

The `append` method of the `QueryBuilder` now accepts a tuple, list or set of orm classes
for the `cls` and `type` keyword argument, with the one restriction that all classes share a
common base class. This allows the user to append a join for a set of classes with the same
projection and filtering rules
…(Group,) which created a list of Nones for the query_type_string. This was resolved by explicitly checking that ormclass is a Node. (aiidateam#1608)
At the moment we just configure the formats,
in particular disabling the htmlzip format, that was
causing a lot of memory usage and, as a consequence,
the builds to fail, see aiidateam#1472

This should close aiidateam#1472 if it  works as expected
…_building

Adding readthedocs YAML config file
This set a total build timeout of 1 hour to avoid
infinite builds in case e.g. there is an input prompt
or some other strange condition.

To see if there is a way to improve the timeout as it works
on Travis: timeout since the last output was produced.
Added element X to the elements list in order to support unknown species
…kins_builds

Setting timeout for Jenkins builds
…unctions (aiidateam#1631)

There was no method yet to exit from a workfunction and specify an exit code
that should be used to set the finish status of the corresponding node.
However, this is an important feature to have. Here we choose to implement
a specific exception, aiida.work.exceptions.Exit, which will be treated
differently from all other exceptions by the workflow engine. When this is
raised, as opposed to marking the workfunction as EXCEPTED, the exit code
is retrieved from the exception class and is set as the finish status on the
node of the workfunction.
The situation may occur where a worker picks up a continuation task
and the process actually reaches a terminal state, however, the worker
may fail to communicate this to RabbitMQ. In that case, the task will
be sent again by RabbitMQ and be picked up by another worker. This
worker will try to load it but the checkpoint will already have been
deleted by the previous worker after the task terminated.

We override the _continue method of the ProcessLauncher to check whether
the node corresponding to the task is already marked as terminated,
before even attempting to load the process from the checkpoint. When
the node is actually in a terminal state, the corresponding future is
recreated based on its actual terminal state. For FINISHED we return the
outputs, for KILLED we set a KilledError exception and for EXCEPTED we
return a PastException with the exception that had been set before.

For this final part to work, we also had to implement that any exception
that triggered the EXCEPTED state would also be saved for the node as
an attribute, such that it could be retrieved later.
Adds a `serializer` keyword argument to the `InputPort`, which can be used
to specify a serialization function that is called if the input is not an AiiDA data
type. This is implemented by adding a serialize method to the `InputPort` and
`PortNamespace`, which takes an input or input dictionary and applies the
serialization.
…m#1636)

These folders contain the files necessary to run the continuous
integration on the Travis and Jenkins platforms. So far they had
separate repositories but a lot of the functionality and scripts
were shared. Merging the folders will reduce the maintenance load.
@sphuber sphuber requested review from DropD and giovannipizzi June 11, 2018 11:52
@codecov-io
Copy link

codecov-io commented Jun 11, 2018

Codecov Report

Merging #1637 into verdi will increase coverage by 0.03%.
The diff coverage is 81.57%.

Impacted file tree graph

@@            Coverage Diff             @@
##            verdi    #1637      +/-   ##
==========================================
+ Coverage   59.09%   59.13%   +0.03%     
==========================================
  Files         293      294       +1     
  Lines       34465    34526      +61     
==========================================
+ Hits        20368    20416      +48     
- Misses      14097    14110      +13
Impacted Files Coverage Δ
aiida/orm/data/structure.py 78.21% <ø> (ø) ⬆️
aiida/common/constants.py 100% <ø> (ø) ⬆️
aiida/daemon/execmanager.py 8.22% <ø> (-0.4%) ⬇️
aiida/work/workfunctions.py 100% <ø> (ø) ⬆️
aiida/work/runners.py 91.82% <ø> (ø) ⬆️
aiida/work/process_builder.py 86.66% <100%> (+0.22%) ⬆️
aiida/work/ports.py 100% <100%> (ø) ⬆️
aiida/work/exceptions.py 100% <100%> (ø)
aiida/work/rmq.py 65.21% <54.54%> (-2.06%) ⬇️
...orm/implementation/general/calculation/__init__.py 78.36% <62.5%> (-0.64%) ⬇️
... and 3 more

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update bd88273...7092b8f. Read the comment docs.

@sphuber sphuber merged commit b0dbd41 into aiidateam:verdi Jun 11, 2018
@sphuber sphuber deleted the verdi branch June 11, 2018 12:29
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants