1210 Commits

Author SHA1 Message Date
Niels Thykier
ee27d7a67c Add BuildDependsPolicy to check Build-Depends(-Arch) availability
Add a new "BuildDependsPolicy" that will check the satisfiability of
the build-dependencies listed in the Build-Depends and
Build-Depends-Arch fields.  This enables gating of packages based on
missing / broken build-dependencies.

There are some limitations:

 * Build-Depends-Indep is ignored for now.  Missing or broken packages
   listed in Build-Depends-Indep will be continue to be silently
   ignored.

 * Being a policy check, it does not enforce "self-containedness" as
   a package can still migrate before a build-dependency.  However,
   this can only happen if the build-dependency is ready to migrate
   itself.  If the build-dependency is not ready (e.g. new RC bugs),
   then packages build-depending on it cannot migrate either (unless
   the version in testing satisfies there requirements).

Signed-off-by: Niels Thykier <niels@thykier.net>
2017-11-11 15:49:48 +00:00
Niels Thykier
c537f0554f Move PolicyVerdict to britney2.policies 2017-11-02 19:31:11 +00:00
Niels Thykier
784d80ab4c Replace a few lists with sets
We basically use them as sets and do not need to rely on the ordering,
so we might as well just turn them into proper sets.

Signed-off-by: Niels Thykier <niels@thykier.net>
2017-11-02 19:30:40 +00:00
Niels Thykier
94034f225f excuse: Drop unused field
Signed-off-by: Niels Thykier <niels@thykier.net>
2017-11-02 19:29:51 +00:00
Paul Gevers
f03f59548d
Fix logic in exception handling of unknown autopkgtest results 2017-10-25 21:46:53 +02:00
Paul Gevers
597eac6130
Adapt test_autopkgtest.py so nosetests3 picks it up correctly 2017-10-25 20:14:05 +02:00
Paul Gevers
089c4f6e57
Rename new excuse field and method to unsatisfiable_on_archs and add_unsatisfiable_on_arch 2017-10-24 22:06:35 +02:00
Paul Gevers
a16e4e5a55
Enable autopkgtesting on built arches when not all have been built yet
- autopkgtest now honors break_arches option
- incomplete testing is now treated with penalty behavior
2017-10-24 20:46:21 +02:00
Paul Gevers
41c4729506
Only give bounty on passing packages if the package has a test suite itself 2017-10-21 21:10:41 +02:00
Paul Gevers
d975b2fc39
Make the huge queue in autopkgtest optional 2017-10-19 21:50:56 +02:00
Paul Gevers
2bb1c526e1
Update britney.conf.template for autopkgtest additions 2017-10-19 21:50:56 +02:00
Paul Gevers
b553b205ce
Add age changes due to penalties or bounties to the excuses output 2017-10-19 21:50:56 +02:00
Paul Gevers
f2f20eb460
Limit accumulated bounties to configurable minum age 2017-10-19 21:50:55 +02:00
Paul Gevers
77ea1cc8d5
Enable no-penalties urgencies; to exempt urgency >= high from penalties 2017-10-19 21:50:43 +02:00
Paul Gevers
be5a378da5
Enhance debugging information for applied bounties and penalties 2017-10-18 19:54:57 +02:00
Paul Gevers
287a9d328c
os.path.join(options.unstable, 'autopkgtest') isn't writable in the Debian setup and we have options.state_dir already 2017-10-18 19:54:57 +02:00
Paul Gevers
eb60fc557e
Implement bounty/penalty system for autopkgtest 2017-10-15 21:42:51 +02:00
Paul Gevers
f2a121bf55
Merge branch 'master' into autopkgtest 2017-10-14 20:17:32 +02:00
Paul Gevers
acec564443
Make autopkgtest web site URL an option 2017-10-14 20:15:47 +02:00
Paul Gevers
1b9fb374a2
Improve britney.conf for autopkgtest on release.debian.org (disable for now) 2017-10-13 11:39:56 +02:00
Paul Gevers
6f3f6c5903
Update INSTALL with python3-amqplib as that is needed for autopkgtest 2017-10-11 21:48:16 +02:00
Adam D. Barratt
3ee3ba5463 doc/hints.md: subject-number agreement fix
Signed-off-by: Adam D. Barratt <adam@adam-barratt.org.uk>
2017-10-05 17:56:25 +00:00
Adam D. Barratt
f7173b9d66 doc/hints.md: fix another couple of "Britney" -> "britney"
Signed-off-by: Adam D. Barratt <adam@adam-barratt.org.uk>
2017-10-05 17:54:49 +00:00
Adam D. Barratt
5e58d18676 doc/hints.md: remove gendered pronouns, to match other documentation
Signed-off-by: Adam D. Barratt <adam@adam-barratt.org.uk>
2017-10-05 17:54:06 +00:00
Adam D. Barratt
c6170a6042 docs/hints.md: be consistent of capitalisation of "britney"
Only capitalise it at the start of sentences, not within them

Signed-off-by: Adam D. Barratt <adam@adam-barratt.org.uk>
2017-10-05 17:52:27 +00:00
Adam D. Barratt
ac39d2448f doc/hints.md: grammar fix - "if it was" -> "if it were"
This phrasing is the subjunctive mood, for which English always uses
"were"

Signed-off-by: Adam D. Barratt <adam@adam-barratt.org.uk>
2017-10-05 17:50:10 +00:00
Paul Gevers
e5756dec9e
Fix existing tests for autopkgtest extention of SourcePackage class 2017-09-26 19:45:23 +02:00
Paul Gevers
3dc5e41061
Fix travis call to test_autopkgtest.py 2017-09-26 19:44:33 +02:00
Paul Gevers
648feb71d3
Implement swift free usage of autopkgtest 2017-09-25 21:25:10 +02:00
Paul Gevers
ce41819e05
Try to fix travis test suite for autopkgtest code 2017-09-15 15:57:15 +02:00
Paul Gevers
bee197f085
policy/autopkgtest Add minor comments 2017-09-08 11:08:22 +02:00
Paul Gevers
278b3dcdd0
autopkgtest: switch from testing=series to testing=testing 2017-09-08 11:08:22 +02:00
Paul Gevers
5ae8ccbcc6
Get the autopkgtest test suite to run with Debian's britney
* test_autopkgtest: use --no-compute-migrations instead of removing UPGRADE_OUTPUT
* comment out some tests that I can't get to work in Debian, while all but three work if
  run inside Ubuntu's britney
2017-09-08 11:07:04 +02:00
Paul Gevers
77bb15e0e8
Plug in the new autopkgtest policy 2017-09-08 11:06:33 +02:00
Paul Gevers
4dda7b6e7e
Add britney option: --series
- autopkgtest tests rely on it
- Ubuntu uses this
2017-09-08 11:06:20 +02:00
Paul Gevers
2bce9e334e
Initial commit for autokpgtest
* copy of Ubuntu's version at 593acb2753ce167ed4d2dec0091702315e89e705
* merge tests/__init__.py with Ubuntu's (that only contained autopkgtest)
2017-09-08 10:25:16 +02:00
Adam D. Barratt
3220710a6c britney.py: stop referring to the freeze policy while we're not frozen
Signed-off-by: Adam D. Barratt <adam@adam-barratt.org.uk>
2017-09-08 07:43:11 +00:00
Niels Thykier
d3b90e754b britney: Rewrite conditional assignment
The original method confused IntelliJ into thinking that binary_t was
a boolean rather than an object.

Signed-off-by: Niels Thykier <niels@thykier.net>
2017-09-02 11:10:58 +00:00
Niels Thykier
8352d62999 Improve bug example and avoid usage of "RC"
Signed-off-by: Niels Thykier <niels@thykier.net>
2017-08-26 17:29:52 +00:00
Niels Thykier
7e2c62a600 Avoid gendered pronoun for britney
Signed-off-by: Niels Thykier <niels@thykier.net>
2017-08-26 17:17:22 +00:00
Niels Thykier
e2cbe15157 Improve documentation based on review in #d-release
Signed-off-by: Niels Thykier <niels@thykier.net>
2017-08-26 15:18:48 +00:00
Niels Thykier
cb5d888733 doc: Document basic migration handling/debugging
Signed-off-by: Niels Thykier <niels@thykier.net>
2017-08-26 14:09:19 +00:00
Niels Thykier
1042c626ec excuse: Improve text for REJECTED_NEEDS_APPROVAL
Signed-off-by: Niels Thykier <niels@thykier.net>
2017-08-26 12:53:20 +00:00
Niels Thykier
77d737cefe doc/hints.md: New doc based on the RT README for hints
There is no reason why the hint documentation is not in the britney
code base (particularly, as we would be more likely to update it when
we add new hints).

Signed-off-by: Niels Thykier <niels@thykier.net>
2017-08-13 19:25:08 +00:00
Niels Thykier
2692b503d4 Drop auto-generated doxygen documentation
Signed-off-by: Niels Thykier <niels@thykier.net>
2017-08-13 17:13:08 +00:00
Niels Thykier
6e022eed54 test: Add test for a bug I was about to introduce
When I rewrote the compute_scc function into an iterative variant, I
almost included a bug that could make it come up with components that
were not strongly-connected.

Signed-off-by: Niels Thykier <niels@thykier.net>
2017-07-29 08:05:52 +00:00
Niels Thykier
69473eefca solver: Extract compute_scc into a function
Signed-off-by: Niels Thykier <niels@thykier.net>
2017-07-29 07:54:48 +00:00
Niels Thykier
bd375fdd85 solver: Make _compute_scc iterative
Rewrite _compute_scc to be iterative to avoid call recursion limit for
graphs with long dependency chains.

Signed-off-by: Niels Thykier <niels@thykier.net>
2017-07-29 07:40:15 +00:00
Niels Thykier
64653087d0 solver: Fix bug where some items were not emitted
Sometimes the solver would correctly compute which items are grouped
together, but then fail to emit some groups.  This is trivially
fixable by forcing an update of "before" + "after" relations.
Admittedly, this looks unnecessary, so it may just be hiding the bug.

Nonetheless, the change makes the new test_solver_simple_scc test
produce the expected result.

Signed-off-by: Niels Thykier <niels@thykier.net>
2017-07-28 21:36:01 +00:00
Jonathan Wiltshire
981b9333f6 Revert "Implement a mandatory 10 day migration delay"
This reverts commit 0349cd94774d4f7ba675570bb406fb0dbb21ef5f.

Signed-off-by: Jonathan Wiltshire <jmw@debian.org>
2017-06-19 19:11:13 +00:00