15:01:03 #startmeeting 15:01:03 Meeting started Thu Jun 9 15:01:03 2011 UTC. The chair is balunasj_mtg. Information about MeetBot at http://wiki.debian.org/MeetBot. 15:01:03 Useful Commands: #action #agreed #help #info #idea #link #topic. 15:01:24 Hello everyone! 15:01:34 #info Agenda for today: http://community.jboss.org/wiki/RichFacesTeamMeetingAgenda6-9-2011 15:01:37 hello 15:01:43 jhuska: Hi 15:02:22 Pavol is on PTO today from QE, but the other guys are here 15:02:40 #topic Git migration 15:02:55 #info as you can see in the agenda we are very close to wrapping this up 15:03:17 #info lfryc has done a great job, and we only have a few open items left 15:03:49 BTW - we can officially welcome bleathem to the team as a red hat employee :-) 15:04:04 bleathem: welcome on board :-) 15:04:07 balunasj_mtg: one thing that left is decide about naming of FishEye repos 15:04:10 thanks! :D 15:04:25 welcome although im not part of Red Hat (wishing i was) 15:04:30 lfryc: I've added various items to the agenda 15:04:44 lfryc: what do you want to start with? 15:05:10 I have also added some of them, just to finish some points 15:05:20 I would follow the structure.. 15:05:24 basically here are current structure of FishEye: http://source.jboss.org/browse/ 15:06:13 ah, I can see there are some changes done recently, so I need to sync up with Vlastimil 15:06:26 nevermind, I wil continue with other points 15:06:39 lfryc: please remember to use meetbot 15:06:57 #info I have prepared proposal of workflow which was published at http://community.jboss.org/docs/DOC-16874 15:07:08 #action lfryc follow up with Vlastimil on fisheye integration 15:07:36 bleathem: have you time to review it? 15:07:39 ppitonak: glad you could make it! 15:07:39 lfryc: the proposed workflow looks good! 15:07:50 one question 15:07:55 balunasj_mtg: hi 15:08:06 #info this has been reviewed by balunasj_mtg and bleathem 15:08:07 ppitonak: just starting to discuss workflow.. 15:08:14 apparently in github you can change the default branch that a user forks, when they fork the project 15:08:23 should we change this default fork to the develop fork? 15:08:34 bleathem: yes, thats on the agenda, I propose to change it to develop 15:09:08 ok, cool - sorry for jumping the gun 15:09:18 yup it can be set per repo 15:09:38 bleathem: but as I had mentioned, we should also encourage to use master in situations when develop would like to integrate the fix into his application immediately 15:09:38 lets work through the list, and then at the end we'll cover anything additional 15:09:59 bleathem: it might be problem to use cutting edge develop branch in these situations 15:10:55 #info I have also prepared Guide how to use pull request with RF JIRA (which has newly enabled Git workflow to support this model) 15:10:56 lfryc: Let shelf that now - and we'll cover when it is time in the agenda 15:11:23 #action balunasj_mtg review the pull request and rF jira workflow document 15:11:32 #info Guide can be found here and applies also to other projects: http://community.jboss.org/docs/DOC-16877 15:12:11 #info first point what we need to refine is modifying the existing branches structure to meet the workflow 15:12:47 we have lot of branches migrated from SVN and we simply don't need them anymore 15:13:09 the sample is here: https://github.com/richfaces/core 15:13:27 #agreed We can get rid of the branches that are not part of the current workflow 15:13:53 lfryc: any complications there - do you think? 15:14:17 balunasj_mtg: there should not be any problem since we will keep the tags 15:14:28 balunasj_mtg: but further question is what tags we would like to keep there 15:15:02 balunasj_mtg: bleathem any ideas why we should keep tags before 4.0.0.Final? 15:15:09 I don't think there is any need to get rid of the tags 15:15:29 lfryc: agreed - the tags that are there are accurate 15:15:35 they don't get in the way, but do add some context to the commit history 15:15:50 lfryc: it is nice it did not migrate some of the MUCH older tags 15:16:04 #action lfryc will fire issue for removing all the unnecessary branches and tags (it means all except master and 4.0.0.Final) 15:16:37 lfryc: where are you seeing older tags? 15:16:52 balunasj_mtg: https://github.com/richfaces/core 15:17:13 under Switch tags, there are lot of tags - and it is the same as for each other repository 15:17:28 lfryc: I'm only seeing tags that are part of the 4.0.0 cycle 15:17:37 balunasj_mtg: yes 15:17:43 lfryc: I'm seeing 20 tags - I think those are fine 15:17:59 balunasj_mtg: ah, do you think we should keep all of them? 15:18:32 lfryc: yes - I don't think they get in the way and provide a good reference point for history 15:18:56 balunasj_mtg: some of them are duplicated per version because of respins (Final, M6) 15:19:09 balunasj_mtg: what about keeping only the last of each release? 15:19:46 lfryc: yup those are fine I think too - I just with the alpha's shared the same timestamp notation so they were in order 15:20:04 going forward, those feature branches would have been merged back into master 15:20:26 so the commits/tags will not be lost 15:20:36 bleathem: The release tags you mean? or something else? 15:20:41 but if you remove the branches now, will the commits/tags be lost? 15:20:56 the release tags and branches 15:21:05 balunasj_mtg: the release tags and branches 15:21:08 bleathem: I assume keeping the tags in place will mean that the commit history won't lost 15:21:28 lfryc: agreed 15:21:31 but if you remove the branch, won't it remove all associated commits/tags that are not merged? 15:21:34 but I'm not git expert 15:21:52 bleathem: not an annotated tag (but will need to verify on personal repo) 15:22:11 so a good note to add with meetbot ;-) 15:22:45 #info stale branches can be removed as long as it will not remove the tags 15:22:53 1 year from now we will all be git and meetbot ninjas! 15:23:07 well, hopefully sooner than 1 year... 15:23:30 I'm still getting used to it too 15:24:00 #info also there should be left only last of release tags 15:24:08 what about renaming the tags? 15:24:22 do you think we should rename them to 4.0.0.CR1, etc.? 15:24:33 lfryc: I'd like the Alpah tags renamed to follow the timestamp format 15:24:43 lfryc: I like it because it keeps everything in order 15:25:11 #action lfryc rename the tags to follow timestamp pattern 15:25:44 ok, let's continue with other points... any other comments? 15:26:00 lfryc: So just be be clear when done we will have master --> 4.0.0.Final 15:26:08 and develop --> master 15:26:12 current master 15:26:33 master is not going to be the release branch? 15:26:43 balunasj_mtg: exactly 15:26:56 bleathem: we will start releases on develop and finally introduce tag into master 15:27:15 bleathem: it means master will reflect the last stable release 15:27:31 ok, I misunderstood the "-->" 15:27:41 "-->" means merge into then? 15:28:01 bleathem: Sorry I just meant changing to be it; 15:28:03 yes, master will be reset to 4.0.0.Final 15:28:34 #action rename the master branch to develop 15:28:38 ok, and we will develop on "develop", which will get merged into master 15:28:49 bleathem: after a release yes 15:28:58 #action create new master branch pointing to 4.0.0.Final 15:29:09 got it! 15:29:22 ok - all that looks good 15:29:38 lfryc: want to move to next sub topic? 15:29:39 #action lfryc: setup GitHub to have develop as default 15:29:45 balunasj_mtg: yes 15:30:01 Hi, guys. you going to break git conventions and would confuse developers - usually, master is main development stream. 15:30:02 #info other topic is RFPL JIRAs and pull request workflow 15:30:09 * balunasj_mtg we need to have refactor agendas to allow for more topics instead of sub-topic 15:30:32 alexsmirnov: There are lots of workflows outthere 15:30:49 alexsmirnov: by setting the default branch appropriately in github, it should be transparent to the dev 15:30:59 they just fork, commit, and open a pull request 15:31:01 alexsmirnov: event in the book "pro-git" there were different approaches 15:31:10 alexsmirnov: that is not convention - I think developers which are not much experienced with project should start on master, which will reflect last stable release 15:32:07 alexsmirnov: more experienced users may get involved and know that develop is the main development branch and it is up to date 15:32:31 plus use of develop branch and feature branches is common 15:32:37 alexsmirnov: is that not your experience? 15:32:41 the only problem is about documenting this principle 15:33:01 * balunasj_mtg I'm going to start a new topic for next sub-topic 15:33:13 lfryc: I think you have done a good job at that in the workflow 15:33:26 lfryc: +1 ! 15:33:47 balunasj_mtg: yes, please 15:34:11 #topic RFPL jira's and pull requests 15:34:38 #chair lfryc 15:34:38 Current chairs: balunasj_mtg lfryc 15:34:59 #info RFPL contains issues which doesn't introduce commits 15:35:21 #info that's why they doesn't support pull requests 15:35:52 #info when developer works on RFPL JIRA which finally introduces commit and pull request, it have to be reflect in RF JIRA 15:36:12 #info either by creating and linking new RF JIRA or simply moving the JIRA into RF space 15:36:18 balunasj_mtg: My only concern that atmost all other projects use master or svn trunk for development code, and mark releases by tags/branches. You just break that common wisdom, so anybody who come to project will confused. 15:37:11 alexsmirnov: do you think it is enough to document in header of our repositories? 15:37:14 alexsmirnov: I've seen a lot of people using develop - for latest dev. 15:37:39 also Seam is going to go this way.. 15:37:52 any comments for RFPL and pull request work flow? 15:38:42 I will move to other topic 15:38:43 lfryc: I like the distinction between requiring/not-requiring a commit. very clear 15:38:57 #topic Sharing feature branches 15:38:58 #agreed If RFPL jira results in source code updates to core project is should be moved to RF 15:39:33 #info feature branch may not be needed to be shared in project repositories 15:39:54 #info two developers can share code in personal repositories 15:40:06 #info it satisfies that no one will start work on feature branches 15:40:19 #info but seems to be very restricting rule 15:40:44 balunasj_mtg: you have commented in previous discussions, do you want comment here? 15:41:00 yup 15:41:41 #info For large tasks sharing a feature branch in the project repo is ok, 15:42:06 #info The same rules apply - when the jira is resolved and branch merged the feature branch can be removed 15:42:56 #agreed with removing branches 15:43:10 #info We will likely need to go through and "clean up" from time to time anyway - and the rule will be that features branches for resolved jira's can be removed 15:43:22 * balunasj_mtg all set on this topic from my pov 15:43:31 when developers work together on a feature branch, should the merges be ff? (as opposed to merging the into develop, which is a no-ff merge) branch 15:43:55 balunasj_mtg: what's the purpose for having large tasks directly in RF repository? 15:44:35 bleathem: I prefer final commit into develop being one merge commit 15:44:48 really? 15:44:56 lfryc: more visibility and easier sharing if the task needs to shift between people. 15:45:27 lfryc: but there is rebasing going on right? 15:45:32 I like the quote "we don't develop in a linear fashion, so why force our commit history to be linear" 15:46:19 rebasing on a shared repository will break things 15:46:46 bleathem: my preference is initiated in having one feature for component as one commit 15:46:59 bleathem: it may be better reviewable in the pull request 15:47:04 ah true that can cause issues - rebasing. 15:47:37 lfryc: that seems to be a little restrictive to me 15:47:41 some features are big 15:48:11 bleathem: what do you propose? 15:48:35 no-ff merges for merging feature branches into master 15:48:57 as per the suggestion in the original git workflow document 15:49:14 bleathem: but I agree with no-ff, maybe we have misunderstood each other :-) 15:49:59 so you are saying no-ff, but rebased into a single commit? 15:50:41 bleathem: as I understand it, no-ff will introduce new commit based on merging changes in paralel branch, right? 15:50:54 yes 15:51:11 * balunasj_mtg unless this can be cleared up in next minute - let move this to the dev forum so we can move on 15:51:25 ok, dev forum is fine with me 15:51:33 sure 15:51:46 #topic Release criteria 15:51:52 ok thanks - just want to get through more of the agenda - and have break outs as needed 15:52:18 #action lfryc post a dev forum post about previous topic to continue 15:52:27 thanks 15:53:01 #info the part of release testing criteria is that release should not start before the branch is stabilized 15:53:12 #info the new workflow is just following it 15:53:49 #info the difference from the past is based that functional tests wasn't ran just prior to each release 15:54:16 lfryc: If that is more than just build/unit test - then it needs to be automated in CI and build regularly 15:54:53 In my experience the longer the release process the fewer releases - and we want to keep ~1 month one we get to M1 15:54:57 balunasj_mtg: yes, important is that tests needs to be reviewed currently to satisfy that there are no errors 15:55:12 (functional tests) 15:55:14 ppitonak: This is more your area - I would like you to assist with defining this 15:55:43 ppitonak: What is covered, and what is satisfactory to you 15:55:56 balunasj_mtg: basically in Richfaces 3.x and 4.0 we didn't follow test plan 15:56:09 balunasj_mtg: we didn't run functional test before tagging 15:56:18 balunasj_mtg: this is what I want to avoid 15:56:42 balunasj_mtg: so my idea is to run all unit tests and some reasonable number of functional tests before creating a release branch 15:56:44 balunasj_mtg: my though is starting release after approval from QA - it will avoid necessity to running release tests which will found new issue 15:56:56 can't we run these functional tests via CI with ever push? 15:57:01 ppitonak: sure - we just need to make sure executing those tests are as easy as possible. Ideally in CI 15:57:13 bleathem: iirc some take a long time 15:57:27 or run them nightly via CI? 15:57:28 bleathem: we can, but it takes ~2.5hrs for smoke tests and ~1.5days for complete suite 15:57:55 ppitonak: The smoketests is what should pass, but agree these need to be run every night 15:57:56 bleathem: and depends also on availability of machines in Hudson 15:58:06 cloudbees! 15:58:23 bleathem: that would not work at the moment 15:58:28 I don't want to end up waiting 1/2 day or more to push a release because we're waiting on builds 15:58:46 balunasj_mtg: neither do I 15:59:05 balunasj_mtg: that's the reason why we wouldn't wait for all ftests 15:59:07 ppitonak: can these or are these run everynight? 15:59:17 the smoke tests I mean 15:59:18 balunasj_mtg: they do 15:59:25 balunasj_mtg: but the suite is not stable enough 15:59:36 balunasj_mtg: there are about 2500 tests 15:59:39 ppitonak: the smoke tests or the whole suite? 15:59:42 balunasj_mtg: from which 30-60 are failing 15:59:48 balunasj_mtg: smoke test 16:00:01 ppitonak: ok so before we go M1 we need this to be working 16:00:11 balunasj_mtg: agree 16:00:34 #action ppitonak please create jira's to cover stabilizing smoke test ftest suite before M1 16:00:39 I would make that a blocker for M1 16:00:53 balunasj_mtg: sounds good 16:00:56 Here is the flow I would be ok with 16:01:12 1) code freeze on day X ( end of day ) 16:01:22 2) Builds run overnight 16:01:38 3) on Day X+1 if builds pass we start the process 16:01:41 release 16:02:08 sound right^ 16:02:16 balunasj_mtg: yes, that should work fine 16:02:20 balunasj_mtg: one little detail 16:02:52 balunasj_mtg: I don't see any reason in running the same tests again after a release branch was created 16:03:19 ppitonak: ok - you could start with the full suite then right? 16:03:34 balunasj_mtg: yes 16:04:24 balunasj_mtg: what I want to achieve is to run only manual tests during release testing (after creating branch) 16:04:31 balunasj_mtg: that won't be possible for 4.1.0 16:04:43 balunasj_mtg: but this is long-time goal 16:04:57 that is valid 16:05:16 So lets go with the release criteria above and move on 16:05:23 we can adjust as needed 16:05:32 ok 16:05:39 ok 16:05:49 #action ppitonak document release criteria for 4.1 releases 16:06:01 the last point was already discuss: Renaming master branch to develop + reverting master to 4.0.0.Final 16:06:10 lfryc: anything else for git migration? 16:06:23 balunasj_mtg: not from my side, maybe other comments? 16:06:52 it all sounds good to me, just the merging details to work out on the dev forum 16:07:15 agreed - then documented on wiki and we will be good to go 16:07:36 #topic 4.1 planning 16:07:48 #info we are already over time for the meeting 16:08:05 #idea Have a separate meeting just for 4.1 finalization and discussing 16:08:24 #agreed yes, it would be good at this situation 16:08:27 #info because of timing it would be post JSFSummit 16:08:58 #info before then I'll email specific tasks and things that should be ready before then so we can hit that meeting ready to nail down specifics 16:09:09 does this keep us on track schedule-wise? 16:09:20 for the M1? 16:09:26 #action email specific tasks and things that should be ready before then so we can hit the meeting ready to nail down specifics 16:09:56 bleathem: we are going to need to cut down M1 and push to end of July imo 16:10:16 bleathem: We have tasks that need to get done before that 16:10:20 like git migration 16:10:25 getting you up to speed 16:10:41 jira reviews and update estimating 16:10:44 etc.. 16:11:18 sounds reasonable 16:11:20 I want to get as much "prep" done in June so we can hit July running for M1 - but it is going to be tight I think 16:12:13 In the mean time I need everyone to review the docs - like the listshuttle, editor, etc.. and add comments, or ideas 16:12:50 #action everyone needs to review the docs in the agenda, and add comments, or thoughts. 16:13:16 yes, for the Editor, I will also follow on forums with my thoughts 16:13:31 lfryc: thanks - including reseaching alternative impls 16:13:47 anything else for now - from anyone? 16:13:54 balunasj_mtg: have you reviewed my sub tasks for editor? 16:14:07 balunasj_mtg: I'm curious if I haven't missed something important there 16:14:30 yup - I saw those after I posted the agenda - sorry about that 16:15:05 ok, np, I will wait for your comments.. 16:15:19 lfryc: question - where is the "implement the rich:editor subtask" :-) 16:15:35 balunasj_mtg: can you point me to JIRA? :-) 16:16:54 balunasj_mtg: good point :-) it would be good to have implementation.. 16:18:07 :-) 16:18:09 + documentation for component 16:18:15 ok anything else for now? 16:18:22 I'm good 16:18:31 nothing from me 16:18:45 ok then thanks all and I'll get the minutes posted after lunch 16:18:50 #endmeeting