XSF Editor Team - 2018-02-08

  1. soul has joined
  2. SamWhited has left
  3. SamWhited has left
  4. jcbrand has joined
  5. jcbrand has left
  6. jcbrand has joined
  7. jcbrand has left
  8. Guus has left
  9. Guus has joined
  10. jcbrand has left
  11. jcbrand has left
  12. Tobi has left
  13. Tobi has joined
  14. jonasw has left
  15. jcbrand has left
  16. jcbrand has joined
  17. jcbrand has left
  18. jcbrand has joined
  19. jcbrand has left
  20. jcbrand has joined
  21. jcbrand has left
  22. jcbrand has joined
  23. jcbrand has left
  24. jcbrand has joined
  25. SamWhited has left
  26. SamWhited has joined
  27. jcbrand has left
  28. jcbrand has joined
  29. Tobi has left
  30. Tobi has left
  31. jcbrand has left
  32. jonasw jcbrand: still up for our meeting?
  33. jcbrand hi jonasw
  34. jcbrand ready when you are
  35. jonasw jcbrand: k I need five more mins
  36. jonasw here I am!
  37. jcbrand jonasw: I'm running `make docker`
  38. jcbrand Currently generating pdfs
  39. jonasw I don’t even know what that does :D
  40. 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
  41. jcbrand ok
  42. 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
  43. jcbrand I see the pdfs take long
  44. jonasw yeah
  45. jonasw and for a quick local test, a waste of time
  46. jonasw the PDFs are in a bad shape in any case
  47. jonasw (somebody should probably start to make a huge cleanup, but I don’t see that happening any time soon :))
  48. jcbrand I want to add a Makefile recipe then to only build docker with HTML
  49. jonasw that sounds reasoanble
  50. jcbrand an additional one
  51. jonasw so I think we have two PRs which we could process, those by @sco0ter on github (#580 and #582)
  52. jcbrand looks
  53. jcbrand jonasw: BTW, while I'm thinking of it... I have a question for you
  54. jonasw feel free
  55. jcbrand when doing triaging... some tickets get the tag "ready to merge"
  56. 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?
  57. jonasw yeah
  58. jonasw I like to batch things up
  59. jcbrand ok
  60. jonasw I can do triaging during a five minute break
  61. jcbrand jonasw: looks like I might need docker credentials?
  62. jcbrand `docker: Error response from daemon: pull access denied for xmpp-org/extensions, repository does not exist or may require 'docker login'`
  63. jonasw what
  64. jonasw I don’t think that you do
  65. jonasw I’m pretty sure that’s public
  66. jcbrand I got that when I ran 'make testdocker'
  67. jonasw ah
  68. jonasw that’s because my home-brew docker-command doesn’t have the -t xmpp-org/extensions argument
  69. jonasw if you replace "xmpp-org/extensions" in the testdocker invocation with the image ID from the build ("Successfully built somehexstring"), it should work
  70. jcbrand ah, then I'll just add "-t xmpp-org/extensions" rather
  71. jonasw yah
  72. jonasw probably makes sense
  73. jcbrand I'm adding it to the Makefile
  74. jonasw cool :)
  75. jcbrand Ok, looking at #580
  76. jonasw did you read the README I wrote?
  77. jcbrand Yes
  78. jonasw sweet
  79. jcbrand but that was quite a while ago
  80. jcbrand I do sometimes refer back to it when looking at the PRs
  81. jonasw so, this will be very convenient to keep in mind specifically: https://github.com/xsf/xeps#general-notes-on-making-changes
  82. jonasw because this xeplist.xml is the most important thing for all the automation I wrote
  83. jonasw it is crucial that the "old-xeplist.xml" refers to the last pushed state
  84. jonasw so before doing anything, do make build/xeplist.xml && cp build/xeplist.xml tools/old-xeplist.xml
  85. jcbrand ok, just before I do that...
  86. jcbrand I have now docker running
  87. jcbrand But it just gives me Nginx's default message
  88. jonasw yeah, you need to go to /extensions/ manually
  89. jcbrand ok
  90. jonasw you’ll get a directory listing there
  91. jcbrand hmm
  92. jcbrand ah
  93. jcbrand ok cool, so that's working
  94. jcbrand I'll build the xeplist
  95. jcbrand ok done
  96. jonasw cool
  97. jonasw so now you can either make a new branch (which I’d recommend) or work on top of master
  98. jonasw making a new branch makes it easy to throw away stuff when you messed something up
  99. jcbrand ok, I'll make a new branch
  100. jcbrand Do you merge into the new branch or into master and then make the branch?
  101. jonasw and now the cool magic: you can use git pull origin pull/580/head to pull the changes from #580
  102. jcbrand ok ya
  103. jonasw new branch and then merge
  104. jcbrand ok and for #582 as well?
  105. jonasw I’d handle them separately at first
  106. jonasw so for 580, I’m not sure if we want a version block or not
  107. jonasw for now, let’s do one, because it’s a good exercise to do
  108. jcbrand version block?
  109. jonasw yeah, revision block
  110. 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>
  111. jonasw (right below &stpeter;)
  112. jonasw you may adapt the wording and your initials at will of course
  113. 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.
  114. jonasw feel free to omit
  115. jcbrand I was just wondering about that
  116. jcbrand will remove
  117. jonasw once you’ve added that block, make a commit; run make build/xeplist.xml to see if it’? happy with it
  118. jonasw once you’ve added that block, make a commit; run make build/xeplist.xml to see if it’s happy with it
  119. jcbrand No output, so I assume it's happy?
  120. jonasw that’s a good assumption
  121. jcbrand xeplist.xml looks ok
  122. jonasw great!
  123. jcbrand do you test the HTML then via docker?
  124. jonasw yes
  125. jonasw you can also build the HTML files with make
  126. jonasw in fact, you’ll have to do that to put the files into the attic
  127. jonasw (or rather: tools/archive.py will do that for you)
  128. jonasw we could try that right away actually
  129. 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")?
  130. jcbrand yes
  131. jcbrand I have that
  132. jcbrand so `make html`?
  133. jonasw you can just run: ./tools/archive.py tools/old-xeplist.xml build/xeplist.xml
  134. 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
  135. jcbrand yeah, so there's a new HTML file in the attic now
  136. jonasw \o/
  137. jcbrand content/xep-0174-2.0.1.html
  138. jonasw ups
  139. jonasw fine :)
  140. jcbrand you thought something was wrong?
  141. jonasw I thought I pasted that :D
  142. jonasw great, so you can now merge your branch into master, but don’t push yet.
  143. jonasw (if you’ve commited the revision block to git yet)
  144. jonasw and you can repeat the same process for #582
  145. jcbrand ok, will do
  146. jcbrand I didn't know this trick of pulling in pull requests
  147. jonasw yeah, I learnt that a few weeks ago in some XMPP-related MUC
  148. jonasw before I always puzzled together the URLs manually (https://github.com/$prauthor/xeps $branchname), which didn’t always work
  149. 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 ;-)
  150. jcbrand Should I again make a revision block?
  151. jonasw yeah, for this one definitely
  152. jonasw it touches on registar issues
  153. jcbrand ok
  154. jonasw still only a patch revision though, because it doesn’t change normative language or intent in any way
  155. jcbrand I guess when in doubt, rather make it
  156. jonasw (it’s technically an oversight in editor work, we should’ve made sure that everything was coherent)
  157. jonasw yeah
  158. 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)
  159. jcbrand ok
  160. jcbrand so... 1.15.1 then?
  161. jonasw yupp
  162. jcbrand oh, I should have copied over the old xeplist again
  163. jonasw no it’s fine
  164. jonasw all operations except sending email are idempotent
  165. jonasw in fact, do not copy it over until you have sent the emails
  166. jonasw (because the email sending also uses the xeplists)
  167. jonasw (unless you want to do it manually, which I would definitely not recommend ;-)
  168. jcbrand So you run `make build/xeplist.xml && cp build/xeplist.xml tools/old-xeplist.xml` once before merging PRs?
  169. jonasw yeah
  170. jonasw after a git pull that is
  171. jonasw (in case somebody else did some work inbetween)
  172. jcbrand ok
  173. jcbrand I notice in the readme you have a different order, you mention sending out emails before copying over to the xeplist
  174. 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 […]
  175. 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 […]
  176. jonasw + all the testing in-between to make sure that things are okay
  177. jonasw you only run make build/xeplist.xml; the cp is never run again until after the send-updates.py
  178. jonasw (if you now accidentally copied over the old-xeplist.xml with some intermediate state, that’s fine, it’s recoverable)
  179. jonasw (also I doubt it’s an issue if we don’t send mails for both)
  180. 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
  181. jcbrand Should I run `make build/xeplist.xml` first?
  182. jonasw yes
  183. jonasw running make build/xeplist.xml is always safe
  184. jcbrand ok, so diffing with `origin master` looks good
  185. jcbrand I'll push, since you've already mentioned it in the workflow
  186. jonasw ah, wait
  187. jcbrand ok
  188. jonasw one second please
  189. jonasw I want to test intosis PR first
  190. jonasw and merge that too if needed
  191. jonasw or if possible
  192. jonasw so yeah: merge intosis PR and run docker build . --build-arg NCORES=9 --build-arg TARGETS="refs" to see if it works
  193. jonasw if it does, that’s fine and you can push I think
  194. jonasw ah, and there’s one more thing we can do
  195. jonasw let me know when you’ve handled intosis PR
  196. jonasw has left
  197. jonasw has left
  198. jonasw has joined
  199. jonasw ping
  200. jonasw has left
  201. jonasw has joined
  202. jcbrand hello
  203. jonasw I think things have settled
  204. jcbrand Shall we continue here/
  205. jcbrand ?
  206. jonasw might as well
  207. jonasw okay, so once everything is merged and the last docker build went through, you can run the git push
  208. jonasw when the push’s over, you can observe the build here: https://hub.docker.com/r/xmppxsf/xeps/builds/
  209. jonasw (you won’t see output though; only when it switches to error or failed at some point)
  210. jonasw (you won’t see output though; only when it switches to error or failed or success at some point)
  211. 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)
  212. 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)
  213. jonasw once that’s done, we’ll prepare the sending of emails
  214. jcbrand The Makefile recipe I added, can I simply commit and push to master, or do you want to see a PR?
  215. jcbrand jonasw: ^ otherwise done and ready for sending emails
  216. jonasw you can paste the diff here (from git diff) and I’ll have a quick look
  217. 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
  218. jonasw yeah, that looks safe
  219. jcbrand looks terrible
  220. jonasw you can commit & push that
  221. jcbrand ok done
  222. jcbrand so now emails I guess
  223. 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
  224. jonasw I guess you can guess how to adapt that to your setup (I think you’re running your own mail server?)
  225. jcbrand is zombofant.net your SMTP server?
  226. jonasw yes
  227. jcbrand ok yeah, I run my own
  228. 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
  229. jonasw to be clear
  230. jcbrand yes
  231. 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
  232. jonasw you’ll know when it tries to send email because it’ll ask for your password
  233. jonasw (at this point, if you’re worried, you can of course read the source code of the script :-))
  234. jcbrand is this the email address that's registered on the XSF members list?
  235. jcbrand I have one email on the XSF members list and another for the other lists...
  236. jcbrand not ideal but ja :)
  237. jonasw you shoudl be using a mail address which is subscribed to standards@, because that’s where the mails go
  238. jcbrand ah standards
  239. jcbrand ok
  240. 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)
  241. jcbrand yep, I checked
  242. jcbrand looks good
  243. jonasw cool
  244. jcbrand so now just running it without -n ?
  245. 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
  246. jonasw your choice :)
  247. 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
  248. jcbrand Emails are sent out
  249. jonasw cool
  250. jonasw you’re done I think :)
  251. jonasw even though
  252. jonasw I realize we should’ve waited until the build was done
  253. jonasw that’s not a huge issue though
  254. jcbrand ah
  255. jonasw build’s going to be finished in 60 minutes probably
  256. jcbrand ok next tiem
  257. jonasw yeah
  258. jcbrand Thanks very much for your help with this
  259. jonasw you’re welcome
  260. 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 :)
  261. jcbrand thanks. I'll do what and when I can :)
  262. jcbrand I'm glad I bought beer yesterday, now I can celebrate
  263. jonasw ha
  264. jcbrand have a good evening
  265. jonasw same to you
  266. jonasw build has passed, jcbrand.
  267. jonasw looks good so far :)
  268. jcbrand good
  269. jonasw yupp, all touched XEPs look as they should :)
  270. jonasw good job :)
  271. jcbrand thanks :)
  272. jcbrand has left
  273. Guus has left
  274. Guus has left
  275. Tobi has left
  276. Tobi has joined
  277. SamWhited has left
  278. jcbrand has left
  279. Guus has left
  280. Guus has joined
  281. SamWhited has left
  282. SamWhited has joined
  283. SamWhited has joined
  284. SamWhited has joined