# Flow: Setup mariadb after restoring cache
To use the cache, it has to be restored first. The original
order of actions did not enable the reuse of the mariadb
executable from cache
* Qual: Adjust cache configuration for windows-ci
# Qual: Adjust cache configuration for windows-ci
actions/cache@v4 is flawed on windows, try suggestions from issue
discussion to fix it.
https://github.com/actions/cache/issues/1361
.
* Make cache key depend on install path directory
* Qual: Adjust cache configuration for windows-ci
# Qual: Adjust cache configuration for windows-ci
actions/cache@v4 is flawed on windows, try suggestions from issue
discussion to fix it.
https://github.com/actions/cache/issues/1361
.
* Make cache key depend on install path directory
* QUAL: Add sqlfluff (SQL code and style check)
# QUAL: Add sqlfluff (SQL code and style check)
This adds a validity and style check on the .sql files.
The same tool can be used to fix style (which can be set up as a
pre-commit hook).
* Ignore some sqlfluff notices
* Ignore RF04 notice, warning about the use of sql keywords
* Adjust dialects for some directories
# Qual: Bump logToCheckStyle for better filename handling
Some notifications from the PHPCS step in pre-commit extracted too many
characters for the filename in a specific case.
The update to logToCheckStyle fixes that.
# Qual: Always run phpcs in pre-commit workflow
Developers are prioritizing the Travis Run because the pre-commit workflow
only runs the phpcs checks if the other pre-commit checks did not fail.
This modifies the action so that the phpcs checks are also run if the
previous step failed.
That should help limit travis load and delays.
# Qual/Fix Win-CI Check that the PHPUNIT step really completed
The program under test can abruptly abort the PHPUNIT test case by calling
exit which results in no error code - it then appears as if the test was
successful.
This adds a grep on the last lines looking for the summary information from
phpunit.
If absent, the step fails
# Qual: Exclude some tests from windows-ci until fixed
Until #28598 and #28264 find some way to the develop branch, this update will
skip the tests that currently fail on windows so that the results of other
tests have an effect on the CI status and github annotations
* Fix phpstan workflow file
# Fix phpstan workflow file
Line was split in two, joined
* qual: set memory limit to 'unlimited' (-1)
* Remove some stubs to check impact
* Fix: Verify execution time limit
* Remove stub files to reuse cache
* Qual: Rename distribution phpstan.neon to phpstan.neon.dist
# Qual: Rename distribution phpstan.neon to phpstan.neon.dist
This allows the developer to override some settings locally
Also update the .gitignore file with phpstan.neon and some other other
ignores (cache, local log files, temporary edit files).
* Enable debug on phpstan
* Re-enable stubs
* Fix: Change parallel settings to defaults, remove buffer
'buffer' is not a documented parameter, removing it.
Removing some configuration settings as the defaults are higher and
should adapt better to the target machine
# Qual: Clean up caches when PR is closed
This will clean up caches when a PR is closed.
This requires that `actions:write` is enabled.
Co-authored-by: Laurent Destailleur <eldy@destailleur.fr>
* Qual: ci: Run pre-commit/php-cs with cache (#28079)
This adds a hook to .pre-commit-config.yaml and updates the workflow
to run php-cs with cache when it is run for all files.
When running on changed files only, the cache is not useful.
The php-codesniffer ruleset.xml was cleaned up (duplicates removal/formatted)
* Fix: Make all 'relative paths' absolute (#28196)
# Fix: Make all 'relative paths' absolute
The phpcs ruleset xml file's relative exclude patterns are relative to
the filename(s) provided on the command line.
Hence with partial verifications, the path exclusion does not function
as we would like.
Removing the relative-path attribute from the patterns the exclusion
works.
At the same time, the patterns were optimized and a comment was added.
* Qual: Optimize workflow (#28386)
# Qual: Optimize workflow
The log annotation based on the pre-commit logs is now simplified.
* Fix: Workaround for false security issue in tests
# Fix: Workaround for false security issue in tests
This is a quick workaround for the false security issues in tests
by setting the ['SELF'] variable to something that is
considered harmless
* Update windows-ci workflow
# Update windows-ci workflow
- Setup_conf.sh - Added caching feature;
- phpunit.bat - Example updated based on experience with php web server
- Provide dolibarr.log and phpunit output as artefacts.
- Convert PHPUNIT log to Github Annotations
- Setup php web server for API tests
- Enable caching sql initialisation
* Qual: Re-enable open_basedir restriction in tests
# Qual: Re-enable open_basedir restriction in tests
Using open_basedir restriction is closer to the production reality
and seemed to generate some issues on a windows development machine.
---------
Co-authored-by: Laurent Destailleur <eldy@destailleur.fr>
* Dev: Add setup scripts for phpunit/database
# Dev: Add setup scripts for phpunit/database
Some scripts that helped to setup some unit testing.
* NEW Add Windows ci workflow
# NEW Add Windows ci workflow
This adds a workflow to execute ci on a windows platform
* Disable open_basedir for now, to test effect
* Qual: Exclude documents directory from codespell
# Qual: Exclude documents directory from codespell
Documents directory may be present during development (unit tests).
Do not check spelling there
* Qual: Add codespell exceptions
# Qual: Add codespell exceptions
Add new exceptions to codespell (var identified as misspelling).
# Qual: Improve caching for phpstan
The phpstan step does not seem to always choose the best cache.
This configuration update adds the target branch to the restore
feature.
Maybe it is more selective and better.