| [09:16:39] | * hefring has joined #aegir |
| [09:19:53] | <anarcat> | hey mig5 |
| [09:20:04] | <anarcat> | i am banging my head on the jenkins scripts + debian branch |
| [09:20:15] | <anarcat> | can we bounce ideas? |
| [09:22:10] | <mig5> | sorry anarcat give me a few min, in the middle of some work |
| [09:22:19] | <anarcat> | it's ok |
| [09:22:28] | <anarcat> | i need to talk with darthsteven about it too, maybe we can wait for tomorrow |
| [09:23:47] | <darthsteven> | I can talk for ten mins now if helpful? |
| [09:23:48] | <mig5> | i don't really understand this 'debian branch' and how the deb's are built at all :) |
| [09:23:52] | <mig5> | so perhaps yes! |
| [09:23:54] | <mig5> | ah |
| [09:23:59] | <anarcat> | alright let's |
| [09:24:00] | <mig5> | the whole team is here, amazing |
| [09:24:05] | <anarcat> | yay! |
| [09:24:06] | <anarcat> | so |
| [09:24:09] | <anarcat> | here's the thing |
| [09:24:13] | <anarcat> | we have a debian branch right? |
| [09:24:16] | <anarcat> | it's a branch off 1.x |
| [09:24:27] | <anarcat> | which means we can't build 2.x packages right now, period |
| [09:24:40] | <anarcat> | we *could* merge the debian branch in 2.x locally and build from that, but that sucks |
| [09:24:48] | * gotdrupal has joined #aegir |
| [09:25:00] | <anarcat> | plus the debian packages are fairly stable these days - e.g. we don't really make 1.6-1, 1.6-2 -3 -4... etc anymore |
| [09:25:02] | <anarcat> | so |
| [09:25:11] | <anarcat> | what i am proposing is that the debian branch be merged in 1.x |
| [09:25:12] | <anarcat> | and in 2.x |
| [09:25:27] | <anarcat> | so that we can build debian packages straight from the branches, and build debian packages for 2.x |
| [09:25:30] | <mig5> | does it differ that wildly anyway? |
| [09:25:33] | <mig5> | from the 1.x branch i mean |
| [09:25:33] | <anarcat> | which could also help omega8cc |
| [09:25:47] | <anarcat> | the only difference in the debian branch is the debian/ metadata directory |
| [09:25:49] | <anarcat> | no patches |
| [09:25:56] | <anarcat> | now |
| [09:26:09] | <anarcat> | the issue is that we have a shitload of scripts here and there that depend on the current branching layout |
| [09:26:13] | <anarcat> | and documentation too |
| [09:26:18] | <anarcat> | so for example i am looking at release.sh now |
| [09:26:23] | <anarcat> | which does funky merging stuff |
| [09:26:42] | <anarcat> | well no, not release.sh |
| [09:26:45] | <anarcat> | but anyways |
| [09:26:52] | <anarcat> | the jenkins package builds do that |
| [09:27:12] | <anarcat> | i have tried to cleanup those scripts to have only one script to deal with, so that's better: at least it's all in one script and doesn't call debian/rules anymore |
| [09:27:15] | <anarcat> | which was confusing |
| [09:27:35] | <anarcat> | so |
| [09:27:42] | <anarcat> | i am a bit confused by all the release tasks in jenkins |
| [09:27:57] | <anarcat> | it's unclear to me why they are jenkins tasks as opposed to running / improving release.sh |
| [09:28:20] | <anarcat> | so for example, now i am moving the jenkins changelog bits into release.sh |
| [09:28:30] | <anarcat> | so that when you run release.sh, you're prompted for the entry in debian/changelog |
| [09:28:39] | <anarcat> | and that ends up in the tags and you can copy-paste in the release nodes |
| [09:29:00] | <anarcat> | so |
| [09:29:15] | <anarcat> | the place i was stuck at is the aegir-debian-official jenkins job |
| [09:29:23] | <anarcat> | it kinda stops making sense now |
| [09:29:38] | <anarcat> | i'll let that one sink in |
| [09:29:56] | <anarcat> | are you guys following me or am i just ranting alone here? :P |
| [09:30:01] | <anarcat> | (both? :P) |
| [09:30:10] | <darthsteven> | the Jenkins scripts were basically just implementing the steps that were documented, and basically meant that people could just press buttons instead of needing to run scripts and answer questions |
| [09:30:49] | <anarcat> | ok |
| [09:30:50] | <darthsteven> | there is basically only a single point at which a maintainer is actually needed to push something into the d.o git repos |
| [09:31:13] | <anarcat> | well here's one thing - the changelog job in jenkins clones and pushes stuff under your user |
| [09:31:17] | <darthsteven> | but, I'm all for a cleanup |
| [09:31:19] | <anarcat> | i was kind of worried about that |
| [09:31:25] | <anarcat> | so i'd like to rip that out of jenkins |
| [09:31:32] | <anarcat> | tagging and pushing is up to the developper |
| [09:31:35] | <anarcat> | he has the access and the agenda |
| [09:31:41] | <anarcat> | he knows the release notes, jenkins doesn't |
| [09:31:48] | <anarcat> | so, we kick that back in release.sh |
| [09:31:52] | <anarcat> | release.sh 1.7 |
| [09:32:06] | <anarcat> | then we throw in the release notes, which also end up in debian/changelog (a nice improvement for users) |
| [09:32:19] | <anarcat> | they also end up in the tag |
| [09:32:29] | <anarcat> | and we copy-paste them manually in the release nodes |
| [09:32:30] | <anarcat> | so |
| [09:32:51] | <darthsteven> | hefring: log pointer? |
| [09:32:51] | <hefring> | http://hefring.mig5.net/bot/log/aegir/2012-02-16#T173570 |
| [09:33:02] | <anarcat> | since the debian branch would basically be gone |
| [09:33:10] | <anarcat> | the aegir-debian-official job will never be triggered |
| [09:33:23] | <anarcat> | i was thinking of making in kick in when a tag is pushed |
| [09:33:31] | <anarcat> | but it doesn't look like jenkins can detect that kind of stuff |
| [09:33:42] | <anarcat> | darthsteven / mig5 : should i let you guys catch up? |
| [09:34:16] | <darthsteven> | the Jenkins git integration is actually fairly limited |
| [09:34:19] | <mig5> | don't worry about me, i was lost before you started talking :) |
| [09:34:26] | <anarcat> | yeah |
| [09:34:30] | <anarcat> | darthsteven: ^ |
| [09:34:38] | <anarcat> | mig5: don't you you :P |
| [09:34:44] | <mig5> | given we still push release nodes manually, i've no problem with making some more steps manual as they originally used to be |
| [09:35:15] | <anarcat> | so anyways |
| [09:35:23] | <anarcat> | the main points i want to discuss here |
| [09:35:36] | <anarcat> | 1. we need to figure out when aegir-debian-official gets kicked now |
| [09:35:45] | <darthsteven> | yup |
| [09:35:57] | <anarcat> | 2. we need to agree if i'm to ditch the changelog job away from jenkins and into release.sh |
| [09:36:12] | <anarcat> | which also means the user pushes the tags |
| [09:36:30] | <darthsteven> | and needs a apt key thingy |
| [09:37:06] | <anarcat> | oh no, that can still be done by jenkins |
| [09:37:13] | <darthsteven> | the user pushes the tags for the d.o releases anyway at the moment? |
| [09:37:17] | <anarcat> | in aegir-debian-official |
| [09:37:21] | <darthsteven> | which tags are we talking about? |
| [09:38:12] | <anarcat> | e.g. 6.x-1.6 |
| [09:38:30] | <anarcat> | right now, there's a jenkins job that does basically what release.sh (which is pretty confusing if you ask me :P) http://ci.aegirproject.org/view/Release%20scripts/job/R%20release%20tags... |
| [09:38:43] | <anarcat> | then there's another one which does parts of what debian/rules did |
| [09:38:44] | <anarcat> | http://ci.aegirproject.org/view/Release%20scripts/job/R%20debian%20provi... |
| [09:38:50] | <anarcat> | which creates the changelog and pushes it |
| [09:38:56] | <anarcat> | so jenkins does push stuff up to d.o |
| [09:39:05] | <anarcat> | i feel that's wrong |
| [09:39:05] | <darthsteven> | ah right, yup... |
| [09:39:09] | * obrienmd has joined #aegir |
| [09:39:09] | <darthsteven> | hmm... |
| [09:39:42] | <anarcat> | in my mind, the release work flow would be: |
| [09:40:00] | <anarcat> | run release.sh, which: |
| [09:40:10] | <anarcat> | 1. prompts you for a changelog (which are the release notes anyways) |
| [09:40:15] | <anarcat> | 2. lays down tags |
| [09:40:26] | <anarcat> | 3. sets the debian package version in debian/changelog |
| [09:40:30] | <anarcat> | 4. pushes that stuff up |
| [09:40:44] | <anarcat> | then you create the release nodes |
| [09:40:57] | <anarcat> | and jenkins builds and uploads the debian packages from your tag (aegir-debian-official) |
| [09:41:10] | <anarcat> | we get rid of 3 jenkins jobs in favor of one single shell script |
| [09:41:31] | <anarcat> | which *could* be turned into a jenkins job if you prefer, but i don't like the ideas of handing my ssh keys to jenkins |
| [09:41:34] | <darthsteven> | (and then get Jenkins running the shell script :P) |
| [09:41:48] | <anarcat> | snap :) |
| [09:41:58] | <anarcat> | so to answer my question #1 above: |
| [09:42:21] | <anarcat> | we kick aegir-debian-official manually, we could even add a parameter to the job that would be the tag to build the package from |
| [09:42:39] | * scientist has quit (Ping timeout: 245 seconds) |
| [09:42:54] | <anarcat> | and then in answer to #2, it would mean that release.sh does most of the work, but could be called by jenkins if we really want to |
| [09:43:08] | <darthsteven> | seems to make sense |
| [09:43:34] | <anarcat> | oh, and why do we need to clear the unstable repo in the release process? |
| [09:43:36] | <anarcat> | http://ci.aegirproject.org/view/Release%20scripts/job/R%20clear%20unstab... |
| [09:43:43] | <darthsteven> | because... |
| [09:44:51] | <darthsteven> | at some point during the release process the stuff in debian/rules miscalculates a version or something, and uploads an old version of the packages to the repo, but under a new tag |
| [09:44:57] | <darthsteven> | so we need to clear them out |
| [09:45:10] | <darthsteven> | you did it when you helped me do my first debian release |
| [09:45:24] | <anarcat> | i did |
| [09:45:26] | <anarcat> | i don't recall |
| [09:45:29] | <darthsteven> | so I documented it in the release process |
| [09:45:35] | <anarcat> | but okay, that sounds like a bug more than something that we should rely on :) |
| [09:45:51] | <anarcat> | i'll do the next release i think, i can shake up a lot of those issues and make a process that's a bit more consistent |
| [09:46:09] | <darthsteven> | okay, that's cool |
| [09:46:15] | <anarcat> | ok, i think i got good feedback from you guys and i'm confortable going ahead with the rest |
| [09:46:18] | <darthsteven> | the documented release process does work :) |
| [09:46:20] | <anarcat> | i may break the build tomorrow |
| [09:46:24] | <darthsteven> | yey! |
| [09:46:26] | <anarcat> | yes! |
| [09:46:38] | <anarcat> | it's good too, but i'll break it tomorrow, so i'll need to fix it! :) |
| [09:46:45] | <anarcat> | we just need to figure out how it will be fixed :P |
| [09:46:55] | <anarcat> | one thing is still hanging: where 2.x packages will be uploaded! :) |
| [09:47:10] | <anarcat> | but we can decide this later |
| [09:47:12] | <darthsteven> | one plus about using Jenkins to do the release is that the logs from it are all kept there, and we can all watch the release progress |
| [09:47:27] | <anarcat> | yep |
| [09:47:32] | <anarcat> | nah it's good, i like it too |
| [09:47:49] | <anarcat> | it's just that i dislike the idea of still having release.sh and copies of parts of its code within jenkins |
| [09:47:49] | <darthsteven> | understand that you don't want to give Jenkins your keys etc. |
| [09:47:54] | <anarcat> | yeah |
| [09:48:03] | <mig5> | i vote for simplicity over automation |
| [09:48:12] | <mig5> | we can probably find a nice middle ground :) |
| [09:48:16] | <darthsteven> | and then automate that simple stuff :) |
| [09:48:21] | <mig5> | hehe |
| [09:48:26] | <mig5> | sure |
| [09:48:40] | <mig5> | but i admit too i'm completely overwhelmed with the number of jenkins jobs and what they do |
| [09:48:47] | <mig5> | (and the various git branches!) |
| [09:48:52] | <mig5> | so i'd be happy to see it simplified |
| [09:48:56] | <anarcat> | cool |
| [09:49:05] | <darthsteven> | as for the locations of the packages, will we need a new repo? |
| [09:49:07] | <anarcat> | i'll finish that up tomorrow and try to summarize it all in the relnotes and debian page |
| [09:49:10] | <anarcat> | i think so |
| [09:49:14] | <anarcat> | but we can decide that later too |
| [09:49:18] | <darthsteven> | okay okay |
| [09:49:53] | <darthsteven> | i'll be around tomorrow on IRC, so ping me if you want a chat or to ask what I was thinking when I wrote something in Jenkins etc. |
| [09:51:28] | <anarcat> | cool |
| [09:51:38] | <darthsteven> | night |
| [09:53:09] | <anarcat> | gn |
| [09:58:01] | * willj has joined #aegir |
| [10:04:53] | * jaymiejones86 has joined #aegir |
| [10:05:07] | * jaymiejones86 has left #aegir () |
| [10:05:25] | * zorki has quit (Quit: quit) |
| [10:10:15] | <hefring> | Git => Issue #1388906 by omega8cc - It is possible to break Nginx based install with upload... => http://drupalcode.org/project/provision.git/commitdiff/d9d297d44f0be0b5a... |
| [10:11:46] | * berniecram has joined #aegir |
| [10:12:34] | * obrienmd has quit (Quit: Leaving.) |
| [10:17:36] | * siliconmeadow has quit (Quit: Leaving) |
| [10:25:04] | * e-anima has quit (Quit: www.texturecase.com) |
| [10:31:40] | * patcon has quit (Quit: patcon) |
| [10:34:51] | * q0rban is now known as q-rban |
| [10:38:37] | * scientist has joined #aegir |
| [10:38:39] | * cdracars has quit (Quit: cdracars) |
| [10:42:31] | * Egyptian[Laptop] has quit (Remote host closed the connection) |
| [10:46:15] | * Artusamak is now known as Artusamak_afk |
| [10:50:04] | * welly has joined #aegir |
| [10:58:23] | * drakythe has quit (Quit: KVIrc 4.0.4 Insomnia http://www.kvirc.net/) |