OrchardCMS / Orchard

Orchard is a free, open source, community-focused Content Management System built on the ASP.NET MVC platform.
https://orchardproject.net
BSD 3-Clause "New" or "Revised" License
2.38k stars 1.12k forks source link

Reduce CodeBetter CI usage for nightly builds #4635

Open orchardbot opened 10 years ago

orchardbot commented 10 years ago

adamralph created: https://orchard.codeplex.com/workitem/20806

Currently, the nightly build is using 2 hours on JetBrains-agent01 at CodeBetter CI http://teamcity.codebetter.com/viewType.html?buildTypeId=bt539.

Given there are over 200 projects configured to use this single agent (http://teamcity.codebetter.com/agentDetails.html?id=7&agentTypeId=7) it would be greatly appreciated if this level of usage could be reduced to a fair level. If all 200 projects had 2 hour nightly builds we'd be pretty stuck.

I work on a few of these other projects (the longest build takes 6 minutes) and work has been blocked a few times now for up to two hours whilst waiting for the Orchard nightly build to complete. I guess either the nightly build needs to be changed to do less, or it should be moved to a dedicated server/agent.

I'm not sure if CodeBetter CI has a fair usage policy but I'm sure as a community we can work things out regardless.

orchardbot commented 10 years ago

@sebastienros commented:

We are aware of that and this is why these tests are run only nightly and not on commit. The unit tests are run on every commit, but the specflow ones (which start web app and simulate clicks) take 2 hours. This is just how tests are built on Orchard and there is not so much I can think of to improve that. When we do new tests we try to minimize the number of tests assets which take longer to start, but it's still long.

orchardbot commented 10 years ago

adamralph commented:

It's all about fair use. IMO 2 hours daily plus commit builds is a little too much for a single agent shared by 200 projects. I would define fair use in this case as commit builds plus nightlies, etc. but taking no longer than around 10 minutes per build.

Any project requiring significantly more than this should really be getting a dedicated agent. I realise funding is difficult for open source projects but if the project is so large that it has such heavy build requirements that suggests it is prominent enough attract some kind of sponsorship.

BTW - the server is used globally so any time defined as night time in a given region could be day time for someone who wants to use it. E.g. for me, the Orchard nightly build tends to kick in mid-morning when I usually try and get a lot of work done.

orchardbot commented 10 years ago

@Piedone commented:

Could we configure the SpecFlow tests to be run just once a week for example? This would cause a disconnected experience (a commit could cause a test failing a week later) but would would solve the immediate issue.

orchardbot commented 9 years ago

@sebastienros commented:

TODO: Only test the builds, and the unit tests nightly. The functional tests could be weekly.