70 Commits

Author SHA1 Message Date
dependabot[bot] 5d5f140f2f Bump actions/cache from 5 to 6
Bumps [actions/cache](https://github.com/actions/cache) from 5 to 6.
- [Release notes](https://github.com/actions/cache/releases)
- [Changelog](https://github.com/actions/cache/blob/main/RELEASES.md)
- [Commits](https://github.com/actions/cache/compare/v5...v6)

---
updated-dependencies:
- dependency-name: actions/cache
  dependency-version: '6'
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-06-24 11:05:27 +00:00
dependabot[bot] 46a6fc1670 Bump actions/checkout from 6 to 7
Bumps [actions/checkout](https://github.com/actions/checkout) from 6 to 7.
- [Release notes](https://github.com/actions/checkout/releases)
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)
- [Commits](https://github.com/actions/checkout/compare/v6...v7)

---
updated-dependencies:
- dependency-name: actions/checkout
  dependency-version: '7'
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-06-19 11:05:46 +00:00
oleibman bab9199ea1 Merge pull request #4903 from PHPOffice/dependabot/github_actions/peaceiris/actions-gh-pages-4
Bump peaceiris/actions-gh-pages from 3 to 4
2026-06-07 03:24:08 +00:00
dependabot[bot] d6baecae4d Bump peaceiris/actions-gh-pages from 3 to 4
Bumps [peaceiris/actions-gh-pages](https://github.com/peaceiris/actions-gh-pages) from 3 to 4.
- [Release notes](https://github.com/peaceiris/actions-gh-pages/releases)
- [Changelog](https://github.com/peaceiris/actions-gh-pages/blob/main/CHANGELOG.md)
- [Commits](https://github.com/peaceiris/actions-gh-pages/compare/v3...v4)

---
updated-dependencies:
- dependency-name: peaceiris/actions-gh-pages
  dependency-version: '4'
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-06-07 02:55:47 +00:00
dependabot[bot] e22244932b Bump actions/checkout from 4 to 6
Bumps [actions/checkout](https://github.com/actions/checkout) from 4 to 6.
- [Release notes](https://github.com/actions/checkout/releases)
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)
- [Commits](https://github.com/actions/checkout/compare/v4...v6)

---
updated-dependencies:
- dependency-name: actions/checkout
  dependency-version: '6'
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-06-07 02:55:44 +00:00
oleibman 3d86f3d13c Update Samples
... demonstrating how Excel sorts.
2026-05-31 01:15:04 -07:00
oleibman 21ec537a39 Actions/checkout@v6
Just keeping the software which we use on Github current.
2026-03-02 16:58:22 -08:00
oleibman 2bb1c9df3c Dependencies
A dependency checker found the following minor problems:
- `TIMEVALUE` uses the wrong case for `DateTime`.
- The `filter` extension is used but is not declared as a dependency.
- The `exif` extension is used but is not declared as a dependency.

Php tolerates the first, but the solution is so trivial that it might as well be applied.

You have to go out of your way to not include `filter` - is it almost always builtin. Nevertheless, it shouldn't hurt to explicitly declare it.

`exif` is used in only one place, and, if it's not available there, we fall back to `GD`, which *is* a dependency. Getting rid of the `exif` portion should be harmless.
2025-12-27 16:15:30 -08:00
oleibman 66422b11b4 Formal Support for Php8.5
Ran into a surprising hitch when Php8.5 failed unit tests despite nightly succeeding. Duplicated problem locally, and fixed it with a Phpunit upgrade. Hopefully that will work on Github as well.
2025-11-21 16:19:08 -08:00
oleibman c396f5f34e Use Coveralls Parameter Rather than Github's 2025-10-03 20:19:40 -07:00
oleibman be22081946 Account Better for Coveralls Failure 2025-10-03 18:16:05 -07:00
oleibman 8e9fe8b5f7 Tweak Coveralls
Coveralls recommends using an "official integration" of their product with Github. Also, allow the upload to fail without causing the whole coverage step to fail - there have been some recent problems which they are still working on. I may allow the step to fail once they are done with their changes.
2025-09-25 08:57:42 -07:00
oleibman 684c677937 Document NumberFormat Wizard Dependency on Intl Extension
Intl is only a "suggested" extension. A lot of the NumberFormat Wizard code depends on it. That's insufficient reason to make it required, but the suggestion text now mentions this dependency explicitly. Also clean up the Wizard documentation to reflect some changes since PhpSpreadsheet 1.28.
2025-09-17 23:04:31 -07:00
oleibman 9df8ceb5c0 Minor Improvements to Reader/Writer Coverage 2025-09-14 00:18:08 -07:00
oleibman 8f3477b673 WIP Remove Scrutinizer, Add Coveralls
Scrutinizer has been a source of problems for a long time. False positives, unavailability, not open source, irrelevant complexity flags.

I am a bit concerned because Scrutinizer sometimes seems to run even without a yaml file. We shall see.

I do still want coverage reports. Instead of uploading them to Scrutinizer, I will try Coveralls, which is used by PhpWord.
2025-08-24 19:34:29 -07:00
oleibman bc6c09c8da Remove Private Methods/Properties From Online Doc
Documenting public and protected methods is useful; I don't believe it is useful to document private methods. If people really need them, they can clone the project and run PhpDocumentor against it.

As long as I'm at it, we are several releases behind in PhpDocumentor. Use the latest (3.8.1 replacing 3.5.0). I have confirmed that this works locally on my machine. There's no real way to verify the change until the next PhpSpreadsheet release. Hope it works.
2025-07-30 17:02:06 -07:00
oleibman f1a61c4c6b Phpstan Tweaks
Phpstan level 10 reports an enormous number of errors. So does the excluded missingType.iterableValue. I do not plan to introduce either any time soon. But I will submit piecemeal changes from time to time. Changes will be mostly limited to phpdoc type declarations.
2025-04-06 18:14:59 -07:00
oleibman f90b6d6799 Setup Suddenly Needs apt-get update 2025-02-07 18:24:16 -08:00
oleibman 12b201b0a4 Keep Trying 2024-12-23 02:49:00 -08:00
oleibman eed339fb9c Try Default Locale Rather than English 2024-12-23 00:20:16 -08:00
oleibman f4c576b9d4 Add English Language Pack 2024-12-22 23:55:04 -08:00
oleibman ea9af88e49 Add Language Packs to Ubuntu Images 2024-12-22 23:45:07 -08:00
oleibman 15f6dd74cc Merge branch 'master' into sergiy-petrov-patch-4 2024-11-12 06:28:36 -08:00
oleibman 830baa14b2 Update "Contributing" Notes and One Github Action
Replace one deprecated action, and update "How to release".
2024-11-10 10:55:42 -08:00
Serhii Petrov 79d56b7ba0 Test against php 8.4 2024-10-02 18:06:24 +03:00
oleibman 5e248cf12d Better Workaround for Versions "Error"
PHPCompatibility (versions check) erroneously flags the use of $this in enumerations. They fixed it in their development branch in October 2022. But they haven't had a release since 2019!
2024-08-11 08:24:27 -07:00
oleibman 68713ecabb Run Tools Using Php8.3
Php8.1 is approaching EOL. Change our tools to run under 8.3 instead. I do not anticipate any difficulty for phpstan, php-cs-fixer, phpcs, phpdoc-types, versions, or coverage. PhpDocumetor needs to run with an updated phar, and I'm not sure whether it will be run until a release happens. No idea how Scrutinizer will handle the change; I'll just have to try it and see.
2024-06-03 07:42:28 -07:00
oleibman 6be8be8c1b Update Phpunit Command in main.yml 2024-06-01 17:50:22 -07:00
Adrien Crivelli 8968062e8d Drop PHP 8.0 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 consolidate documentation in a single place, not in the README,
because it's a pain to maintain almost-duplicated-but-not-really
documentation.
2024-05-11 14:09:30 +07:00
oleibman 35030fa66d Merge pull request #3973 from Chris53897/patch-2
chore: fix ci deprcation (github pages)
2024-04-15 00:36:53 +00:00
chris 8809fe1dd4 chore: fix ci deprcation (github pages) 2024-04-04 14:18:32 +02:00
chris 433b154764 chore: fix ci deprecations 2024-04-04 14:17:01 +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