Skip to content

Conversation

klimesf
Copy link
Contributor

@klimesf klimesf commented Jan 11, 2015

Added new section about running tester with Travis CI.

This is just a draft, feedback needed.

After the draft is approved, I will translate the article in English and then squash all the commits.

ref nette/tester#189

********************************

/--div .[perex]
Znáte to. Napsali jste testy, které teď procházejí, poplácali se po zádech a váš spánek začal být mnohem klidnější. Máte jistotu, že váš kód spolehlivě funguje. A pak se to stane. Hodiny ukazují 3:15 a do nočního ticha se zakousne nepříjemný zvuk drnčení mobilu na nočním stolku. Volá šéf. Zase to nefunguje. Zalije vás studený pot. Vždyť na to máme testy! V tu chvíli se vynoří vzpomínka na páteční odpoledne - spěcháte domů a zapomínáte spustit testy po poslední úpravě.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pohádka hezká, ale do dokumentace IMHO nepatří (je moc dlouhá).

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Naopak!

@klimesf
Copy link
Contributor Author

klimesf commented Jan 11, 2015

@Majkl578 @JanTvrdik díky!

Spouštění testů
===============

Testy se spouštějí v sekci `script`, kde stačí zavolat tester. Předpokládejeme, že testy jsou umístěny ve složce `tests/` a používáte vlastní `php.ini` umístěné ve složce s testy. Pomocí `-s` si necháme vypsat i přeskočen testy.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

přeskočené + „vypsat testy“ nedává česky moc smysl. Lépe asi „ vypsat informace o přeskočených testech“

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Předpokládejme místo Předpokládejeme

@JanTvrdik
Copy link
Contributor

Wow, hodně dobře napsáno. Ještě mě napadlo – Nedáme to radši do dokumentace Testeru, než do dokumentace Nette? Tj. místo doc.nette.org/en/2.2/testing-with-travis prostě jenom tester.nette.org/en/travis?

@JanTvrdik
Copy link
Contributor

Ještě mi došlo, že tam úplně chybí zmínka o nastavení hooku GitHubu.

@klimesf
Copy link
Contributor Author

klimesf commented Jan 11, 2015

@JanTvrdik
Ad dev) Podle mě je to dobré spomenout pro jistotu, aby nedošlo k nějakým pomýlením. Nicméně není to nutné, protože se odkazuji na dokumentaci ke composeru.
Ad --no-interaction) Okay, a kvůli vysvětlení --prefer-source to tam můžu nechat?
Ad dokumentace Testeru) jsem pro
Ad GithubHook) to je už nastavení Travisu, které se při použití Testeru neliší, proto mi do dokumentace moc nesedělo. Klidně ho ale doplním.

@JanTvrdik
Copy link
Contributor

Ano, to vysvětlení --prefer-source tam dává smysl (sám jsem to třeba nevěděl). Co se GitHub hooku týče, tak už teď tam přece máš dost věcí, které nejsou nijak specifické pro Tester, např. celé kapitoly nastavení jazyka a instalace závislostí.

@klimesf
Copy link
Contributor Author

klimesf commented Jan 11, 2015

@JanTvrdik fair enough

@JanTvrdik
Copy link
Contributor

Ještě si říkám, jestli něco neudělat s tou děsně plochou strukturou odkazů, zatím mě napadlo akorát

Menu

env:
- TESTER_PHP_BIN="php"
- TESTER_PHP_BIN="hhvm"
\--
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Až teď mi došlo (opravte mě, cc @Majkl578, pokud se mýlím), že tohle rozdělení nedává vůbec smysl, protože když Travis testuje HHVM, tak hhvm binárky je simlinknutá i jako php. Aby tam byl nějaké rozdíl, tak by tam muselo být místo php php-cgi, které není při běhu HHVM dostupné.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Funguje to i pokud použiješ pouze php, ale jak jsem psal výše, nenapadla mě lepší možnost na čem demonstrovat env. Nicméně bych mohl zmínit, že to jde i jinak.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Tak ještě se dá env taky využít na to, že jednou nainstaluješ závislosti normálně a podruhé s --prefer-lowest. Nicméně pokud tam dáš místo TESTER_PHP_BIN="php" radši TESTER_PHP_BIN="php-cgi", tak by to mělo stačit.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Proč je php-cgi lepší možnost než php?
Mimochodem php-cgi na Travisu nefunguje ani pro PHP 5.3.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

  1. Protože tam pak bude rozdíl v tom, jestli používáš env nebo ne.
  2. Protože normálně ti webové aplikace taky neběží pod CLI. Není dobré, abys testoval přes jiné SAPI, než přes které aplikaci normálně provozuješ. Nebo tak něco, @dg bude vědět.
  3. Ano, je potřeba použít PHP 5.3.3.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Díky za osvětu :)
Zbytek opraven

@milo
Copy link
Member

milo commented Jan 11, 2015

@klimesf Paráda. Napíšu ještě pár návrhů.

Jak funguje Travis CI
=====================

Travis CI (dále jen Travis) je velmi populární nástroj pro automatizaci [průběžné integrace](http://cs.wikipedia.org/wiki/Průběžná_integrace). Je plně integrován do prostředí GitHubu.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Travis CI((Continuous Integration)) (dále jen Travis) je velmi populární služba pro... Je poskytována zdarma a nabízí automatizované spouštění testů po zápisu změny do repozitáře. Je plně integrován...

env: TESTER_PHP_BIN="php-cgi"
\--

Aby testování bylo označeno Travisem jako úspěšné, musí projít všechny dílčí testy. Pokud nechceme, aby výsledek některé z nich ovlivňovaly, můžeme to deklarovat v bloku `allow_failures`. V našem případě nám nebude vadit, pokud neprojdou testy na HHVM.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

..., musí testy projít ve všech prostředích.

@milo
Copy link
Member

milo commented Jan 11, 2015

@klimesf Ode mě vše. Nějak jsem se rozjel... jestli se Ti něco nepozdává, dej vědět. Šlo mi o to to trochu sjednotit s názvoslovím Travisu.

@klimesf
Copy link
Contributor Author

klimesf commented Jan 11, 2015

@milo Děkuju moc za feedback a korekturu. :) Text mi teď přijde jasnější.

Jestli už nikdo nebude mít připomínky, pomalu se pustím do překladu.

@JanTvrdik
Copy link
Contributor

Mám takový pocit, že tohle bude nejvymakanější stránka, co v dokumentaci máme 😄

@klimesf
Copy link
Contributor Author

klimesf commented Jan 11, 2015

@JanTvrdik Whoops, díky.

Matice testů
------------

Na základě předchozích údajů vytvořena testovací matice, tedy varianty prostředíve kterých budou testy spuštěny (v našem příkladě 10 variant). Nastavení matice je umožněno v bloku `matrix`.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Na základě předchozích údajů je vytvořena testovací matice...

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

prostředíve -> prostředí, ve

@klimesf
Copy link
Contributor Author

klimesf commented Jan 11, 2015

Feedback for EN version would be appreciated.

@klimesf
Copy link
Contributor Author

klimesf commented Jan 12, 2015

Interesting. I have discovered that you can do this:

env:
  - TESTER_PHP_BIN="php-cgi"
  - TESTER_PHP_BIN="hhvm"

matrix:
  allow_failures:
    - php: hhvm

  exclude:
    - env: TESTER_PHP_BIN="hhvm"

  include:
    - php: hhvm
      env: TESTER_PHP_BIN="hhvm"

It excludes all jobs with TESTER_PHP_BIN = 'hhvm' from existing matrix and then includes job with HHVM and TESTER_PHP_BIN = 'hhvm'. Notice that you need to have two rows in env. include will add the env setting for all other versions too.

Should I mention it in the documentation? Do you think it's better than excluding 5 ouf of 10 rows explicitly?
ping @JanTvrdik @Majkl578 @milo

EDIT: output can be seen here

@Majkl578
Copy link
Contributor

Not needed. See recent @dg's commits where he switched to php binary (which is aliased to HHVM eventually).

@klimesf
Copy link
Contributor Author

klimesf commented Jan 13, 2015

If you don't have any other objections, we are ready to merge.

@dg
Copy link
Member

dg commented Jan 13, 2015

Great work!

Can you squash it?

Travis CI((Continuous Integration)) (dále jen Travis) je velmi populární služba pro automatizaci [průběžné integrace](http://cs.wikipedia.org/wiki/Průběžná_integrace). Je poskytována zdarma((Pro soukromé repozitáře je zpoplatněna.)) a nabízí automatizované spouštění testů po zápisu změny do repozitáře. Je plně integrována do prostředí GitHubu.

Travis se konfiguruje souborem `.travis.yml` umístěným v kořenovém adresáři projektu. Obsahuje několik bloků, které si podrobněji popíšeme.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Ještě mě nepadá, že bych tam dodal, že většina z těch bloků je nepovinná, ať to nevypadá tak složitě.

@dg
Copy link
Member

dg commented Jan 13, 2015

Nebude to jednoznakové odsazování málo?

@klimesf
Copy link
Contributor Author

klimesf commented Jan 13, 2015

@dg kde přesně?

@dg
Copy link
Member

dg commented Jan 13, 2015

Sry, to mi dělal plugin do Chrome.

@klimesf
Copy link
Contributor Author

klimesf commented Jan 13, 2015

Btw, co s timhle?

Ještě mě napadlo – Nedáme to radši do dokumentace Testeru, než do dokumentace Nette? Tj. místo doc.nette.org/en/2.2/testing-with-travis prostě jenom tester.nette.org/en/travis?

@dg
Copy link
Member

dg commented Jan 13, 2015

Asi bych to, dokud se nepředělá struktura webu, nechal jako součást doc.nette.org.

dg added a commit that referenced this pull request Jan 13, 2015
Tester: added new section about running Tester with Travis CI
@dg dg merged commit 2e39620 into nette:doc-2.2 Jan 13, 2015
@klimesf
Copy link
Contributor Author

klimesf commented Jan 13, 2015

👍 díky moc všem zúčastněným!

@milo
Copy link
Member

milo commented Jan 13, 2015

@klimesf Díky!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

7 participants