Fork me on GitHub
#clojars
<
2016-01-07
>
micha15:01:24

hi everyone!

micha15:01:47

need help with the transactional deploys still?

tcrawley17:01:13

and I'm willing to pay a bounty on that one, just not sure how much yet

micha17:01:54

well i can do some work this weekend

micha17:01:57

pro bono simple_smile

tcrawley17:01:26

thanks! let me know if you have any questions

tcrawley17:01:09

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

tcrawley17:01:31

so we need a tool to scan the repo and find/fix them

tcrawley17:01:37

I'll file an issue for that

micha17:01:56

sounds like a plan

tcrawley17:01:32

assuming we signal on the maven-metadata.xml being uploaded to know when a deployment is complete

micha17:01:36

perhaps we can scan on deploy, too

micha17:01:47

and then whitelist known good repos

tcrawley17:01:48

and I don't know how else to signal

tcrawley17:01:51

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

tcrawley17:01:15

that's really what I mean by "invalid"

tcrawley17:01:44

though the checksums could be correct, it just doesn't list all the versions (or extra versions if there has been a deletion)

tcrawley17:01:57

since our deletion process doesn't currently fix the metadata

micha17:01:04

yeah tests cases will help here

tcrawley17:01:42

who do I talk to to get the github plugin running in this channel?

micha17:01:58

we could, in theory, automate metadata.xml fixing, right?

micha17:01:19

like given a repo with poms we can generate a good metadata file

micha17:01:51

so maybe that's the first step

tcrawley17:01:08

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

tcrawley17:01:23

once atomic deploys are there, we shouldn't need to scan again

tcrawley17:01:30

filing an issue now

micha17:01:38

i imagine it could happen when a transactional deploy completes (i.e. just generate our own metadata file instead of using the uploaded one)?

tcrawley17:01:21

we could do that, but the one that was uploaded should be the same as what we generate

micha17:01:53

cool, that seems like a good weekend hackathon

micha17:01:03

the scan tool

micha18:01:45

this tool will also ideally do its job atomically

micha18:01:06

lol it would be ironic if a race condition causes the tool to corrupt metadata

micha18:01:30

so i'll look and try to see what the best way to do that will be

micha18:01:07

maybe it has to run during a deploy, the update part where it molests the metadata file

tcrawley18:01:34

we currently don't mutate the metadata at all, aether does that

tcrawley18:01:55

if aether doesn't download the metadata until after it has started the deploy, we could fix this on the fly

micha18:01:56

yeah but someone could be deploying while we're fixing their metadata

tcrawley18:01:21

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)

tcrawley18:01:30

but only if aether doesn't download it first

micha18:01:56

i haven't looked at the details of the server code yet

micha18:01:05

but maybe we could do it when the meta is downloaded

micha18:01:12

like fix and whitelist

micha18:01:43

i guess that's not a real solution either

micha18:01:04

because then you have a race between pulling metadata and deploying

tcrawley18:01:19

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

micha18:01:03

we could lock the repo while we fix it

micha18:01:14

and reject uploading new artifacts to it with a 503

micha18:01:28

or just let the connection wait

micha18:01:04

i'll see if i can come up with some options

tcrawley18:01:40

cool, thanks

tcrawley18:01:42

anyone know a simple way to align those logos vertically?

micha18:01:09

ssh... tables

tcrawley18:01:32

I considered a table, but figured I would be burned at the stake by someone

micha18:01:43

you can sneak one in there

tcrawley18:01:15

we've secretly replaced their divs with tables, let's see if they notice

micha18:01:31

yeah maybe it will break their semantic web AI tools

micha18:01:36

those never existed

tcrawley18:01:18

@micha: a table did the trick, thanks!