* origin/lf/update-log-order:
graph-store: use +bap for update-log listification
graph-store: add TODO comment for backwards tap
graph-store: run update log in correct order
Signed-off-by: Matilde Park <matilde.park@gmail.com>
Some other commits have been squashed in:
meta: remove user declarations for glob action
This is a tricky problem. SSH needs UID 0 to exist, and intuitively it
does (root), but we can't enforce that when GitHub is running our
container. Specifying "USER 0:0" in the actions Dockerfile doesn't cut
it.
Instead it seems best to try and construct a shadow-utils setup on the
underlying Docker image.
meta: target glob workflow at release/next-js
Adds a workflow that executes the 'glob' action on every push and pull
request to the 'release/next-js' branch.
(For now this is just staged to the 'jt/lacd' branch for testing.)
This action, when supplied with the appropriate arguments, will create a
Landscape glob from GITHUB_SHA [1] and deploy it OTA to the appropriate
ship.
It needs to be supplied the following:
* ship name
* base64-encoded GCP Service Account credentials
* a base64-encoded SSH secret key to be used for GCP actions
* the corresponding base64-encoded SSH public key
[1]: https://docs.github.com/en/free-pro-team@latest/actions/reference/environment-variables
We can't molt until clay has gotten its pork or else we'll build the old
app against the new kernel. This ignores vegas, since we should get a
notification from clay on /sys/lyv.
When we changed wires from /a/foo to /ames/foo, our sorting function
started sorting by last character instead of first character, so breach
notifications were given to gall before ames. This made gall try to
resubscribe before ames cleared its state, so the message would be lost.
Fixes#4177
This lets applications suggest to the client that they should gracefully
unsubscribe from the session.
Arguably this might be accomplished by %kick-ing the client and then
crashing on their subsequent resubscribe, but this requires tracking
their sole session id and has less semantic clarity on what's happening.
The added logic also happens in +se-drop, which will get called by
+se-abet if we did unlink an application. But +se-agon depends on the
index being sane, and may be called between +se-klin and +se-abet.
tapping an ordered map returns a list with the smallest keys first.
However, graph-store's update-log is defined backwards, such that the
list will have the most recent updates in the front of the list. We
therefore flop the update log before iterating over it, in order to
process the updates in the order they occurred