Commit Graph

490 Commits (d51e0be23a641a6a6ed2a4322845a7dbfd58839c)

Author SHA1 Message Date
Ivo De Decker 7e05c0e5ac Apply policy to srcarch excuses
6 years ago
Ivo De Decker d0b5cc2ce1 Rename apply_policy to apply_src_policy
6 years ago
Ivo De Decker 0d80bad65c Move handling of policies to PolicyEngine
6 years ago
Niels Thykier b16ae8046a
Add some '# pragma: no cover' for error cases, abstract methods, etc.
6 years ago
Niels Thykier 5bcbed499e
Fix the doc string for compile_nuninst
6 years ago
Niels Thykier 04318473f6
Simplify MigrationItem.parse_item by extracting a method
6 years ago
Niels Thykier 542f030a96
Remove now obsolete code from MigrationItem
6 years ago
Niels Thykier 61d3068de6
Move suite name auto-correction to MigrationItemFactory
6 years ago
Niels Thykier eec7b9b7ef
MigrationItem: Remove setter for "name"
6 years ago
Niels Thykier 6174d2c3f9
Create a MigrationItemFactory and migrate most code to use it
6 years ago
Ivo De Decker 18d951be25 Handle dependencies between excuses in a generic way
6 years ago
Ivo De Decker 847e6e41e1 Add invalidated-by-other-package field in excuses.yaml
6 years ago
Niels Thykier dd3dcf818f
Mark a regex pattern as a raw string
6 years ago
Raphaël Hertzog 6c1cf01898 Do not ensure consistency of "Section" field across unstable and testing
6 years ago
Ivo De Decker 348274947e Add option fake_runtime to override runtime in britney.conf
6 years ago
Niels Thykier 179faeb23b
Update some comments to match a renamed method
6 years ago
Niels Thykier 8cefd1a546
Have transactions verify/assert safe usage
6 years ago
Niels Thykier 7d758760d1
MigrationManager: _transaction is a stack; not a queue
6 years ago
Niels Thykier a5352d353b
Simplify undo code handling sources
6 years ago
Niels Thykier 59ae7e3d68
Optimize out "nvirtual" member of undo items
6 years ago
Niels Thykier 5642a90449
Rename _compute_groups to compute_groups
6 years ago
Niels Thykier 33ba41c76e
Split out a _compute_removals from _compute_groups
6 years ago
Niels Thykier d3b391aed1
MigrationManager: Precompute a set of all architectures
6 years ago
Niels Thykier 89fcccba13
MigrationManager: Create a is_nuninst_worse
6 years ago
Niels Thykier aa6dd4a0f3
Extract a compute eqv_set function
6 years ago
Niels Thykier a95565c0e8
Split migrate_item_to_target_suite into two
6 years ago
Niels Thykier 57ded55674
Remove dead assignment
6 years ago
Niels Thykier c7dbd95c0b
Have MigrationManager keep track of active transaction
6 years ago
Niels Thykier 4803065e1a
Move (and rename) try_migration to the MigrationManager
6 years ago
Niels Thykier 28c7a052fa
Move to MM and rename doop_source to apply_item_to_target_suite
6 years ago
Niels Thykier 4ae6a34a27
Move _compute_groups to a new MigrationManager class
6 years ago
Ivo De Decker 12debfc7c8 Check that version increases when adding packages to testing
6 years ago
Niels Thykier a05a249e04
Record exactly which binaries are updated in the transaction
6 years ago
Niels Thykier 5d49a41204
Introduce a "Transaction" for changes to testing
6 years ago
Niels Thykier 68fd0ba4b2
Remove --components/COMPONENTS as it is auto-detected
6 years ago
Niels Thykier 7124313aa6
Make InstallabilityTester suite agnostic
6 years ago
Niels Thykier ced7b7b413
Refactor britney.py to use InstallabilityTester less
6 years ago
Niels Thykier 0099c34d93
Refactor _read_binaries to reduce its complexity a bit
6 years ago
Niels Thykier f547fb20b1
suiteloader: Create a _setup_architecture method
6 years ago
Niels Thykier 7efa865a04
Move Suite/Package loading into a separate class/module
6 years ago
Niels Thykier deb9482a2f
Move parse_provides to britney2.utils
6 years ago
Ivo De Decker 3828a76053 Filter out cruft in find_smooth_updateable_binaries
6 years ago
Ivo De Decker f0ddfc253f Fix parsing of migration item name for binNMU in tpu
6 years ago
Niels Thykier 65b67e763c
Replace the use of inst_tester with new suite functionality
6 years ago
Niels Thykier 03df891b7e
Expand the Suite interface and create a TargetSuite sub-class
6 years ago
Niels Thykier 0b4f58315f
Rename a method and reduce a table to a set
6 years ago
Niels Thykier 0eb8b5a201
BinaryPackageUniverse: Provde equivalent_packages
6 years ago
Niels Thykier ef813bf0d8
Let the BinaryPackageUnvierse track broken packages
6 years ago
Niels Thykier 8867ef0cf9
Let the BinaryPackageUniverse track essential packages
6 years ago
Niels Thykier 07a407e810
Partly separate the solver from the inst_tester
6 years ago
Niels Thykier c0ecdd82fb
Remove now redundant APIs from the InstallabilityTester
6 years ago
Niels Thykier 0a669461ca
Separate inst_tester from universe
6 years ago
Niels Thykier 35b06ee007
tests: Separate inst_tester from universe
6 years ago
Niels Thykier d557610c6f
BinaryPackageUniverse: Implement packages_equivalent_to()
6 years ago
Niels Thykier 530db5d3f7
Extract a BinaryPackageUniverse from the InstallabilityTester
6 years ago
Niels Thykier 32def47991
Fix typo in doc string
6 years ago
Niels Thykier b37575f000
Stop creating some throw-away data-structures for a method call
6 years ago
Niels Thykier f86cda97da
inst_tester: Improve doc string/argument name
6 years ago
Niels Thykier 7bcbcb6282
Make clone_nuninst able to fully deep clone nuninst
6 years ago
Niels Thykier 6c5300d873
Unfold the suite.binaries tuple into two members
6 years ago
Ivo De Decker 9c606ef533 Don't add smooth-updatable cruft to migration items
6 years ago
Niels Thykier 99a35a2986
autopkgtest.py: Update previous commit to match recent changes
6 years ago
Iain Lane c09a229dc9
autopkgtest: Run gcc-n's testuite, if it has one
6 years ago
Niels Thykier 880a614b2b
britney: Extract a find_smooth_updateable_binaries function
6 years ago
Niels Thykier c4931fb1b2
solver: Move a common variable out of an if
6 years ago
Niels Thykier 1e46965924
inst/builder.py: Split function in three to reduce indentation levels
6 years ago
Niels Thykier dd5211d55a
inst-tester: Add missing element to a set
6 years ago
Niels Thykier 55dd190fa6
inst-tester: Make "check" a list
6 years ago
Niels Thykier cd1f384012
inst-tester: Remove obsolete "safe-set" optimization
6 years ago
Niels Thykier 95b945d2b3
inst-tester: Remove obsolete optimization
6 years ago
Niels Thykier 0690a85fe0
excuse: Avoid some unnecessary throw-away tuples
6 years ago
Niels Thykier bd1a0ea000
excuse: Fix some minor style/pep8 issues
6 years ago
Niels Thykier 41f4b43f2c
excuse.p: Refactor some duplicated code
6 years ago
Paul Gevers 18633e275c
autopkgtest: figure out which packages from unstable are needed
6 years ago
Paul Gevers 713b98ad6b
inst_tester: add is_pkg_in_testing
6 years ago
Paul Gevers 20a64cadef
Process space separated triggers individually
6 years ago
Niels Thykier b6888c2716 test-builder: Avoid allocating empty throw-away lists on empty relations
6 years ago
Niels Thykier 373f7f51f3 inst-builder: Avoid some hash-look ups by doing them early
6 years ago
Niels Thykier 35add7cb26 Move loop-invariant out of loop
6 years ago
Niels Thykier 02001d4d4f inst-builder: Loop over values instead of keys + hash-lookup
6 years ago
Niels Thykier 0446ead9e8 inst-builder: Replace RelationBuilder with a set_relations method
6 years ago
Niels Thykier ab6b2ef953 inst-builder: Refactor to bulk adding dependency clauses
6 years ago
Niels Thykier bc1d3afa38 inst-builder: Make add_breaks a bulk call
6 years ago
Niels Thykier 6f97e36477 inst-builder: Split relation loop and optimize conflicts
6 years ago
Niels Thykier 6a3d100b92 Fix error format string error in AssertionError
6 years ago
Niels Thykier fc834624fc Avoid some unnecessary hash look ups
6 years ago
Niels Thykier 74c728bf91 Make the tab-completer suite agnostic
6 years ago
Niels Thykier 0d5c4a24c4 Handle Build-Depends-Indep in excuses
6 years ago
Niels Thykier 1623828a48 SourcePackage: Add field for Build-Depends-Indep
6 years ago
Niels Thykier 8753649e54 Replace a for-loop with any()
6 years ago
Niels Thykier 1d45b2a3b2 Move autopkgtest specific field to Autopkgtest policy
6 years ago
Mathieu Trudel-Lapierre 8d2cabd914 Add 'unsatisifiable dependencies' to YAML excuses
6 years ago
Niels Thykier 3e1da36331 excuses: Correct source field in YAML excuses
6 years ago
Paul Gevers 0868962ee3
autopkgtest: Ignore triggers without a forward slash
6 years ago
Niels Thykier f67fc00292 AgePolicy: Move self.options usage to constructor/initialization
6 years ago
Niels Thykier 8e9e099a67 BasePolicy: Make an easy accessor for state_dir
6 years ago
Niels Thykier b0e193d955 Add missing @property - otherwise "verdict.is_blocked" is always True
6 years ago
Niels Thykier 36608194f8 test_policy: Add additional tests of AgePolicy
6 years ago
Niels Thykier e88f4d2e5e AgePolicy: Explicitly ignore comment lines in data files
6 years ago
Niels Thykier 206d5ac5df Fix typo in parameter
6 years ago
Paul Gevers c219c42804 Add text to excuses in case autopkgtest is delayed
6 years ago
Paul Gevers 08a6cdde6f Don't have britney create migration-references itself
7 years ago
Niels Thykier 4a2fe3420a Rewrite write_controlfiles to take a single suite as argument
7 years ago
Niels Thykier 97d707e5c0 britney: Avoid some references to britney.{sources,binaries}
7 years ago
Niels Thykier dfbff18b5c Remove some references to "unstable"
7 years ago
Niels Thykier 6c6b8fcb96 policies: Make policies suite name agnostic
7 years ago
Niels Thykier 54e5eb0e74 policies: Use suite class instead of suite name
7 years ago
Niels Thykier 63c867995b write_heidi: Accept a target suite instead of sources+packages
7 years ago
Niels Thykier 609bb9e960 Make migration and undo code suite agnotisc
7 years ago
Niels Thykier 382ced2a68 Make write_excuses suite agnostic
7 years ago
Niels Thykier 9a5c0c3fa8 Rewrite old_libraries to be suite agnostic
7 years ago
Niels Thykier 64d2bc4203 builder.py: Make the code suite agnostic
7 years ago
Niels Thykier f464baa257 Move the "binary" field from Britney to Suite
7 years ago
Niels Thykier 73f4f3a5dd Suites now have a reference to sources
7 years ago
Niels Thykier d1350606bb Use a proper Suite object for MigrationItem.suite
7 years ago
Niels Thykier 8768e2a02a Define a SuiteClass to classify suites
7 years ago
Niels Thykier b63ade583c Rename and turn SuiteInfo into a proper class
7 years ago
Niels Thykier e63aa05708 Add Suites to keep track of all suites
7 years ago
Niels Thykier 37f02d611c Revert "Rename autopkgtest related hints"
7 years ago
Niels Thykier a07fa9f907 Rename autopkgtest related hints
7 years ago
Paul Gevers bfa5c9f191
Don't show excuses for packages that are PASS, NEUTRAL, RUNNING-ALWAYSFAIL or ALWAYSFAIL
7 years ago
Paul Gevers 0da1e4d589
autopkgtest: Drop broken reference update
7 years ago
Paul Gevers 624b185ba6
autopkgtest: enable NEUTRAL state for the case where all tests were skipped (or none available)
7 years ago
Paul Gevers 8bbe112735
Rephrase 'Always failed' as it is confusing in Debian
7 years ago
Niels Thykier d11152b366 Remove the "valid candidate"/"Not considered" messages
7 years ago
Niels Thykier 5dd4a5141c Avoid explicit state in non-actionable excuses
7 years ago
Niels Thykier e51a3b91ff autopkgtest.py: Avoid unnecessary indirection
7 years ago
Niels Thykier a344a9b375 Rewrite handling of logging old libraries
7 years ago
Niels Thykier 3d05b834ad Refactor logging of uninst
7 years ago
Niels Thykier d3638cc08f Make adt_baseline config optional
7 years ago
Niels Thykier 92817767b6 Merge remote-tracking branch 'github/autopkgtest'
7 years ago
Paul Gevers a4d0c4a854
Don't start the tests before arch:all has been build (if applicable)
7 years ago
Paul Gevers 022d6ed564
Packages need passing tests on all tested architectures to receive the bounty
7 years ago
Paul Gevers 7e8ec20bc1
Put autopkgtest state files in their own namespace
7 years ago
Paul Gevers 575993d77b
Drop some linux-meta hardcoded stuff; not in Debian and bug 779559 is fixed long time
7 years ago
Niels Thykier d7045af2b7 Leverage defaultdict to simplify some code
7 years ago
Niels Thykier 641df09570 Fix typo in a comment
7 years ago
Niels Thykier 686721e91f Rewrite some set constructs
7 years ago
Niels Thykier 77ec8a34f9 Optimize some hash lookups
7 years ago
Niels Thykier 499f7d993c Move loop-invariant out of loop
7 years ago
Niels Thykier 74fe0c8b8e Use finally to close handles from urlopen
7 years ago
Niels Thykier 2c34b70492 Remove unused import
7 years ago
Paul Gevers def9d81c76
Make retry URL configurable (two flavors)
7 years ago
Paul Gevers 9a28ec184b
Revert "autopkgtest: Drop retry_url from the excuses as this works different in Debian"
7 years ago
Paul Gevers cb716e3186
Don't excuse.force() on skiptest hint
7 years ago
Paul Gevers 6252826fad
autopkgtest: add adt_baseline = reference option
7 years ago
Niels Thykier 41978869ce Migrate solver's ad-hoc debug logging
7 years ago
Niels Thykier 8eaee4309e Rewrite "self.log -> self.logger.<severity>" for autopkgtest
7 years ago
Niels Thykier f752ea4ac7 Merge branch 'master' into autopkgtest
7 years ago
Niels Thykier 32b2ee326a Use lazy evaluation of format arguments in logging
7 years ago
Niels Thykier 8bf73610ee policies: Use logger instead of "log"
7 years ago
Niels Thykier ac69b3b5c7 Migrate hint parser to fully use logging
7 years ago
Niels Thykier 5e825043d3 Replace "print" logging with the "logging" module
7 years ago
Paul Gevers 5dfde99fe6
sources is a proper class with a version method
7 years ago
Paul Gevers c7107d1fd4
autopkgtest: rewrite processing of debci2britney data
7 years ago
Paul Gevers 12e2cb7596
autopkgtest: don't log a very much occuring ignored situation
7 years ago
Paul Gevers 67becb2aec
autopkgtest: in the final API, run_id is a number, convert it to string internally
7 years ago
Paul Gevers d0fd1872d4
autopkgtest: give blacklisted packages a version of 'blacklisted'
7 years ago
Paul Gevers df17112bbe
autopkgtest: ignore results without trigger
7 years ago
Paul Gevers adbe6d5f67
autopkgtest: redefine regression, if possible, only take test results in testing into account
7 years ago
Paul Gevers 054830d03f
autopkgtest: Drop retry_url from the excuses as this works different in Debian
7 years ago
Paul Gevers fc5eacf7d1
autopkgtest: minor change
7 years ago
Paul Gevers d59538a514
Enable correct result file url for Debian
7 years ago
Paul Gevers 93ca29c3aa
Load the debci API status file directly
7 years ago
Paul Gevers 03292d1df4
On ci.d.n the running test page is under status/pending
7 years ago
Paul Gevers 1e022af99e
Minor enhancement of log message as in Debian a package can be in unstable without being in testing.
7 years ago
Paul Gevers 9790dbf7c2
Don't reward bounty while tests are running or are always-failed
7 years ago
Paul Gevers 44f983dc63
autopkgtest: Remove hack for gccgo-5/6
7 years ago
Paul Gevers 011e9a14b7
Merge branch 'master' into autopkgtest
7 years ago
Paul Wise 94a3136f64 Drop duplicate 'has new bugs' excuses item
7 years ago
Paul Gevers fd03083ea5
Merge branch 'master' into autopkgtest
7 years ago
Niels Thykier b82f4fc632 autopkgtests policy: only load amqplib if needed
7 years ago
Niels Thykier 5c3229467a write_heidi: Include cruft arch:all packages in the output
7 years ago
Niels Thykier 7217c22b42 get_dependency_solvers: The "foo:any" modifier can also appear in B-D relations
7 years ago
Niels Thykier 2242821c01 BuildDependsPolicy: Add missing build_depends=True to get_dependency_solvers
7 years ago
Niels Thykier c195268019 piuparts: Properly discard the URL for testing
7 years ago
Niels Thykier bda39f8ca0 Support :native in build-dependency relations
7 years ago
Niels Thykier 89765bc374 BuildDependsPolicy: Keep block_txt and block in sync
7 years ago
Niels Thykier ee27d7a67c Add BuildDependsPolicy to check Build-Depends(-Arch) availability
7 years ago
Niels Thykier c537f0554f Move PolicyVerdict to britney2.policies
7 years ago
Niels Thykier 784d80ab4c Replace a few lists with sets
7 years ago
Niels Thykier 94034f225f excuse: Drop unused field
7 years ago
Paul Gevers f03f59548d
Fix logic in exception handling of unknown autopkgtest results
7 years ago
Paul Gevers 089c4f6e57
Rename new excuse field and method to unsatisfiable_on_archs and add_unsatisfiable_on_arch
7 years ago
Paul Gevers a16e4e5a55
Enable autopkgtesting on built arches when not all have been built yet
7 years ago
Paul Gevers 41c4729506
Only give bounty on passing packages if the package has a test suite itself
7 years ago
Paul Gevers d975b2fc39
Make the huge queue in autopkgtest optional
7 years ago
Paul Gevers b553b205ce
Add age changes due to penalties or bounties to the excuses output
7 years ago
Paul Gevers f2f20eb460
Limit accumulated bounties to configurable minum age
7 years ago
Paul Gevers 77ea1cc8d5
Enable no-penalties urgencies; to exempt urgency >= high from penalties
7 years ago
Paul Gevers be5a378da5
Enhance debugging information for applied bounties and penalties
7 years ago
Paul Gevers 287a9d328c
os.path.join(options.unstable, 'autopkgtest') isn't writable in the Debian setup and we have options.state_dir already
7 years ago
Paul Gevers eb60fc557e
Implement bounty/penalty system for autopkgtest
7 years ago
Paul Gevers acec564443
Make autopkgtest web site URL an option
7 years ago
Paul Gevers 648feb71d3
Implement swift free usage of autopkgtest
7 years ago
Paul Gevers bee197f085
policy/autopkgtest Add minor comments
7 years ago
Paul Gevers 77bb15e0e8
Plug in the new autopkgtest policy
7 years ago
Paul Gevers 2bce9e334e
Initial commit for autokpgtest
7 years ago
Niels Thykier 1042c626ec excuse: Improve text for REJECTED_NEEDS_APPROVAL
7 years ago
Niels Thykier 69473eefca solver: Extract compute_scc into a function
8 years ago
Niels Thykier bd375fdd85 solver: Make _compute_scc iterative
8 years ago
Niels Thykier 64653087d0 solver: Fix bug where some items were not emitted
8 years ago
Niels Thykier 189edf42ec britney: Move britney's start of day to 7 pm
8 years ago
Niels Thykier f6120e5ec3 Use the correct required age in html excuses
8 years ago
James McCoy 0c44d3ac27 excuse: Add an EOL to the verdict summary line in HTML output
8 years ago
Niels Thykier 67c784f796 excuse: Use verdict name rather than object in excuses.yaml
8 years ago
Niels Thykier 9ca5f7e24e Add more verdicts to provide more detailed excuses
8 years ago
Niels Thykier d7a676d074 Aggregate all migration decisions and present it in excuses
8 years ago
Niels Thykier f40a7f41b3 Replace dontinvalidate with forced
8 years ago
Niels Thykier b34ac3bdd9 Add a verdict field to all policies with the actual verdict
8 years ago
Niels Thykier 5f2a84a4f8 Remove redundant if-else - if branch is always true
8 years ago
Niels Thykier 42be17ad26 inst-tester: Correctly handle unresolved essential choices
8 years ago
Niels Thykier ed2a34e897 hints.py: Fix incorrect documentation of min_args parameter
8 years ago
Niels Thykier ee12b76885 tests: Add test for some invalid hints
8 years ago
Jonathan Wiltshire 3156b2c753 Fix call to super() in SimplePolicyHint
8 years ago
Niels Thykier 3e888a9fdf PiupartsPolicy: Improve html message
8 years ago
Niels Thykier bcdb2b39cd Add PiupartsPolicy to avoid piuparts regressions
8 years ago
Niels Thykier e6e221ad52 Extract a compile_nuninst and move it to utils
8 years ago
Niels Thykier eaf4660918 utils: Replace explicit loop index handling with enumerate
8 years ago
Niels Thykier 06504f2ae7 Move invalidate_exuses to utils
8 years ago
Niels Thykier 166a6533ba completer: Replace src[X] with src.X
8 years ago
Niels Thykier 0cc7f7a8d2 Move build_installability_tester to builder.py
8 years ago
Niels Thykier 7a63784876 Move get_dependency_solvers to utils
8 years ago
Niels Thykier c4be8436db Move read_sources_file to utils
8 years ago
Niels Thykier a14ced6403 Drop now unused "from __future__" imports
8 years ago
Niels Thykier 9ca30aac81 Rename a variable for clarity reasons
8 years ago
Niels Thykier a768432eb2 solver.py: Add missing "no cover" pragma
8 years ago
Niels Thykier d3e343a3bd AgePolicy: Fix bug in creating the age file
8 years ago
Niels Thykier 241b17602d utils: Remove condition that is always true
8 years ago
Niels Thykier fc2269ba02 rc-bugs policy: Ignored bugs are not unique to testing
8 years ago
Niels Thykier 9c563f1a96 Move data classes into britney2/__init__.py
8 years ago
Niels Thykier 20c2b87833 Sprinkle some "no cover" pragmas over the code base
8 years ago
Niels Thykier 54fd517062 excuse.py: Drop now unused urgency field
8 years ago
Niels Thykier 2d8a471f70 undo_changes: Simplify case for virtual packages
8 years ago
Niels Thykier 1f1086b929 utils: Replace a case of b[FOO] with b.foo
8 years ago
Niels Thykier 2ce2d7efb3 utils: Remove reundant VERSION=VERSION parameter
8 years ago
Niels Thykier dd426c81fa Remove dead case in undo code
8 years ago
Niels Thykier 50d4d45c59 Collect suite metadata in a new member hash
8 years ago
Niels Thykier c86e1f7e9c britney: Skip architectures not listed in Release files
8 years ago
Niels Thykier 9bc94db01c Refactor all modules into a britney2 subdir
8 years ago