# Qual: Optimize/explain workflows
phpstan checkout took about 1.5 minutes, while pre-commit only takes 10s.
So I removed the option to the checkout option which likely makes
the difference.
I removed the IMHO useless step of installing node - it may have been
useful during setting up the workflow, but not now.
I commented on the pre-commit workflow.
# Fix: Resolve gmstrftime by using dol_print_date with
gmstrftime is deprecated, use dol_print_date with parameter.
Also update related typing for static check tools.
The PHPStan steps run a long time for the latest runs and I suspect that
this may be because of a bad cache, possibly includeing:
```
Result cache was not saved because of non-ignorable exception: Syntax error, unexpected } on line 378
``` .
This change should only save the cache if the run was successful or if no cache
was loaded. The possibly preserves a cache that still reduces the run time.
For instance, the following got an empty cache, saved at 2024-01-19T21:28:22.18Z.
- https://github.com/Dolibarr/dolibarr/actions/runs/7589384926
That was an aborted run:
- https://github.com/Dolibarr/dolibarr/actions/runs/7589372703/job/20673878193
So I added `cancelled()` to avoid overwriting valid cache and phpstan cache
will only be written if the outcome was success or if the cache could not
be loaded before.
I also updated the version for the cache action.
htdocs/product/class/product.class.php 666 Property Product::$price_ttc (float) does not accept string.
htdocs/product/class/product.class.php 667 Property Product::$price (float) does not accept string.
htdocs/product/class/product.class.php 668 Property Product::$price_min_ttc (float) does not accept string.
htdocs/product/class/product.class.php 669 Property Product::$price_min (float) does not accept string.
htdocs/product/class/product.class.php 2404 Property Product::$price (float) does not accept string.
htdocs/product/class/product.class.php 2405 Property Product::$price_ttc (float) does not accept string.
htdocs/product/class/product.class.php 2863 Property Product::$price_ttc (float) does not accept string.
htdocs/product/card.php 578 Property CommonObject::$barcode_type (int) does not accept array|string.
htdocs/product/card.php 820 Property CommonObject::$barcode_type (int) does not accept array|string.
htdocs/loan/card.php 135 Property Loan::$fk_bank (int) does not accept array|string.
htdocs/loan/card.php 143 Property Loan::$fk_project (int) does not accept array|string.
htdocs/fourn/facture/card-rec.php 197 Property FactureFournisseurRec::$fk_project (int) does not accept array|string.
htdocs/fourn/facture/card-rec.php 389 Property CommonObjectLine::$id (int) does not accept array|string.