hi everyone!
need help with the transactional deploys still?
micha: yes indeed! https://github.com/clojars/clojars-web/issues/226
and I'm willing to pay a bounty on that one, just not sure how much yet
well i can do some work this weekend
pro bono :simple_smile:
thanks! let me know if you have any questions
one issue is we need to fix any broken maven-metadata files, as they will prevent a deploy from working at all once they are atomic
so we need a tool to scan the repo and find/fix them
I'll file an issue for that
sounds like a plan
assuming we signal on the maven-metadata.xml being uploaded to know when a deployment is complete
perhaps we can scan on deploy, too
and then whitelist known good repos
and I don't know how else to signal
well, aether won't even give us a maven-metadata.xml if it is invalid, since it will pull the existing, see that its checksum is wrong, and bail
that's really what I mean by "invalid"
i see
though the checksums could be correct, it just doesn't list all the versions (or extra versions if there has been a deletion)
since our deletion process doesn't currently fix the metadata
yeah tests cases will help here
who do I talk to to get the github plugin running in this channel?
we could, in theory, automate metadata.xml fixing, right?
yes
like given a repo with poms we can generate a good metadata file
so maybe that's the first step
right, I see it as a fn that we run as part of a scan now, then right after deploying the atomic deploys feature, then on specific repos when we delete a version
once atomic deploys are there, we shouldn't need to scan again
in theory
filing an issue now
i imagine it could happen when a transactional deploy completes (i.e. just generate our own metadata file instead of using the uploaded one)?
we could do that, but the one that was uploaded should be the same as what we generate
yeah
cool, that seems like a good weekend hackathon
the scan tool
awesome
this tool will also ideally do its job atomically
lol it would be ironic if a race condition causes the tool to corrupt metadata
so i'll look and try to see what the best way to do that will be
maybe it has to run during a deploy, the update part where it molests the metadata file
we currently don't mutate the metadata at all, aether does that
if aether doesn't download the metadata until after it has started the deploy, we could fix this on the fly
yeah but someone could be deploying while we're fixing their metadata
ah, true
if we detect a deploy is happening, we could fix the metadata as soon as we see the first artifact (before sending a response to that request)
yep
but only if aether doesn't download it first
i haven't looked at the details of the server code yet
but maybe we could do it when the meta is downloaded
like fix and whitelist
i guess that's not a real solution either
because then you have a race between pulling metadata and deploying
the repo is all served via nginx as static files, so we don't know in the app when they download, only when they upload
we could lock the repo while we fix it
and reject uploading new artifacts to it with a 503
or just let the connection wait
i'll see if i can come up with some options
cool, thanks
anyone know a simple way to align those logos vertically?
code in question is https://github.com/clojars/clojars-web/commit/3fb355db17f663e0fdf1630788da815ba2419421
ssh... tables
I considered a table, but figured I would be burned at the stake by someone
you can sneak one in there
we've secretly replaced their divs with tables, let's see if they notice
yeah maybe it will break their semantic web AI tools
oh wait
those never existed
@micha: a table did the trick, thanks!
🍻