Hello.

On 03/06/2018 07:44 AM, Carsten Haitzler (The Rasterman) wrote:
> tbh platforms is an issue. windows is kind of big as setting up a cross-build
> environment is a fair bit of work. setting up a windows vm costs money to test
> (need licenses, or if you can scrounge one off another pc you have/had). osx 
> is
> worse in that you have to go buy hardware to run osx to test.
>
> i think making it a requirement that every commit work on every platform is 
> not
> viable UNLESS:
>
> 1. a windows cross-compile env is available to developers (e.g. ssh into a vm
> set up for this with clear documentation and scripts/tools to do the builds. i
> have one set up for me at home).
> 2. a vm with remote display that developers can use to run/test changes 
> easily.
> 3. an actual osx box that developers can ssh into and compile and runa nd test
> and remotely view/interact with like the windows vm.
> 4. same for freebsd etc.

We do not have this and I am pretty sure we never will (I can only hope the 
future proofs me wrong).
Maybe we should be more honest and state that any platform we support (besides 
Linux on x86_64) has only been tested at some point in the past.

>
> if a platform is on EASILY accessible and able to be EASILY worked with, then
> making this a requirement to pass a build/test on that platform is silly.
>
> developers have to be able to do incremental builds. not a "wait 10 mins for
> the next build cycle to happen then wait another 10 for the log to see if it
> worked this time". that's fine for reports. it's not fine for actual
> development.
>
> if this infra existed and worked well, THEN i think it might be sane to start
> adding "it has to pass a build test". then deciding on what platforms have to
> be supported is another step. this has to be pain-free or as close as possible
> to that.

Good luck to finding somehow setting this all up and keep it working. 
Definitely not me. :-)
If I look back how badly the idea of having a windows vm, a mac and a arm 
device hooked up to Jenkins turned out. I simply gave up on that part.

> not to mention... the test suites need to actually be reliable. i just found
> one of the ecore_file tests was grabbing a page from sf.net ... and now sf.net
> is refusing to servie it anymore thus test suites keep failing. tests that are
> fragile like this should not be some gatekeeper as to if code goes in or not.
>
> if a test suite is to be a gatekeeper it has to be done right. that means it
> has to work reliably on the build host. run very quickly. things like testing
> network fetches has to not rely on anything outside of that vm/box/chroot etc.
> etc. ... and we don't have that situation. this probably needs to be fixed
> first and foremost. not to mention just dealing with check and our tests to
> find what went wrong is a nightmare. finding the test that goes wrong in a sea
> of output ... is bad.
>
> so my take iis this: first work on the steps needed to get the final outcome.
> better test infra. easier to write tests. easier to run and find just the test
> that failed and run it by itself easily etc. it should be as simple as:
>
> make check
> ...
> FAIL: src/tests/some_test_binary
>
> and to test it i just copy & paste that binary/line and nothing more and i get
> exactly that one test that failed. i don't have to set env vars, read src code
> to find the test name and so on. ... it currently is not this simple by far. 
> ;(

Yes, our tests are not as reliable as they should be.
Yes, they would need to run in an controlled env.
Yes, we might need so look at alternatives to libcheck.

But even with me agreeing to the three things above the core question stays 
still open.

Is this developer community willing to accept a working test suite as a 
gatekeeper?
I don't think this is the case.

My personal motivation to work on QA and CI has gone down to zero over the 
years. It just feels like a Sisyphus task to look at master again
and again why it is broken now. Dig through the commits, bisect them, point 
fingers and constantly poke people top get it fixed. All long
after the problem have entered master.

I willing to admit that the approach I used to reach my goals might have been 
flawed and simply failed.
Someone else might want to pick up the slack on it.

regards
Stefan Schmidt




------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
_______________________________________________
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel

Reply via email to