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

Developer tools #26

Merged
merged 2 commits into from
Apr 29, 2023
Merged

Developer tools #26

merged 2 commits into from
Apr 29, 2023

Conversation

MartinMystikJonas
Copy link
Contributor

No description provided.

@MartinMystikJonas MartinMystikJonas mentioned this pull request Apr 27, 2023
6 tasks
.github/workflows/check.yml Outdated Show resolved Hide resolved
phpstan.neon Show resolved Hide resolved
@pionl pionl marked this pull request as ready for review April 28, 2023 09:50
@pionl
Copy link
Owner

pionl commented Apr 28, 2023

Rád bych povolil actions ale nějak mě to nechce vyskočit (dle dokumentace)

@pionl
Copy link
Owner

pionl commented Apr 28, 2023

je tam potřeba přidat že je to možné to rozběhnout na forku, mělo by to být toto? pull_request_target ?

nebo

pull_request:

?

@pionl
Copy link
Owner

pionl commented Apr 28, 2023

Upravil jsem ten reusable workflow aby uměl vlastní matrix. Syntaxi jsem našel v docs, měla by vypadat takto

strategy:
      matrix:
        php-version: ["7.4", "8.0", "8.1", "8.2"]
    uses: wrk-flow/reusable-workflows/.github/workflows/php-check.yml@main
    with:
      phpVersion: ${{ matrix.php-version }}

Ještě mě napadlo jestli nelocknout work-flow dle commitu.

.github/workflows/check.yml Outdated Show resolved Hide resolved
@pionl
Copy link
Owner

pionl commented Apr 28, 2023

Vyladil jsem to na jiném repu, toto by mohlo fungovat dobře. Rozdělil jsem testy oproti static analysis. Poběží to i na pull requestech.

Myslím, že ecs / rector / phpstan asi nechceme, aby běželi na všech php verzích kde to testujeme. phpVersion flag je možný poslat.

Co myslíš?

@MartinMystikJonas
Copy link
Contributor Author

ECS, rector, PHPStan mají smysl jen na nejvyšší verzi. Na všech verzích bych pouštěl jen testy

@MartinMystikJonas MartinMystikJonas force-pushed the dx branch 3 times, most recently from 274a47f to 3b06966 Compare April 28, 2023 11:46
@MartinMystikJonas
Copy link
Contributor Author

Nahodil sme novou verzi s úpravami

@pionl
Copy link
Owner

pionl commented Apr 28, 2023

Hmm, ještě jsem nezkoušel github actions na pull requestech od jiných a očividně ani to pull_request nefunguje, tak asi to musí být pull_request_target. Nemáš s tím zkušenost?

Snímek obrazovky 2023-04-28 v 14 32 57

@MartinMystikJonas
Copy link
Contributor Author

koukal sme na pár dalších projektů a pull_request by mělo stačit. Zkusil sme to teď ještě opravit podle toho co máme v phpstan-latte, kde předáváme ještě parametr null.

Jinak to bude spíš asi o nastavení repository

@MartinMystikJonas
Copy link
Contributor Author

Zkus zkouknout jestli je to povolené u https://github.com/pionl/smart-emailing-v3/settsing/actions

@MartinMystikJonas
Copy link
Contributor Author

Případně je otázka jestli si to nepamatuje stav, kdy byl PR vytvořený. Zkusil sem ho poslat znovu

@MartinMystikJonas
Copy link
Contributor Author

No a nebo je možnost, že to záleží na configu v masteru - což by dávalo smysl, protože jinak by PR mohlo obejít omezení co nastavil maintainer.

@pionl
Copy link
Owner

pionl commented Apr 28, 2023

Je to povolené. Mám pocit, že to opravdu bude tím masterm. Hodil jsem tam action. Zkus prosím rebase.

Snímek obrazovky 2023-04-28 v 15 21 22

@MartinMystikJonas
Copy link
Contributor Author

Jo už to čeká na approval

@pionl
Copy link
Owner

pionl commented Apr 28, 2023

se tam našel pěkný bug na lowest dependency Error: Class "GuzzleHttp\Psr7\Utils" not found

@MartinMystikJonas
Copy link
Contributor Author

No Guzzle 6 už asi nemá cenu podporvat a řešit kompatibilitu se 7. Dám tam jako minimum 7.

@pionl
Copy link
Owner

pionl commented Apr 28, 2023

Případně předělat na PSR interface ale to už by bylo si myslím zbytečně moc "předělávání".

@MartinMystikJonas
Copy link
Contributor Author

Opravil sem PHPStan chyby a projel to coding standardem, rectorem. Mělo by to být raedy na merge pokud projde workflow.

Pak se teda asi pustím do tech změn struktury.

Všiml sem si ještě jendé věci - dost často se tam přepisuje metoda jen proto, aby se změnil typ parametr/návratové hodnoty - asi bych to přepsal na generiky

Copy link
Owner

@pionl pionl left a comment

Choose a reason for hiding this comment

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

super!

*
* @return static
*/
public static function fromJSON($json)
{
$item = new static();
$item = new static(); /** @phpstan-ignore-line */
Copy link
Owner

Choose a reason for hiding this comment

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

nedáme __construct v modelu jako final a tím pádem to bude správně?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

To bysme mohli

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Tak nemohli. Některé Modely redefinují konstruktor.

Copy link
Owner

Choose a reason for hiding this comment

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

Tak to pak ta funjkce nemůže fungovat správně. Kouknul jsem užití a nikdy fromJson se nepřebijí.

Co udělat toto:

  • tam kde se funkce fromJson používá tak udělat novou do které dáme: final construct + fromJson.
  • ta bude extendovat Model
  • bude se jmenovat třeba jako FromJsonModel
  • tak kde funkce byla použita tak použijeme místo třídy Model použijeme FromJsonModel

Hm? :)

src/Request/Credentials/Response.php Show resolved Hide resolved
src/Request/CustomFields/Create/Request.php Outdated Show resolved Hide resolved
src/Request/CustomFields/CustomField.php Outdated Show resolved Hide resolved
@MartinMystikJonas
Copy link
Contributor Author

Tak opraveno. Muzes to mergnout

@pionl pionl merged commit 8158d25 into pionl:master Apr 29, 2023
@pionl
Copy link
Owner

pionl commented Apr 29, 2023

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.

2 participants