diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml
index 579c8ae..363ac87 100644
--- a/.github/workflows/ci.yml
+++ b/.github/workflows/ci.yml
@@ -22,14 +22,14 @@ jobs:
runs-on: 'ubuntu-latest'
steps:
- name: Checkout repository
- uses: actions/checkout@v3
+ uses: actions/checkout@v7
- name: Setup PHP
uses: shivammathur/setup-php@v2
with:
- php-version: '8.3'
+ php-version: '8.5'
coverage: none
- name: Install dependencies
- uses: ramsey/composer-install@v2
+ uses: ramsey/composer-install@v4
- name: Run ParallelLint
run: composer parallel-lint -- --no-progress --ignore-fails
@@ -38,14 +38,14 @@ jobs:
runs-on: 'ubuntu-latest'
steps:
- name: Checkout repository
- uses: actions/checkout@v3
+ uses: actions/checkout@v7
- name: Setup PHP
uses: shivammathur/setup-php@v2
with:
- php-version: '8.3'
+ php-version: '8.5'
coverage: none
- name: Install dependencies
- uses: ramsey/composer-install@v2
+ uses: ramsey/composer-install@v4
- name: Run Psalm
run: composer psalm -- --show-info=false --no-progress --no-suggestions --no-cache
@@ -54,14 +54,14 @@ jobs:
runs-on: 'ubuntu-latest'
steps:
- name: Checkout repository
- uses: actions/checkout@v3
+ uses: actions/checkout@v7
- name: Setup PHP
uses: shivammathur/setup-php@v2
with:
- php-version: '8.3'
+ php-version: '8.5'
coverage: none
- name: Install dependencies
- uses: ramsey/composer-install@v2
+ uses: ramsey/composer-install@v4
- name: Run Rector
run: composer rector:diff -- --no-progress-bar --clear-cache
@@ -70,14 +70,14 @@ jobs:
runs-on: 'ubuntu-latest'
steps:
- name: Checkout repository
- uses: actions/checkout@v3
+ uses: actions/checkout@v7
- name: Setup PHP
uses: shivammathur/setup-php@v2
with:
- php-version: '8.3'
+ php-version: '8.5'
coverage: none
- name: Install dependencies
- uses: ramsey/composer-install@v2
+ uses: ramsey/composer-install@v4
- name: Run PHPCsFixer
run: composer php-cs-fixer:diff -- --no-interaction --using-cache=no
@@ -96,20 +96,22 @@ jobs:
- '8.1'
- '8.2'
- '8.3'
+ - '8.4'
+ - '8.5'
composer-dependency:
- 'lowest'
- 'highest'
steps:
- name: Checkout repository
- uses: actions/checkout@v3
+ uses: actions/checkout@v7
- name: Setup PHP
uses: shivammathur/setup-php@v2
with:
php-version: ${{ matrix.php-version }}
coverage: none
- name: Install dependencies
- uses: ramsey/composer-install@v2
+ uses: ramsey/composer-install@v4
with:
dependency-versions: ${{ matrix.composer-dependency }}
- name: Run PHPUnit
- run: composer phpunit -- --no-interaction --do-not-cache-result
+ run: composer --no-interaction phpunit -- --do-not-cache-result
diff --git a/.php-cs-fixer.dist.php b/.php-cs-fixer.dist.php
index 54072da..d4e712b 100644
--- a/.php-cs-fixer.dist.php
+++ b/.php-cs-fixer.dist.php
@@ -16,6 +16,8 @@
->setRules([
'@Symfony' => true,
'@Symfony:risky' => true,
+ 'declare_strict_types' => ['strategy' => 'enforce'],
+ 'phpdoc_align' => false,
])
->setFinder($finder)
;
diff --git a/Dockerfile b/Dockerfile
index 04cbff0..bd6f8d9 100644
--- a/Dockerfile
+++ b/Dockerfile
@@ -1,4 +1,4 @@
-FROM php:8.3-cli-trixie
+FROM php:8.5-cli-trixie
RUN set -eux ; \
apt-get update ; \
@@ -17,7 +17,7 @@ RUN set -eux ; \
pecl install pcov ; \
docker-php-ext-enable pcov ;
-COPY --from=composer/composer:2.9 /usr/bin/composer /usr/local/bin/composer
+COPY --from=composer/composer:2.10 /usr/bin/composer /usr/local/bin/composer
WORKDIR /usr/local/packages/tmpfile
diff --git a/Makefile b/Makefile
index 9c34245..6479ada 100644
--- a/Makefile
+++ b/Makefile
@@ -1,5 +1,5 @@
init:
- docker build -t tmpfile:php8.3-cli-trixie ./
+ docker build -t tmpfile:php8.5-cli-trixie ./
exec:
- docker run --name tmpfile --rm --interactive --tty --volume ${PWD}:/usr/local/packages/tmpfile/ tmpfile:php8.3-cli-trixie /bin/bash
+ docker run --name tmpfile --rm --interactive --tty --volume ${PWD}:/usr/local/packages/tmpfile/ tmpfile:php8.5-cli-trixie /bin/bash
diff --git a/composer.json b/composer.json
index 9e0a615..e98a359 100644
--- a/composer.json
+++ b/composer.json
@@ -24,13 +24,13 @@
"php": "^8.0"
},
"require-dev": {
- "friendsofphp/php-cs-fixer": "^3.91",
+ "friendsofphp/php-cs-fixer": "^3.95",
"php-parallel-lint/php-console-highlighter": "^1.0",
"php-parallel-lint/php-parallel-lint": "^1.4",
"phpunit/phpunit": "^9.6",
- "psalm/plugin-phpunit": "^0.18",
- "rector/rector": "^2.2",
- "vimeo/psalm": "^5.26"
+ "psalm/plugin-phpunit": "^0.19",
+ "rector/rector": "^2.6",
+ "vimeo/psalm": "^5.26 || ^6.18"
},
"suggest": {
"denisyukphp/tmpfile-manager": "Allows more advanced creating and removing temp files."
diff --git a/psalm-baseline.xml b/psalm-baseline.xml
index 47da514..9850412 100644
--- a/psalm-baseline.xml
+++ b/psalm-baseline.xml
@@ -1,2 +1,2 @@
-
+
diff --git a/src/TmpFile.php b/src/TmpFile.php
index 617f73b..9f0fcd3 100644
--- a/src/TmpFile.php
+++ b/src/TmpFile.php
@@ -11,12 +11,14 @@ final class TmpFile implements \Stringable, TmpFileInterface
public function __construct()
{
- $this->filename = tempnam(sys_get_temp_dir(), 'php');
+ $filename = tempnam(sys_get_temp_dir(), 'php');
- if (false === $this->filename) {
+ if (false === $filename || '' === $filename) {
throw new \RuntimeException('tempnam() couldn\'t create a temp file.'); // @codeCoverageIgnore
}
+ $this->filename = $filename;
+
$this->handler = static function (string $filename): void {
if (file_exists($filename)) {
unlink($filename);
@@ -26,11 +28,13 @@ public function __construct()
register_shutdown_function($this->handler, $this->filename);
}
+ #[\Override]
public function getFilename(): string
{
return $this->filename;
}
+ #[\Override]
public function __toString(): string
{
return $this->filename;