-
jonasw
jcbrand: still up for our meeting?
-
jcbrand
hi jonasw
-
jcbrand
ready when you are
-
jonasw
jcbrand: k I need five more mins
-
jonasw
here I am!
-
jcbrand
jonasw: I'm running `make docker`
-
jcbrand
Currently generating pdfs
-
jonasw
I don’t even know what that does :D
-
jonasw
ah, I always run my own docker invocation (docker build . --build-arg NCORES=9 --build-arg TARGETS="html inbox-html") to avoid building PDFs
-
jcbrand
ok
-
jonasw
locally building the PDFs takes long and doesn’t bring any value; if there’s a syntax error or something, you’ll notice with the HTML build
-
jcbrand
I see the pdfs take long
-
jonasw
yeah
-
jonasw
and for a quick local test, a waste of time
-
jonasw
the PDFs are in a bad shape in any case
-
jonasw
(somebody should probably start to make a huge cleanup, but I don’t see that happening any time soon :))
-
jcbrand
I want to add a Makefile recipe then to only build docker with HTML
-
jonasw
that sounds reasoanble
-
jcbrand
an additional one
-
jonasw
so I think we have two PRs which we could process, those by @sco0ter on github (#580 and #582)
- jcbrand looks
-
jcbrand
jonasw: BTW, while I'm thinking of it... I have a question for you
-
jonasw
feel free
-
jcbrand
when doing triaging... some tickets get the tag "ready to merge"
-
jcbrand
why do that instead of just merging? I guess to answer my own question, because after merging you need to generate the HTML and PDFs and send out emails?
-
jonasw
yeah
-
jonasw
I like to batch things up
-
jcbrand
ok
-
jonasw
I can do triaging during a five minute break
-
jcbrand
jonasw: looks like I might need docker credentials?
-
jcbrand
`docker: Error response from daemon: pull access denied for xmpp-org/extensions, repository does not exist or may require 'docker login'`
-
jonasw
what
-
jonasw
I don’t think that you do
-
jonasw
I’m pretty sure that’s public
-
jcbrand
I got that when I ran 'make testdocker'
-
jonasw
ah
-
jonasw
that’s because my home-brew docker-command doesn’t have the -t xmpp-org/extensions argument
-
jonasw
if you replace "xmpp-org/extensions" in the testdocker invocation with the image ID from the build ("Successfully built somehexstring"), it should work
-
jcbrand
ah, then I'll just add "-t xmpp-org/extensions" rather
-
jonasw
yah
-
jonasw
probably makes sense
-
jcbrand
I'm adding it to the Makefile
-
jonasw
cool :)
-
jcbrand
Ok, looking at #580
-
jonasw
did you read the README I wrote?
-
jcbrand
Yes
-
jonasw
sweet
-
jcbrand
but that was quite a while ago
-
jcbrand
I do sometimes refer back to it when looking at the PRs
-
jonasw
so, this will be very convenient to keep in mind specifically: https://github.com/xsf/xeps#general-notes-on-making-changes
-
jonasw
because this xeplist.xml is the most important thing for all the automation I wrote
-
jonasw
it is crucial that the "old-xeplist.xml" refers to the last pushed state
-
jonasw
so before doing anything, do make build/xeplist.xml && cp build/xeplist.xml tools/old-xeplist.xml
-
jcbrand
ok, just before I do that...
-
jcbrand
I have now docker running
-
jcbrand
But it just gives me Nginx's default message
-
jonasw
yeah, you need to go to /extensions/ manually
-
jcbrand
ok
-
jonasw
you’ll get a directory listing there
-
jcbrand
hmm
-
jcbrand
ah
-
jcbrand
ok cool, so that's working
-
jcbrand
I'll build the xeplist
-
jcbrand
ok done
-
jonasw
cool
-
jonasw
so now you can either make a new branch (which I’d recommend) or work on top of master
-
jonasw
making a new branch makes it easy to throw away stuff when you messed something up
-
jcbrand
ok, I'll make a new branch
-
jcbrand
Do you merge into the new branch or into master and then make the branch?
-
jonasw
and now the cool magic: you can use git pull origin pull/580/head to pull the changes from #580
-
jcbrand
ok ya
-
jonasw
new branch and then merge
-
jcbrand
ok and for #582 as well?
-
jonasw
I’d handle them separately at first
-
jonasw
so for 580, I’m not sure if we want a version block or not
-
jonasw
for now, let’s do one, because it’s a good exercise to do
-
jcbrand
version block?
-
jonasw
yeah, revision block
-
jonasw
something like this I’d suggest for #580 (so in xep-0174): <revision> <version>2.0.1</version> <date>2018-02-08</date> <initials>cs (XEP Editor: jc)</initials> <remark><p>Fix incorrect STARTTLS examples.</p></remark> </revision>
-
jonasw
(right below &stpeter;)
-
jonasw
you may adapt the wording and your initials at will of course
-
jonasw
I’m not sure if we even should have the "(XEP Editor: xyz)" thing, because git has that information too, in most cases, and it isn’t really useful.
-
jonasw
feel free to omit
-
jcbrand
I was just wondering about that
-
jcbrand
will remove
-
jonasw
once you’ve added that block, make a commit; run make build/xeplist.xml to see if it’? happy with it✎ -
jonasw
once you’ve added that block, make a commit; run make build/xeplist.xml to see if it’s happy with it ✏
-
jcbrand
No output, so I assume it's happy?
-
jonasw
that’s a good assumption
-
jcbrand
xeplist.xml looks ok
-
jonasw
great!
-
jcbrand
do you test the HTML then via docker?
-
jonasw
yes
-
jonasw
you can also build the HTML files with make
-
jonasw
in fact, you’ll have to do that to put the files into the attic
-
jonasw
(or rather: tools/archive.py will do that for you)
-
jonasw
we could try that right away actually
-
jonasw
did you clone xep-attic next to the xeps repository (i.e.: assuming you have an directory "editor", xep-attic would be at "editor/xep-attic" and xeps would be at "editor/xeps")?
-
jcbrand
yes
-
jcbrand
I have that
-
jcbrand
so `make html`?
-
jonasw
you can just run: ./tools/archive.py tools/old-xeplist.xml build/xeplist.xml
-
jonasw
it will do a few things: 1. list which XEPs have changed between the two xeplist files you passed there; 2. invoke make build/xep-xyz.html for those; 3. copy the resulting HTML files into the ../xep-attic/content/ directory
-
jcbrand
yeah, so there's a new HTML file in the attic now
-
jonasw
\o/
-
jcbrand
content/xep-0174-2.0.1.html
-
jonasw
ups✎ -
jonasw
fine :) ✏
-
jcbrand
you thought something was wrong?
-
jonasw
I thought I pasted that :D
-
jonasw
great, so you can now merge your branch into master, but don’t push yet.
-
jonasw
(if you’ve commited the revision block to git yet)
-
jonasw
and you can repeat the same process for #582
-
jcbrand
ok, will do
-
jcbrand
I didn't know this trick of pulling in pull requests
-
jonasw
yeah, I learnt that a few weeks ago in some XMPP-related MUC
-
jonasw
before I always puzzled together the URLs manually (https://github.com/$prauthor/xeps $branchname), which didn’t always work
-
jonasw
I always had to guess whether Flows fork of the repository was called xeps-xsf or xsf-xeps and I always got it wrong on the first attempt ;-)
-
jcbrand
Should I again make a revision block?
-
jonasw
yeah, for this one definitely
-
jonasw
it touches on registar issues
-
jcbrand
ok
-
jonasw
still only a patch revision though, because it doesn’t change normative language or intent in any way
-
jcbrand
I guess when in doubt, rather make it
-
jonasw
(it’s technically an oversight in editor work, we should’ve made sure that everything was coherent)
-
jonasw
yeah
-
jonasw
even though, there’s an argument against that (because revision blocks essentially determine when a XEP will be deferred; so when doing editorial things on Experimental XEPs, one might to skip that; or maybe we need to re-define when deferral kicks in, I dunno)
-
jcbrand
ok
-
jcbrand
so... 1.15.1 then?
-
jonasw
yupp
-
jcbrand
oh, I should have copied over the old xeplist again
-
jonasw
no it’s fine
-
jonasw
all operations except sending email are idempotent
-
jonasw
in fact, do not copy it over until you have sent the emails
-
jonasw
(because the email sending also uses the xeplists)
-
jonasw
(unless you want to do it manually, which I would definitely not recommend ;-)
-
jcbrand
So you run `make build/xeplist.xml && cp build/xeplist.xml tools/old-xeplist.xml` once before merging PRs?
-
jonasw
yeah
-
jonasw
after a git pull that is
-
jonasw
(in case somebody else did some work inbetween)
-
jcbrand
ok
-
jcbrand
I notice in the readme you have a different order, you mention sending out emails before copying over to the xeplist
-
jonasw
okay, maybe I wasn’t clear, let me try again. the coarse workflow is: - sit down to do editor work - do the git pull && make build/xeplist.xml && cp build/xeplist.xml tools/old-xeplist.xml - start making branches and merging PRs; merge branches back to master - run tools/archive.py […] - run tools/send-updates.py […]✎ -
jonasw
okay, maybe I wasn’t clear, let me try again. the coarse workflow is: - sit down to do editor work - do the git pull && make build/xeplist.xml && cp build/xeplist.xml tools/old-xeplist.xml - start making branches and merging PRs; merge branches back to master - git push - run tools/archive.py […] - run tools/send-updates.py […] ✏
-
jonasw
+ all the testing in-between to make sure that things are okay
-
jonasw
you only run make build/xeplist.xml; the cp is never run again until after the send-updates.py
-
jonasw
(if you now accidentally copied over the old-xeplist.xml with some intermediate state, that’s fine, it’s recoverable)
-
jonasw
(also I doubt it’s an issue if we don’t send mails for both)
-
jcbrand
hmm, when I run `./tools/archive.py tools/old-xeplist.xml build/xeplist.xml` it only picks up the change in XEP-0174, not the change in XEP-0060
-
jcbrand
Should I run `make build/xeplist.xml` first?
-
jonasw
yes
-
jonasw
running make build/xeplist.xml is always safe
-
jcbrand
ok, so diffing with `origin master` looks good
-
jcbrand
I'll push, since you've already mentioned it in the workflow
-
jonasw
ah, wait
-
jcbrand
ok
-
jonasw
one second please
-
jonasw
I want to test intosis PR first
-
jonasw
and merge that too if needed
-
jonasw
or if possible
-
jonasw
so yeah: merge intosis PR and run docker build . --build-arg NCORES=9 --build-arg TARGETS="refs" to see if it works
-
jonasw
if it does, that’s fine and you can push I think
-
jonasw
ah, and there’s one more thing we can do
-
jonasw
let me know when you’ve handled intosis PR
-
jonasw
ping
-
jcbrand
hello
-
jonasw
I think things have settled
-
jcbrand
Shall we continue here/
-
jcbrand
?
-
jonasw
might as well
-
jonasw
okay, so once everything is merged and the last docker build went through, you can run the git push
-
jonasw
when the push’s over, you can observe the build here: https://hub.docker.com/r/xmppxsf/xeps/builds/
-
jonasw
(you won’t see output though; only when it switches to error or failed at some point)✎ -
jonasw
(you won’t see output though; only when it switches to error or failed or success at some point) ✏
-
jonasw
while the build is running, you can update the attic with the archive.py tool and commit and push everything in there (git add content/*.xml && git commit && git push)✎ -
jonasw
while the build is running, you can update the attic with the archive.py tool and commit and push everything in there (git add content/*.html && git commit && git push) ✏
-
jonasw
once that’s done, we’ll prepare the sending of emails
-
jcbrand
The Makefile recipe I added, can I simply commit and push to master, or do you want to see a PR?
-
jcbrand
jonasw: ^ otherwise done and ready for sending emails
-
jonasw
you can paste the diff here (from git diff) and I’ll have a quick look
-
jcbrand
diff --git a/Makefile b/Makefile index f1ea374..e682928 100644 --- a/Makefile +++ b/Makefile @@ -167,6 +167,10 @@ preview: docker: docker build -t xmpp-org/extensions . +.PHONY: dockerhtml +dockerhtml: + docker build -t xmpp-org/extensions . --build-arg NCORES=9 --build-arg TARGETS="html inbox-html" + .PHONY: testdocker testdocker: docker run -d --name tmpxeps -p 3080:80 xmpp-org/extensions
-
jonasw
yeah, that looks safe
-
jcbrand
looks terrible
-
jonasw
you can commit & push that
-
jcbrand
ok done
-
jcbrand
so now emails I guess
-
jonasw
so regarding sending emails, you’ll have to create a config file; the name is not relevant, I’m using "config.ini": [smtp] host=smtp.zombofant.net user=jonas.wielicki from=Jonas Wielicki (XSF Editor) <jonas@wielicki.name> host is the SMTP server to use, user is the login user name and from is the From header for the mail
-
jonasw
I guess you can guess how to adapt that to your setup (I think you’re running your own mail server?)
-
jcbrand
is zombofant.net your SMTP server?
-
jonasw
yes
-
jcbrand
ok yeah, I run my own
-
jonasw
smtp.zombofant.net is the SMTP servre, so if yours is foobar.domain.example, you’d have to write foobar.domain.example, not smtp.foobar.domain.example
-
jonasw
to be clear
-
jcbrand
yes
-
jonasw
so once you’ve set that config up, you can invoke: ./tools/send-updates.py -nc config.ini tools/old-xeplist.xml build/xeplist.xml standards@xmpp.org the -n is equivalent to --dry-run and will only print the mails, without ever connecting to your server
-
jonasw
you’ll know when it tries to send email because it’ll ask for your password
-
jonasw
(at this point, if you’re worried, you can of course read the source code of the script :-))
-
jcbrand
is this the email address that's registered on the XSF members list?
-
jcbrand
I have one email on the XSF members list and another for the other lists...
-
jcbrand
not ideal but ja :)
-
jonasw
you shoudl be using a mail address which is subscribed to standards@, because that’s where the mails go
-
jcbrand
ah standards
-
jcbrand
ok
-
jonasw
so invoke the tool as described above to get a view on how the mails which are to be sent will look. you should have three mails (two UPDATED and one DEFERRED)
-
jcbrand
yep, I checked
-
jcbrand
looks good
-
jonasw
cool
-
jcbrand
so now just running it without -n ?
-
jonasw
you can then invoke it either without the "n", or even with "y". without "n", it’ll ask for each mail. with "y", it will send all emails without further output & asking
-
jonasw
your choice :)
-
jonasw
the standards list is kinda slow (and I think we’re currently having bad internet weather judging by the MUC issues we just had), so it’ll take a few minutes until your mails appear on the list, but I guess you’re used to that already
-
jcbrand
Emails are sent out
-
jonasw
cool
-
jonasw
you’re done I think :)
-
jonasw
even though
-
jonasw
I realize we should’ve waited until the build was done
-
jonasw
that’s not a huge issue though
-
jcbrand
ah
-
jonasw
build’s going to be finished in 60 minutes probably
-
jcbrand
ok next tiem
-
jonasw
yeah
-
jcbrand
Thanks very much for your help with this
-
jonasw
you’re welcome
-
jonasw
and still, remember what I wrote: there’s no pressure here. just because I took the time to introduce you, doesn’t mean anybody expects a high level of activity from now on :)
-
jcbrand
thanks. I'll do what and when I can :)
-
jcbrand
I'm glad I bought beer yesterday, now I can celebrate
-
jonasw
ha
-
jcbrand
have a good evening
-
jonasw
same to you
-
jonasw
build has passed, jcbrand.
-
jonasw
looks good so far :)
-
jcbrand
good
-
jonasw
yupp, all touched XEPs look as they should :)
-
jonasw
good job :)
-
jcbrand
thanks :)