IRC logs for #aegir, 2012-02-16 (GMT)

2012-02-15
2012-02-17
TimeNickMessage
[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/)