Allow modules built against platform in 'garbage' state to be used as build dependency.

This commit is contained in:
Jan Kaluza
2019-06-20 09:05:03 +02:00
parent 96d44d049e
commit 95febc2e1b
8 changed files with 157 additions and 73 deletions

View File

@@ -460,7 +460,7 @@ class ModuleBuild(MBSBase):
@staticmethod
def get_last_builds_in_stream_version_lte(
session, name, stream_version=None, virtual_streams=None):
session, name, stream_version=None, virtual_streams=None, states=None):
"""
Returns the latest builds in "ready" state for given name:stream limited by
`stream_version`. The `stream_version` is int generated by `get_stream_version(...)`
@@ -475,10 +475,11 @@ class ModuleBuild(MBSBase):
:param list virtual_streams: A list of the virtual streams to filter on. The filtering uses
"or" logic. When falsy, no filtering occurs.
"""
states = states or [BUILD_STATES["ready"]]
query = (
session.query(ModuleBuild)
.filter(ModuleBuild.name == name)
.filter(ModuleBuild.state == BUILD_STATES["ready"])
.filter(ModuleBuild.state.in_(states))
.order_by(sqlalchemy.cast(ModuleBuild.version, db.BigInteger).desc())
)