Merge lp:~abentley/launchpad/build-quota into lp:launchpad
Status: | Merged | ||||
---|---|---|---|---|---|
Merged at revision: | 10983 | ||||
Proposed branch: | lp:~abentley/launchpad/build-quota | ||||
Merge into: | lp:launchpad | ||||
Diff against target: |
330 lines (+133/-5) 10 files modified
lib/lp/code/browser/sourcepackagerecipe.py (+11/-0) lib/lp/code/browser/tests/test_sourcepackagerecipe.py (+20/-0) lib/lp/code/interfaces/sourcepackagerecipe.py (+23/-1) lib/lp/code/model/sourcepackagerecipe.py (+11/-1) lib/lp/code/model/sourcepackagerecipebuild.py (+12/-0) lib/lp/code/model/tests/test_sourcepackagerecipe.py (+17/-1) lib/lp/code/model/tests/test_sourcepackagerecipebuild.py (+30/-0) lib/lp/registry/interfaces/distroseries.py (+3/-0) lib/lp/registry/model/distroseries.py (+3/-0) lib/lp/testing/factory.py (+3/-2) |
||||
To merge this branch: | bzr merge lp:~abentley/launchpad/build-quota | ||||
Related bugs: |
|
Reviewer | Review Type | Date Requested | Status |
---|---|---|---|
Paul Hummer (community) | code | Approve | |
Review via email: mp+26821@code.launchpad.net |
Commit message
Impose a quota on source package recipe builds.
Description of the change
= Summary =
Fix bug #581901: On-demand builds should be limited.
== Proposed fix ==
Restrict builds to 5 per 24 hours per recipe per distroseries. (i.e. building
for a different distroseries or recipe won't hit the limit)
== Pre-implementation notes ==
The quotas were discussed with bigjools.
== Implementation details ==
All builds, not only on-demand builds are restricted. At the moment, there is
no way of distinguishing them. If it later turns out that daily builds are
being hindered by this, we can look at ways to relax this quota for them.
== Tests ==
bin/test -vt test_getRecentB
== Demo and Q/A ==
Request 6 builds for a given recipe and distroseries. The last should error.
= Launchpad lint =
Checking for conflicts. and issues in doctests and templates.
Running jslint, xmllint, pyflakes, and pylint.
Using normal rules.
Linting changed files:
lib/lp/
lib/lp/
lib/lp/
lib/lp/
lib/lp/
lib/lp/
lib/lp/
lib/lp/
lib/lp/
lib/lp/
== Pylint notices ==
lib/lp/
429: [C0322, IDistroSeriesPu
description=_(
^
"Return items that are more recent than this timestamp."),
required=
status=Choice(
vocabulary=
title=
description
required=
archive=
schema=
title=
description
required=
pocket=Choice(
vocabulary=
title=
description
required=
custom_
vocabulary=
title=_("Custom Type"),
description
"type."),
required=
)
@operation_
@export_
def getPackageUploa
custom_type):
lib/lp/
172: [C0322, ISourcePackageR
distroserie
^
)
@export_
def requestBuild(