metarhia / Metarhia

Technology Stack for Highload Applications ⬢
https://metarhia.com
MIT License
61 stars 2 forks source link

Integration test of the whole Metarhia stack #5

Open aqrln opened 7 years ago

aqrln commented 7 years ago

We now have a running Jenkins instance, I'll create accounts for (I guess?) @metarhia/angeli (permissions are tbd, and I think we should "refactor" our teams a little bit too, create new teams for active collaborators of different projects for more convenient notifications etc., but that's a matter of a different discussion) once it is configured properly and there are useful jobs.

The great thing behind it is that we can script any testing scenarios we want, and, as one of the most interesting cases, test all the components together.

Some thoughts about it:

What we may really do: combined integration test of Metarhia stack: Impress + JSTP + Common + Metasync + Globalstorage. After test of all components together no need to test them separately.

(@tshemsedinov, https://github.com/metarhia/Common/issues/5#issuecomment-285975650)

I may argue with the point that we'll no longer need to test them separately, since it is a whole lot faster for single commits. IMO such an integration test has to be run before publishing a package (i.e., if we are about to release component A, then all components Ci ∈ Metarhia, Ci ≠ A are taken from NPM and A is taken from Git, and they are tested together). Though these details are tbd, the integration test won't change much either way.

(@aqrln, https://github.com/metarhia/Common/issues/5#issuecomment-285976427)

@belochub and all the others, what do other think about it?

I'd also want to include our mobile clients to the integration test. AFAIK, Android JSTP implementation is pure Java and there's no problem running it using Java SE on CI server (@lundibundi, correct me if I am wrong). @Gagnant, @GYFK, any ideas how we can test your Swift implementation? Can it be used in a CLI macOS application so that we can just setup a Jenkins agent on our Mac Mini in the office and write a simple test app to be compiled?

belochub commented 7 years ago

I guess the issue https://github.com/metarhia/JSTP/issues/50 should be linked here as well. Totally agree with everything you said.

lundibundi commented 7 years ago

@aqrln yeah, pure java with a few libs (maven deps). Also agree, such testing would be great.

aqrln commented 7 years ago

@lundibundi btw, as far as I see, you don't use neither Travis nor other CI service in your JSTP implementation. Java is natural for Jenkins and it supports integration with Gradle, JUnit and other Java-world tools out-of-the-box, so I think we should set it up for your project 😉

lundibundi commented 7 years ago

@aqrln yeah, that would be great, as for now i only use local tests. :grinning:

aqrln commented 7 years ago

@lundibundi will you be in the office today?

lundibundi commented 7 years ago

@aqrln most likely not, but i guess we can discuss this in telegram or hangouts.

GYFK commented 7 years ago

@aqrln surely, we can arrange that.