Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Improve production readiness of stable releases #14247

Closed
fdellwing opened this issue Mar 20, 2019 · 12 comments
Closed

Improve production readiness of stable releases #14247

fdellwing opened this issue Mar 20, 2019 · 12 comments
Labels
answered For when a question was asked and we referred to forum or answered it.

Comments

@fdellwing
Copy link
Contributor

After the update to 3.9.0 I think there need to be a change in the metality of updates. I propose a new channel that will get every update like 2-3 days after the initial release and could be choosen from users that just want Matomo to work and are not willing to invest really into open source.

I think default should still be stable but give the user the option to switch to extra stable right in the installer (and afterwards in the menu like now).

@Findus23
Copy link
Member

Honestly I think this would just delay the issues a few days as most people would then use this new releases channels and therefore most bugs would again only be found after the update migrates to this channel. In addition, I think this would cause a bit confusion for users.

I'd propose the opposite direction: Make the release candidates more well-known.
I think we should make it more well-known that an easy way to contribute to Matomo without needing any technical knowledge, is to install the release candidates of Matomo on a copy of their Matomo instance in the weeks before a new Matomo release and report any issues that occur there.
That way the most severe issues can be fixed before the new release.

@tsteur
Copy link
Member

tsteur commented Mar 20, 2019

I think if you want it extra stable, the best practice is really to ideally wait for a week or two before updating to the next version. For some software I wait for 1-3 months before updating. It's of course bit annoying when there are security issues, but usually the fixed security issues in the last years have been pretty much minor.

@fdellwing
Copy link
Contributor Author

I personally do not update anything for quite some time, but there are A LOT of users doing otherwise. I have no strong opinion on this one but I think just using RCs would not have found that archiving error as there would probally be no visits to archive on a copied instance.

@tsteur
Copy link
Member

tsteur commented Mar 20, 2019

I think some users do upgrade to RC on their production instance. Not sure how many RC testers there were and whether there was enough time between merging PR that caused the issue and the release. Maybe that's an issue to just really wait for a week after RC before creating the release.(we might have mentioned this before and would probably need to adjust processes to ensure that) not sure if that was the problem though.

@diosmosis
Copy link
Member

diosmosis commented Mar 20, 2019

Perhaps we can keep track of how many users upgrade to a RC so we can be better aware of how battle ready a potential release is.

@fdellwing
Copy link
Contributor Author

The problem that I realised again the past two days are, that a lot of people update on the first day a release is there and a big number of them are just using Matomo as users and have no clue about what could be the issue (I looked like 10 minutes on the PRs and was like 90% confident that I found the correct PR). So there has to be a way to protect the users against a situation like this, or the reputation of Matomo will shift more to "Never update, it could break everything".

@diosmosis
Copy link
Member

diosmosis commented Mar 20, 2019

Ideally we'd do this by releasing software w/o issues the first time around. 2 of the 3 issues caught in this release might have been caught by the OneClickUpdate test which hasn't been merged yet. The other issue points to two blind spots in our testing (LDAP + emails). And releasing software w/ these issues points to a lack of knowledge of how stable a release will be and exactly how users run/update/configure matomo. If we can address root cause issues like these, then we can release better software and wouldn't need a new release channel. They just need to be made a priority.

@fdellwing
Copy link
Contributor Author

Amen

@fdellwing fdellwing changed the title Propose new extra stable channel Improve production readiness of stable released Mar 20, 2019
@fdellwing fdellwing changed the title Improve production readiness of stable released Improve production readiness of stable releases Mar 20, 2019
@jgkirschbaum
Copy link

2 of the 3 issues caught in this release might have been caught by the OneClickUpdate test which hasn't been merged yet. The other issue points to two blind spots in our testing (LDAP + emails).

IMHO automated testing is the only way to get stable releases. One test is on the way. So to improve release stability, writing tests especially for the blind spots is essential. Introducing new release channels (extra stable, super stable, super extra stable, ...) is the wrong way and not the mindset of OSS.

I'm using matomo aka piwik for a couple of years and the release quality is compared to other OSS projects pretty high. Thank you matomo-team for that.

@tsteur
Copy link
Member

tsteur commented Mar 21, 2019

👍 @jgkirschbaum

I'm thinking most releases go without problems and it is unrealistic to think you can avoid all problems. We're already focusing a LOT on tests and adding more tests with every release etc. There's the beta/RC releases also to catch errors and of course we have to rely on the community to help testing. We're also maintaining a few Matomo's ourselves where we test the update process. I think we can maybe do better in terms of having a feature freeze, release an RC, do nothing for a week, and hope to get feedback if there is any problem. So far we sometimes still merge things after RC or close before the release which shouldn't happen.

@tsteur
Copy link
Member

tsteur commented Mar 26, 2019

I think we can close this issue?

@mattab
Copy link
Member

mattab commented Jun 18, 2019

Thanks everyone for feedback. We'll continue doing our best to release stable software. Sometimes there will be a bug or two sneaking in, but we have thousands of automated tests, and most pull requests also come with their own new tests, so we're always making this better. In the future we're hoping to release more often (ideally once a month) which will also help make more stable releases eventually. 🚀

@mattab mattab closed this as completed Jun 18, 2019
@mattab mattab added the answered For when a question was asked and we referred to forum or answered it. label Jun 18, 2019
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
answered For when a question was asked and we referred to forum or answered it.
Projects
None yet
Development

No branches or pull requests

6 participants