Tuesday 4 June 2024

ppa-dev-tools 0.6.0 release

The `ppa tests` command received a bunch of bug fixes to autopkgtest
trigger URL generation and test result processing, along with some
noteworthy packaging advancements in this 0.6 release.

ppa-dev-tools is a Launchpad API client that lets you create and manage
Personal Package Archives (PPAs) from the command-line, run autopkgtests
against them, and check results. E.g.:

$ ppa create my-ppa
$ dput *.changes ppa:<lpuser>/my-ppa
$ ppa wait my-ppa
$ ppa tests my-ppa
$ ppa destroy my-ppa

There's multiple ways to install:

By Snap...
$ sudo snap install ppa-dev-tools

By PPA...
$ sudo add-apt-repository -ys ppa:bryce/ppa-dev-tools
$ sudo apt-get install ppa-dev-tools

By PIP...
$ pip install ppa-dev-tools

By source...
$ git clone https://git.launchpad.net/ppa-dev-tools
$ cd ppa-dev-tools
$ sudo python3 ./setup.py install

Notable changes from 0.5 to 0.6

With this release comes some significant improvements in packaging of
ppa-dev-tools, including completion of the transition to modern Python
build packaging and dropping of the old setup.py approach. Of even more
note, ppa-dev-tools is now included in Debian testing, so can now be
installed directly on that operating system; hopefully soon it will be
available from Ubuntu oracular as well.

Meanwhile, the snap packaging has been significantly improved, including
snapshot builds, builds for all supported architectures, better handling
of Launchpad credentials, and a registered alias for the 'ppa' command.

Several irregularities were found in various corner cases with the
parsing, processing, and display of test results for the `ppa tests`
command. These are fixed and the testsuite expanded to cover a wider
variety of test (mis-)behaviors. The --package argument now filters the
results as well as the triggers, which will be helpful for users of PPA
containing many packages.

As well, the `ppa tests` command's handling of triggers has received
some fixes that were causing them to not be displayed in some
circumstances, or to be improperly encoded for some package version

Thanks to all the contributors to this release: Alberto Contreras,
Alexandre Detiste, Heinrich Schuchardt, Mitchell Dzurick, Nathan Pratta
Teodosio, Simon Chopin and Benjamin Drung.

For more information about ppa-dev-tools, including reporting bugs and
proposing changes via git, please visit the Launchpad project page:



Issues fixed in this release

* DeprecationWarning: pkg_resources is deprecated as an API. The 'ppa-dev-tools==0.5.0' distribution was not found
(LP: #2055636)
* ppa tests --packages still shows test result from other packages
(LP: #2025483)
* Tests result duplicated
(LP: #2038649)
* ppa-dev-tools shows failing tests even though they are passing in the log
(LP: #2043505)
* Duplicated test URLs and no all-proposed URLs
(LP: #2044608)
* ppa put invalid subcommand
(LP: #2066884)
* ppa wait waits on cancelled builds
(LP: #2067268)
* Incomplete packages listing - bionic not included
(LP: #2038651)
* Try to get results from a serie not available in the ppa
(LP: #2043595)
* ppa suggests status is a possible argument command
(LP: #2067271)
* Consider adopting build, poetry or hatch as packaging system
(LP: #1989617)
* Support subtest status 'FLAKY'
(LP: #1989650)
* "ppa-dev-tools.ppa tests" fails to trigger build
(LP: #2049105)
* small help for comfort until --credentials isn't needed anymore
(LP: #2051235)
* The following error shows as passed: ERROR: testbed failure: unexpected eof from the testbed
(LP: #2065754)

Shortlog of changes since 0.5.1

Alberto Contreras (1):
doc: remove invalid ppa put example

Alexandre Detiste (1):
replace mock by unittest.mock from standard library

Bryce Harrington (46):
Include ESM releases in allowed list of triggers.
results: Add test case for show_results()
results: Avoid printing excessive duplicate results
NEWS: Set version
ppa: Fix the all-proposed link
ppa: Fix f-string for how to add the ppa
processes: Include output when raising ReturnCode
trigger: Refactor object generation into new get_triggers()
trigger: Refactor trigger display logic to new show_triggers()
trigger: Rename series_codename to just series
trigger: Improve Trigger class docs
tests: Implement test_get_results()
results: Fix invalid url generation for get_results()
Rename exception to PpaNotFoundError
ppa: Use standard error codes for exit conditions
ppa: Catch exceptions for issues when reading config files
tests: Expand test cases for test_to_dict()
tests: Add test case for to_bullet_tree()
test_result: Add subtest cases to test_to_bullet_tree()
result: Display status line for failed subtests
result: Reorder to_bullet_tree()
tests: Fix whitespace in trigger tests (flake8)
job: Fix whitespace in jobs code (flake8)
ppa: Locally define EX_NOTFOUND which is not present on all *nix
tests: Implement tests for Results status and status_icon
tests: Improve test cases for identifying triggers from results logs
tests: Extend test_show_triggers() with more detailed cases
trigger: Fix omission of all-proposed URLS when -L specified
snap: Expand list of architectures to build
tests: Don't use local paths in test cases
io: Quell error messages for non-existing results and jobs
Add functionality to filter test results by package
packaging: Exclude snap directory for source package build
packaging: Install the script when building
packaging: Drop deprecated setup.py in favor of 'build' pkg system
TESTING: document test dependencies
tox: Add dependencies so tox will run
ppa test: Don't lookup results twice
result: Return triggers even for failed testbed setups
result: Handle testbed setup failures, treating as 'BAD'
Add support for subtests marked as 'FLAKY'
snap: The ppa alias is now registered officially
Sync debian/ packaging with the Debian package
INSTALL: Mention installability via Debian
NEWS: Summarize changes for 0.6.0 release
Releasing 0.6.0

Heinrich Schuchardt (2):
test_request_url: provide more test cases
Job.request_url: urlencode parameter strings

Mitchell Dzurick (1):
ppa: add --credentials to wait help (LP: #2051235)

Nathan Pratta Teodosio (2):
ppa: Drop status command from argument parser.
Disregard cancelled builds from pending publications.

Simon Chopin (1):
snap: add missing plugs `desktop` and `password-manager-service`

ubuntu-devel mailing list
Modify settings or unsubscribe at: https://lists.ubuntu.com/mailman/listinfo/ubuntu-devel