~cjwatson/launchpad:kafka-producer

Last commit made on 2023-03-22
Get this branch:
git clone -b kafka-producer https://git.launchpad.net/~cjwatson/launchpad
Only Colin Watson can upload to this branch. If you are Colin Watson please log in for upload directions.

Branch merges

Branch information

Name:
kafka-producer
Repository:
lp:~cjwatson/launchpad

Recent commits

da53c25... by Colin Watson

Add a simple Kafka producer abstraction

This isn't used anywhere as yet, but in an earlier experiment I was able
to use this to send events to Kafka on `git push`.

I want the abstraction layer in place for ease of testing, and in order
that we can switch to different bindings without too much trouble, since
we aren't very familiar with the operational properties of these
bindings as yet.

Succeeded
[SUCCEEDED] docs:0 (build)
[SUCCEEDED] lint:0 (build)
[SUCCEEDED] mypy:0 (build)
13 of 3 results
8a2b15c... by Colin Watson

Prepare for use of non-pytz timezones

Merged from https://code.launchpad.net/~cjwatson/launchpad/+git/launchpad/+merge/438651

Failed
[FAILED] docs:0 (build)
[WAITING] lint:0 (build)
[WAITING] mypy:0 (build)
13 of 3 results
a3e80a4... by Colin Watson

Partially revert timeline traceback handling changes

Merged from https://code.launchpad.net/~cjwatson/launchpad/+git/launchpad/+merge/438639

3210bf7... by Colin Watson

Partially revert timeline traceback handling changes

Formatting traceback supplements in timelines (commit
d00b1f5c789e5fa4a19c2c4b13cbcf00d4ac6c04) results in recursive timeline
actions via extra database queries in some cases, causing havoc in some
tests. After exploring various options I regretfully decided to revert
this.

I've retained most of the centralization of how `Timeline` objects are
created, since that seems like a good idea regardless.

Succeeded
[SUCCEEDED] docs:0 (build)
[SUCCEEDED] lint:0 (build)
[SUCCEEDED] mypy:0 (build)
13 of 3 results
1389479... by Colin Watson

Include traceback supplements and info in timelines

Merged from https://code.launchpad.net/~cjwatson/launchpad/+git/launchpad/+merge/438607

Succeeded
[SUCCEEDED] docs:0 (build)
[SUCCEEDED] lint:0 (build)
[SUCCEEDED] mypy:0 (build)
13 of 3 results
02462a2... by Colin Watson

doc: Use modern "apt full-upgrade" spelling

Merged from https://code.launchpad.net/~cjwatson/launchpad/+git/launchpad/+merge/438608

b07ee10... by Colin Watson

Handle timezone.utc.tzname's behaviour on Python 3.5

Python 3.5's behaviour of `timezone.utc.tzname` returning "UTC+00:00"
rather than just "UTC" (fixed in Python 3.6) makes it awkward to use
`timezone.utc` in Launchpad, because it ends up being rendered
unexpectedly. Paper over this.

This can be reverted once we use Python >= 3.6 everywhere.

Succeeded
[SUCCEEDED] docs:0 (build)
[SUCCEEDED] lint:0 (build)
[SUCCEEDED] mypy:0 (build)
13 of 3 results
6522041... by Colin Watson

Adjust date widget to accept non-pytz timezones

dd86b8b... by Colin Watson

doc: Use modern "apt full-upgrade" spelling

`apt dist-upgrade` still works and is a synonym for this, but `man apt`
only lists the `full-upgrade` spelling.

Succeeded
[SUCCEEDED] docs:0 (build)
[SUCCEEDED] lint:0 (build)
[SUCCEEDED] mypy:0 (build)
13 of 3 results
d00b1f5... by Colin Watson

Include traceback supplements and info in timelines

Some code adds extra information to tracebacks (documented in
https://zopeexceptions.readthedocs.io/en/latest/narr.html): in
particular, the page templating engine does this, and it makes it much
easier to work out what tracebacks in the middle of page rendering mean.
Unfortunately, this information wasn't recorded in the individual
entries in an OOPS timeline, which in some cases made OOPSes very hard
to decipher (LP: #2009357 is a case in point).

Adjust the way we construct `Timeline` objects so that they format
tracebacks using the machinery in `zope.exceptions`, which knows how to
deal with this extra information.

Succeeded
[SUCCEEDED] docs:0 (build)
[SUCCEEDED] lint:0 (build)
[SUCCEEDED] mypy:0 (build)
13 of 3 results