Commit Graph

39 Commits

Author SHA1 Message Date
chris 8809fe1dd4 chore: fix ci deprcation (github pages) 2024-04-04 14:18:32 +02:00
oleibman c4b934a91d Update main.yml 2024-01-02 00:03:05 -08:00
oleibman b33d14e858 Update main.yml 2024-01-01 23:33:34 -08:00
oleibman 9de13cd975 Update main.yml 2024-01-01 23:10:20 -08:00
oleibman 4b655ea5a8 Php-cs-fixer Command Change
PR #3852 was a bit strange. Php-cs-fixer complained about a problem that I could not reproduce on my local system, and it didn't really produce sufficient output to correct whatever the problem was. I was able to guess it eventually, but I need to see if there's a way to get it to be more forthcoming.
2024-01-01 23:02:44 -08:00
Adrien Crivelli da0269da79 Merge branch 'master' into patch-1 2023-12-12 10:08:09 +01:00
Adrien Crivelli 026647e961 Allow merge queue 2023-12-12 09:45:05 +01:00
Serhii Petrov 5b2708207c Test against php 8.3 in not experimental mode 2023-11-13 09:57:40 +09:00
Adrien Crivelli 7712d5561b Check PHPDoc types of the PR's last commit 2023-09-13 10:06:58 +08:00
Adrien Crivelli bb6ae9ce7d Prevent adding PHPDoc types instead of native types
PHPDoc types can sometimes be entirely expressed as PHP native types. It
is better because it avoids code duplication and enables type runtime
check.

This will help us slowly migrate away from PHPDoc typing to PHP native typing.
2023-09-13 10:06:58 +08:00
Adrien Crivelli 27e9ed46af Latest phpDocumentor for PHP 8 compat 2023-09-06 22:58:14 +08:00
Adrien Crivelli f131ca30e6 Drop PHP 7.4 support
This is according to our formal, published, policy to only support
EOL PHP after 6 months.

See https://phpspreadsheet.readthedocs.io/en/latest/#php-version-support

Also share the exact same dev deps across all PHP version for GitHub
Actions so runs are faster, much most importantly they are stable and
predictable. And we decide manually when we want to migrate to PHPUnit
10.

Fixes #3634
Closes #3710
2023-09-06 22:51:47 +08:00
oleibman c8743061a3 PhpUnit 10 Compatibility Part 3 (Last) (#3530)
* PhpUnit 10 Compatibility Part 3 (Last)

Final changes for PhpUnit 10, including enabling it for testing. This finishes the work of PR #3523 and PR #3526.

The major remaining problem with PhpUnit 10 is that earlier releases converted notices and warnings to exceptions, and 10 does not. Not having the information provided by the messages seems risky to me. Fortunately, it appears that you can add an error handler to the test bootstrap for 10 and make it act like earlier versions; I have done so. In order to demonstrate the effectiveness of this handler, a new otherwise unused class Helper/Handler and tests for that class are added.

As part of the testing of this change, it became apparent that the fopen in OLE::getStream attempts to create a dynamic property $context in Shared/OLE/ChainedBlockStream, and that action is deprecated in Php8.2. Adding the property to the class eliminates that problem. No executable code is added, and this is the only change to source code.

There also seems to have been a change in assertXmlStringEqualsXmlString in PhpUnit 10. The only test which uses that method is Chart/Issue589Test, and both the places which use that method could just as easily and effectively use assertSame. They are changed to do so.

* Remove Phpunit Verbose Option

Not supported in PhpUnit 10. I'm not at all sure that this is the correct solution for this problem.

* Try Changing Phpunit Command for Different Php Releases

Not sure how to test this locally. We'll see if it works on github.

* Another main.yml attempt

We shall see.

* Eliminate One Test

Not sure why testDeprecated is not working in Github; it works locally. Disable it for now and continue to research.

* Show Incomplete and Other Messages in PhpUnit 10

6 new command line args to replace the 1 they got rid of.

* Restore Disabled Test

Deprecated messages are suppressed by default setting for error_reporting. Switch that to E_ALL in bootstrap and restore original test.

* Add Deprecation Tests for PhpUnit 9-

Default configuration option caused deprecation messages to be suppressed. Change the option.
2023-04-27 20:20:25 -07:00
oleibman 4b7aa20b24 Run phpcs, php-cs-fixer, phpstan, coverage, versions as Php8.1 (#3450)
* WIP Run phpcs, php-cs-fixer, phpstan, coverage, versions as Php8.1

They all run under Php7.4 in Github. 7.4 is EOL. We still have to run unit tests in 7.4, but I think it's time to move the tools. Note that we cannot currently run Phpstan in 8.2 because of https://github.com/phpstan/phpstan/issues/8629.

* Update main.yml

Try running coverage as 8.0 rather than 8.1.

* Update main.yml

Revert Coverage to Php 7.4.

* Composer Cache Directory

Command set-output is deprecated. Upgrading to using Environment files as suggested by Github messages.

* Coverage and Php8

Try to follow advice in https://github.com/scrutinizer-ci/ocular/issues/54

* Keep Trying

See https://github.com/phpowermove/docblock/pull/12/files
2023-03-13 18:13:57 -07:00
Adrien Crivelli 634f16cfb1 No more PHP 7.3 fake CI 2022-12-02 15:17:18 +01:00
Alex 83b24acdbd Merge branch 'master' into patch-1 2022-12-01 02:16:29 +02:00
MarkBaker 596a00bf69 This is going to be a real pain 2022-11-21 15:16:36 +01:00
MarkBaker 575a1efb2b Heaven only knows why the CI pipelines are complaining about a PHP 7.3 issue; all references to PHP 7.3 should have been removed from the workflows
Re-introducing 7.3 now, just to try and ensure that all checks pass, so that the 7.3 weirdness won't be a blocker for merging
2022-11-21 15:11:30 +01:00
Adrien Crivelli 8f40b9841a Update GitHub Actions 2022-11-17 14:35:42 +01:00
MarkBaker 2ee4542c75 Add PHP 8.2 to "must pass", and "nightly" to "allow fail" 2022-11-10 04:22:54 +01:00
MarkBaker 36c25b4427 Drop support for PHP 7.3 2022-11-09 22:55:31 +01:00
Alex 6ef22d92ee build: harden github-pages.yml permissions
Signed-off-by: Alex <aleksandrosansan@gmail.com>
2022-09-24 22:23:42 +02:00
Alex 05e1cf3907 build: harden main.yml permissions
Signed-off-by: Alex <aleksandrosansan@gmail.com>
2022-09-24 22:23:00 +02:00
MarkBaker 0a8c97cf8a Add PHP 8.2 with allow fail 2022-06-15 13:59:58 +02:00
Adrien Crivelli 858e073063 Drop PHP 7.2
This is according to our formal, published, policy to only support
eol PHP after 6 months.

See https://phpspreadsheet.readthedocs.io/en/latest/#php-version-support
2021-11-01 12:01:54 +09:00
Sergiy Petrov c333a2f094 Test against php 8.1 in not experimental mode
Co-authored-by: Adrien Crivelli <adrien.crivelli@gmail.com>
2021-10-27 21:13:11 +09:00
Adrien Crivelli e8ebf11707 Update phpDocumentor
This will include docs for `Spreadsheet` class which was incorrectly missing
2021-06-02 23:08:02 +09:00
MarkBaker e5bfc3c899 Add phpcs version compatibility check to pipeline 2021-05-10 22:55:32 +02:00
Adrien Crivelli a189d933f2 Introduce PHPStan
To improve the feedback loop on code quality with a process
that can be run locally by the developers, instead of only
on Scrutinizer.
2021-04-03 16:13:21 +09:00
Adrien Crivelli 924347c05a Update PHP deps
Simplify our constraints thanks to PHPUnit 8.5 that supports PHP 8+
2021-03-28 13:52:43 +09:00
Mark Baker 17f405cf62 Attempt to provide allow failure for PHP8.1 unit tests (#1847)
* Attempt to provide allow failure for PHP8.1 unit tests
  PHP8.1 Tests show as passed despite the errors, and it requires checking the actual output from the run to see what the rea result is; but I can live with that until github provides functionality for a proper allow_failure option
2021-02-12 14:18:39 +01:00
MarkBaker 8ab02883be Composer fixes 2021-01-29 17:40:51 +01:00
Mark Baker 8007872524 Add nightly PHP 8.1 dev to github actions (#1763) 2020-12-21 17:16:19 +01:00
Adrien Crivelli ba1ce8b8ec Automatic GitHub releases from git tags 2020-11-26 12:44:07 +09:00
Adrien Crivelli bd05c590e3 Drop Travis 2020-11-26 11:10:52 +09:00
Adrien Crivelli 7545c411f9 Test PHP 8 on GitHub Actions 2020-10-11 19:46:56 +09:00
Adrien Crivelli c3d1ce536b Publish API docs via GitHub Actions 2020-10-11 12:06:27 +09:00
Adrien Crivelli 794ac801a5 Annotate problems in code 2020-10-10 22:51:04 +09:00
Adrien Crivelli 44080a1e8b Introduce GitHub Actions
The plan is to keep Travis for a short while, until we are confident that
GitHub Actions work well enough for us. And after that we can remove Travis
entirely.

There is a bunch of duplicated things but it allows us to maximize
parallelismt to have results as soon as possible.

API documentation generation is still missing.
2020-10-10 21:03:14 +09:00