triplea-game / triplea

TripleA is a turn based strategy game and board game engine, similar to Axis & Allies or Risk.
https://triplea-game.org/
GNU General Public License v3.0
1.34k stars 394 forks source link

Release 1.8.0.9 #138

Closed ron-murhammer closed 9 years ago

ron-murhammer commented 9 years ago

So here is what I've done so far:

So we need to make some decisions before moving forward.

  1. @veqryn submitted PR #133 with the main changes of: 1. changing changelog.txt back to windows line endings and 2. updating the scroll changes to decrease speed and width of scroll zone. A few other minor things as well. Do we want to merge this and rebuild the artifacts?
  2. @veqryn is there anything else that should be considered before moving forward with the release?

After thats decided and we keep what we have or get back to that point then here are the remaining items:

veqryn commented 9 years ago

If we are going to merge those couple of changes, then I'd like to also get https://github.com/triplea-game/triplea/pull/76 (corrupt map zip = infinite loop) in as well, since apparently it is affecting a second person.

gaborbernat commented 9 years ago

Can we please link the persons complaints, in the future, thanks ;)

Bernát GÁBOR

On Tue, Sep 1, 2015 at 6:09 AM, Chris Duncan notifications@github.com wrote:

If we are going to merge those couple of changes, then I'd like to also get #76 https://github.com/triplea-game/triplea/pull/76 (corrupt map zip = infinite loop) in as well, since apparently it is affecting a second person.

— Reply to this email directly or view it on GitHub https://github.com/triplea-game/triplea/issues/138#issuecomment-136578011 .

ron-murhammer commented 9 years ago

@veqryn I'm fine releasing as is or looking to merge #76, #133, #134 then rebuilding. I'll let you make the call. Pros are we would get a few more fixes in though I don't think any of them are critical. Cons is that it'll take probably a few days to merge them and rebuild the artifacts plus however long it takes to get the mac dmg created for us though SomeMacUser has been doing it within a few days of posting.

veqryn commented 9 years ago

@ron-murhammer: Ok, lets merge them and delete then re-release.

ron-murhammer commented 9 years ago

@veqryn Alright in that case do you want to include the other 2 changes you just merged (#103, #49)? If not then we need to create a release branch and update #76, #133, #134 to merge into the release branch.

veqryn commented 9 years ago

Yes, that is fine. I had a really long look at 103, since anything touching that method is dangerous, but the pr was literally just breaking up the single method into multiple methods, nothing more. No logic was changed. I could be crazy though, so it would nice if you read that PR as well. But after that, we are good to go on the current master branch.

ron-murhammer commented 9 years ago

Alright, well looks like you merged all the relevant PR's so I'll try to run the build and upload things tonight.

ron-murhammer commented 9 years ago

Everything is built and posted to get the mac dmg built. Uploading the rest of the artifacts to SF now.

ron-murhammer commented 9 years ago

1.8.0.9 is officially live now!

veqryn commented 9 years ago

@ron-murhammer: Was the tag and release updated to be based on the same code point you used for the build objects? https://github.com/triplea-game/triplea/releases/ Also, should we make a branch based on that tag?

ron-murhammer commented 9 years ago

Yep they are updated. You can tell by looking at the commit code: 016260a

You can make a branch if you'd like but we can always make a branch from any commit if needed.

ron-murhammer commented 9 years ago

I've updated 2 of the lobby bots to 1.8.0.9 as well.

veqryn commented 9 years ago

Ok, so should I delete the release_1_8_0_7 branch then?

ron-murhammer commented 9 years ago

Yeah, you can remove the release_1_8_0_7 branch since any fixes we'd do would be on top of 1.8.0.9 at this point.

DanVanAtta commented 9 years ago

Please upload to github and give a link for that in the 1.8.0.7 lobby. The 1hr to download from sourceforge can ruin a persons time allocated for playing in a given day. I also wasn't able to download fast enough today to test before you released 1.8.0.9.

I thought there was agreement to focus on doing regression testing before releases. An upload started late last night left only a few hours to test today. I would be surprised if we have done a full round of multi-OS regression testing in the short time available today. I think the 1.8.0.7 release was similar, artifacts were uploaded and then seemed to be released very quickly there after which left no time for testing.

DanVanAtta commented 9 years ago

Regardless, I am happy 1.8.0.9 is going out so quickly. That is good.

I'm curious, what happened to the 1.8.0.7 artifacts in github releases? They do not appear to be there anymore.

ron-murhammer commented 9 years ago

@DanVanAtta I'll try to find time to upload to github as well tonight. The problem is while downloading from github may be fast the uploading doesn't seem to be (at least for me).

We do need to focus on regression testing though the problem is we don't have enough testers. The 4 of us developers just can't cover much more than the tests in the release doc. Beyond that a few users on the forum will usually test as well. But to get a large enough test group we essentially have to release it. The problem with 1.8.0.7 is that it should have been a beta (1.8.0.6) then we fix the issues that come up and release 1.8.0.7 instead of 1.8.0.9.

I think both the 1.8.0.7 and 1.8.0.9 artifacts were removed since we had to update tags as we actually built both of those more than 1 time.

DanVanAtta commented 9 years ago

A benefit of Travis is they have probably one or two magnitudes more upload capacity than you do. US consumer broadband is notorious for really slow upload speeds. The benefit of fast DL is to the users, not us. Likely the boat has already sailed on that benefit and we would be doing the github upload now more as process.

Makes sense with the tag being recreated, that would remove the artifacts.

We do need to focus on regression testing though the problem is we don't have enough testers.

That is a frustrating statement. Fewer tester is more reason for giving more time for test, not reason for less time. Opening up a lobby to 1.8.0.9 and asking people to go there, is effectively testing in prod. The inability to find games in the 1.8.0.7 lobby will force people to upgrade to 1.8.0.9 whether they wish to be beta/regression testers or not.

1.8.0.7 has been out for almost two weeks now, maybe more. Another day so we can do some testing of 1.8.0.9 I don't think would have hurt anything.

Skipping the regression testing also skipped integration testing completely, nobody has tested all the PR's merged altogether to make sure that everything works together and not just individually. The .gitattributes is actually a major change, I've had a JAR file get corrupted because of it. It also has widespread changes for linux and Mac with line endings changing (note, sure the commit itself was just to add the file, but it was then merged in, merge commits rewrite history and can change anything, so the merge commit required things to be tested).

Because of this, you have to test after PR merges. This is why it doesn't make sense to do full regression testing as part of a CR, because you shortly have to redo exactly all that work in the name of integration testing. Extra feature testing for a CR I think adds overhead to the review process which is a very bad thing, but I can buy in that the extra level of testing there will be of benefit.

The stable/unstable release version numbering doesn't make sense in the context of Git. #129 discusses where it doesn't make sense and proposes an updated process that fits in better with the more modern development work flow we have recently adopted.

Bottom line, 1.8.0.9 I think could have waited one more day, given us a chance to regression test.

DanVanAtta commented 9 years ago

Sorry, I feel like I"m coming down harder on this issue than I intend to. I think 1.8.0.9 will be a good release. Some time for testing I think would have been good for our process, so we can learn how to do this thing well, and would have been a good final extra check. That's mainly the point I wanted to make. So partly I intend this to a bit of a retrospective so we can have more effective processes in the future. More efficient process and team that has learned that process and practices it will see velocity benefits.

veqryn commented 9 years ago

Ok, so in the future, I think it might be a good idea to upload the next release somewhere in a directory specifically called "prerelease", and have some people test it out for a couple days before we move them to x_x_x_x directories. Sound good?

ron-murhammer commented 9 years ago

@DanVanAtta So in general I agree but in this case we are essentially releasing a hotfix since the current stable release was already broken. I also happen to have time tonight but otherwise would probably have had to wait til Sat/Sun.

@veqryn I think uploading to the tripleamaps directory (not updating the default download) and only telling people to test it out on the forum works fine. No need for another directory.

DanVanAtta commented 9 years ago

In the future we should not be uploading artifacts at all. Github has a check box precisely called "prerelease" so you can label a release as not fully tested yet. I believe by default it is checked, which is what we would want.

@ron-murhammer If we had spent today testing, and then tomorrow with the actual upgrade, then doing it Saturday delays it only one day. With the more thorough testing we could perhaps do the release in fewer steps, rather than being quite so incremental. Given what is in this release I'm not too worried either way.

@ron-murhammer We should also probably give a heads up on the lobby too when a new release is expected. This way players can expect or predict that they'll have to install the new version. Imagine last time going to 1.8.0.7. Let's say the day before two players saved a game and said they would continue the next day at 5pm. They both log in, and find out, crap, 60-90 minutes to DL and install the new game. Not only could they have done that earlier in the day at their convenience, but now their gaming session was cut short by that much time. If we can get the install time down to 10 minutes, this won't be a big deal, until then, we should notify the players in advance when we expect a new release to happen.

ron-murhammer commented 9 years ago

@DanVanAtta I can't upload more than 1 file at a time to github releases so that isn't really manageable until we resolve that issue as this makes it take an order of magnitude longer to upload rather than just using SF. But yeah there is a pre-release check box but no users come to github anyways so doesn't really matter.

Possibly but here is no guarantee I have time Sat or Sun so it could have waited even longer. Since I had time yesterday it just made sense to move forward with things especially since basic testing had been done by me and 2 of the Mac users and we had very few changes. For releases with more changes and when our production release doesn't have a major bug then I agree.

We could give a heads up to the lobby folks but I think you have to remember that out of our user base I think probably less than 10% frequent the lobby. So I'm fine if we want to do this but don't think its a huge win.

DanVanAtta commented 9 years ago

How do you know that 10% of users frequent the lobby?

ron-murhammer commented 9 years ago

Well if you sit in the lobby over a few days you'll usually see somewhere between 5-50 users and many of the same people. We have a couple thousand downloads a week so that's just a conservative estimate. I'm guessing its actually much lower than 10% but really don't have any idea its just an estimate. Why do you think its much higher than that?

DanVanAtta commented 9 years ago

Upload is a 1 time problem. It can (and has been) automated. You can also kick it off for all files at once, so it is not like you have to babysit each file. Then sticking every user with a 30-90M DL instead of a 5minute DL is poor. Also, nobody DLs from github because you advertise only the source forge location, so of course.

ron-murhammer commented 9 years ago

@DanVanAtta "You can also kick it off for all files at once, so it is not like you have to babysit each file." This is the problem. I'm not sure if its just me or not but if I try to upload the 5 release artifacts at once only the first one succeeds and I get errors for the rest. Feel free to try it in a repo that you have admin rights in to see if its just me. Also the SF download for me usually is under 10 mins and pretty much always under 30 mins.

DanVanAtta commented 9 years ago

With thousands of downloads, and maybe max a hundred unique lobby and sourceforge forum users, are you suggesting we have thousands of people quietly playing tripleA at home in single player mode against the AI?

ron-murhammer commented 9 years ago

More or less. Though I would say the 90% is a combination of PBEM, PBF, single player vs AI, hotseat, map makers, etc. I'd be interested in @veqryn thoughts and also if you think there is any good way to profile our user base.

DanVanAtta commented 9 years ago

@ron-murhammer , there is a curl api that might be more robust. You can do parallel uploads by opening multiple browser windows.

Your individual problems to upload translates to problems for all tripleA users who have to upgrade. Spending time on this part of the process while automation for it has been tested and put in place is wasteful. I've spent about 6 hours setting up and testing the Travis CI automation with releases. Let's take take advantage of that work.

The "thousands" of new downloads a week is not a meaningful measure until we can match that up with actual usage.

ron-murhammer commented 9 years ago

@DanVanAtta Agree. After we have the new build completed and CI in place my hope is that no one has to build it locally and upload artifacts as we should be able to get the CI process to upload the files to github/SF. Then these issues are resolved.

Well the only stats we have right now is an approximate number of lobby users, an approximate number of PBF users, and the downloads per week. So until we get better numbers we sort of have to use what we have. Though I'm not really sure what you are getting at. What percentage of users do you think use the lobby on say a weekly basis?

DanVanAtta commented 9 years ago

I don't know what the percentage is.

So there is no evidence to support that the thousands of downloads are actual players. If they are, I would suggest many of them abandon before they join the lobby, and so they represent opportunity. There are so many reasons to abandon this game as new player:

Bottom line, other than lobby, PBF, PBEM, and forum, we dont' have a shred of evidence that people are actually playing the game after DL. Any speculation about those people as users of the game, when we don't know what they are doing, is just speculation. Our measurable and actual community and user base is the lobby and forum users. Until we have evidence that the other users are actually playing the game in some way, we should not consider them as anything other than new users who are learning the game in preparation to join the lobby. Another element might be that these people also quickly find out that tripleA is a 6-12 hour game, and decide to not play because of that.

Hence I think game mechanics to get gameplay more efficient, and optimizing the new user experience are very high priority items.

DanVanAtta commented 9 years ago

Can we leave this with two agreements?

I'd recommend a new issue if there is much more to discuss on those points. An issue or discussion on how to profile perhaps could be good.

Otherwise, to try and get back on topic - is there anything left to do for the 1.8.0.9 release?

ron-murhammer commented 9 years ago

So we are definitely getting off topic. The good news is there aren't any major remaining items for the release (just updating partners sites) and there haven't been any bugs reported. So I'll close this after my final comment and if you want to continue discussing then we can open another issue.

  1. Agree with the profiling and not sure the best way to do it.
  2. I think this is where we disagree. Those that are contributing back the the community are the VIPs in my mind (active forum users, map makers, bug reporters, pre-release testers, admins, etc). Many of the lobby users just go in and play games. That isn't really contributing its just more visible users than single player. I personally have only ever played 1 lobby game but have played 10s or 100s of games of singleplayer/PBEM/PBF.

My whole point is you are overvaluing lobby users as we have many different ways to play and PBF users are just as visible as lobby users. We should value all our users but especially those that contribute back to the TripleA community.

DanVanAtta commented 9 years ago

We do disagree, though I think you are far undervaluing the lobby and do not realize how much it drives the tripleA community.

edit 200-300 is likely too much. Over 7 years, 2100 days roughly, that would be one game every 10. It is more like one every 40, so probably very close to 100 games then (though on some weekends, if you play a newb and kill them in 90 minutes, you can get a half dozen games in, so that probably pushes the number closer to 150)

DanVanAtta commented 9 years ago

"Those that are contributing back the the community are the VIPs in my mind ... Many of the lobby users just go in and play games"

The people that go in and play games are the community. Everything else is meant to be the fringe 1% that works on the source code and makes the maps.

Hate to draw a religious analogy, but it's like a church. The most important members are the congregants, it is why you are doing the whole service. The preacher, the organ player, the choir boys, the groundskeepers, they are not the core community, they serve to support that core community.

So the last element of disagreement is I think you have a skewed notion of how many people play single player. Both our points of view are subjective and we agree we would like more data to know what is the case. But you look at DLs to formulate the thought that 10% of users are lobby userse, while if you at lobby player comments, new player traffic into the lobby, bug reports traffic, traffic on the forums, these do not point to a huge amount of user activity. Certainly not anywhere near 50k new users in the last year.