From efd01a95a80fdeb49174c307a13f0b5209b25724 Mon Sep 17 00:00:00 2001 From: Tim Chandler Date: Fri, 1 Dec 2023 19:28:50 +1100 Subject: [PATCH] Added support for PHP 8.3 --- .github/workflows/run-tests.yml | 1110 +++++++++++------------ CHANGELOG.md | 7 + README.md | 2 +- composer.json | 2 +- phpunit.github-actions.up-to-9.xml.dist | 32 + phpunit.github-actions.xml.dist | 48 + phpunit.up-to-9.xml.dist | 24 - phpunit.xml.dist | 31 +- 8 files changed, 674 insertions(+), 582 deletions(-) create mode 100644 phpunit.github-actions.up-to-9.xml.dist create mode 100644 phpunit.github-actions.xml.dist delete mode 100644 phpunit.up-to-9.xml.dist diff --git a/.github/workflows/run-tests.yml b/.github/workflows/run-tests.yml index 2539cf2..522cff4 100644 --- a/.github/workflows/run-tests.yml +++ b/.github/workflows/run-tests.yml @@ -2,612 +2,612 @@ name: run-tests on: push: +# branches: [ "master" ] + pull_request: +# branches: [ "master" ] schedule: - cron: "0 0 * * 0" -jobs: - vlucas-phpdotenv-php82: - - name: PHP ${{ matrix.php }} - vlucas/phpdotenv ${{ matrix.vlucas-phpdotenv }} - ${{ matrix.os }} - ${{ matrix.dependency-prefer }} - runs-on: ${{ matrix.os }} - strategy: - fail-fast: true - matrix: - os: [ubuntu-latest, macos-latest, windows-latest] - php: [8.2] - phpunit: [^9.3] - vlucas-phpdotenv: [^5.0, ^4.1.5, ^3.6.4, ^2.0, ^1.0] - dependency-prefer: [prefer-stable, prefer-lowest] - exclude: - - os: macos-latest - vlucas-phpdotenv: ^5.0 - dependency-prefer: prefer-lowest # generates error "Fatal error: During inheritance of IteratorAggregate: Uncaught Return type of PhpOption\Some::getIterator() should either be compatible with IteratorAggregate::getIterator(): Traversable, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice" - - os: macos-latest - vlucas-phpdotenv: ^4.1.5 - dependency-prefer: prefer-lowest # generates error "Fatal error: During inheritance of ArrayAccess: Uncaught Return type of Dotenv\Repository\AbstractRepository::offsetExists($offset) should either be compatible with ArrayAccess::offsetExists(mixed $offset): bool, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice" - - os: macos-latest - vlucas-phpdotenv: ^3.6.4 - dependency-prefer: prefer-lowest # generates error "Fatal error: During inheritance of ArrayAccess: Uncaught Return type of Dotenv\Environment\AbstractVariables::offsetExists($offset) should either be compatible with ArrayAccess::offsetExists(mixed $offset): bool, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice" - - os: macos-latest - vlucas-phpdotenv: ^2.0 - dependency-prefer: prefer-lowest # generates error "auto_detect_line_endings is deprecated" - - steps: - - name: Checkout code - uses: actions/checkout@v2 +permissions: + contents: read - - name: Setup PHP - uses: shivammathur/setup-php@v2 - with: - php-version: ${{ matrix.php }} - extensions: fileinfo, mbstring - coverage: none +jobs: -# # find out composer's cache directory on the current os - for the "Cache dependencies (composer)" step below -# - name: Determine composer's cache directory -# id: composer-cache -# run: | -# echo "::set-output name=dir::$(composer config cache-files-dir)" +# vlucas-phpdotenv-php83-82-81-80: +# +# name: "PHP${{ matrix.php }} vlucas/phpdotenv ${{ matrix.vlucas-phpdotenv }} ${{ matrix.os-title }} ${{ matrix.dependency-prefer-title }}" +# runs-on: "${{ matrix.os }}" +# strategy: +# fail-fast: false +# matrix: +# os: [ "ubuntu-latest", "macos-latest", "windows-latest" ] +# php: [ "8.3", "8.2", "8.1", "8.0" ] +# vlucas-phpdotenv: [ "^5.0", "^4.1.5", "^3.6.4", "^2.0", "^1.0" ] +# dependency-prefer: [ "prefer-stable", "prefer-lowest" ] +# include: +# - php: "8.3" +# phpunit: "^10.1.0" +# phpunit-config-file: "phpunit.github-actions.xml.dist" +# - php: "8.2" +# phpunit: "^10.1.0" +# phpunit-config-file: "phpunit.github-actions.xml.dist" +# - php: "8.2" +# phpunit: "^10.1.0" +# phpunit-config-file: "phpunit.github-actions.xml.dist" +# - php: "8.1" +# phpunit: "^10.1.0" +# phpunit-config-file: "phpunit.github-actions.xml.dist" +# - php: "8.0" +# phpunit: "^9.3" +# phpunit-config-file: "phpunit.github-actions.up-to-9.xml.dist" +# - os: "ubuntu-latest" +# os-title: "ubuntu" +# - os: "macos-latest" +# os-title: "macos" +# - os: "windows-latest" +# os-title: "win" +# - dependency-prefer: "prefer-stable" +# dependency-prefer-title: "stable" +# - dependency-prefer: "prefer-lowest" +# dependency-prefer-title: "lowest" +# +# steps: +# +# - name: "Checkout code" +# uses: "actions/checkout@v4" # -# - name: Cache dependencies (composer) -# uses: actions/cache@v2 +# - name: "Validate composer.json and composer.lock" +# run: "composer validate --strict" +# +# - name: "Setup PHP" +# uses: "shivammathur/setup-php@v2" # with: -# path: ${{ steps.composer-cache.outputs.dir }} -# key: php-${{ matrix.php }}-vlucas-phpdotenv-${{ matrix.vlucas-phpdotenv }}-os-${{ matrix.os }}-dependency-prefer-${{ matrix.dependency-prefer }}-composer-${{ hashFiles('composer.json') }} - - - name: Install dependencies (composer) - run: | - composer require "vlucas/phpdotenv:${{ matrix.vlucas-phpdotenv }}" --no-interaction --no-update - composer require "phpunit/phpunit:${{ matrix.phpunit }}" --dev --no-interaction --no-update - composer update --${{ matrix.dependency-prefer }} --prefer-dist --no-interaction - - - name: Execute tests - run: vendor/bin/phpunit - - vlucas-phpdotenv-php81: - - name: PHP ${{ matrix.php }} - vlucas/phpdotenv ${{ matrix.vlucas-phpdotenv }} - ${{ matrix.os }} - ${{ matrix.dependency-prefer }} - runs-on: ${{ matrix.os }} - strategy: - fail-fast: true - matrix: - os: [ubuntu-latest, macos-latest, windows-latest] - php: [8.1] - phpunit: [^9.3] - vlucas-phpdotenv: [^5.0, ^4.1.5, ^3.6.4, ^2.0, ^1.0] - dependency-prefer: [prefer-stable, prefer-lowest] - exclude: - - os: macos-latest - vlucas-phpdotenv: ^5.0 - dependency-prefer: prefer-lowest # generates error "Fatal error: During inheritance of IteratorAggregate: Uncaught Return type of PhpOption\Some::getIterator() should either be compatible with IteratorAggregate::getIterator(): Traversable, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice" - - os: macos-latest - vlucas-phpdotenv: ^4.1.5 - dependency-prefer: prefer-lowest # generates error "Fatal error: During inheritance of ArrayAccess: Uncaught Return type of Dotenv\Repository\AbstractRepository::offsetExists($offset) should either be compatible with ArrayAccess::offsetExists(mixed $offset): bool, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice" - - os: macos-latest - vlucas-phpdotenv: ^3.6.4 - dependency-prefer: prefer-lowest # generates error "Fatal error: During inheritance of ArrayAccess: Uncaught Return type of Dotenv\Environment\AbstractVariables::offsetExists($offset) should either be compatible with ArrayAccess::offsetExists(mixed $offset): bool, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice" - - os: macos-latest - vlucas-phpdotenv: ^2.0 - dependency-prefer: prefer-lowest # generates error "auto_detect_line_endings is deprecated" - - steps: - - name: Checkout code - uses: actions/checkout@v2 - - - name: Setup PHP - uses: shivammathur/setup-php@v2 - with: - php-version: ${{ matrix.php }} - extensions: fileinfo, mbstring - coverage: none - -# # find out composer's cache directory on the current os - for the "Cache dependencies (composer)" step below -# - name: Determine composer's cache directory -# id: composer-cache +# php-version: "${{ matrix.php }}" +# extensions: fileinfo, mbstring +# ini-values: error_reporting=E_ALL +# coverage: none +# env: +# COMPOSER_TOKEN: "${{ secrets.GITHUB_TOKEN }}" +# +# # find composer's cache directory - so we know which directory to cache in the next step +# - name: "Find composer's cache directory" +# id: "composer-cache" +# shell: bash # make sure this step works on Windows - see https://github.com/actions/runner/issues/2224#issuecomment-1289533957 # run: | -# echo "::set-output name=dir::$(composer config cache-files-dir)" +# echo "composer_cache_dir=$(composer config cache-files-dir)">> "$GITHUB_OUTPUT" # -# - name: Cache dependencies (composer) -# uses: actions/cache@v2 +# - name: "Cache composer's cache directory" +# uses: "actions/cache@v3" # with: -# path: ${{ steps.composer-cache.outputs.dir }} -# key: php-${{ matrix.php }}-vlucas-phpdotenv-${{ matrix.vlucas-phpdotenv }}-os-${{ matrix.os }}-dependency-prefer-${{ matrix.dependency-prefer }}-composer-${{ hashFiles('composer.json') }} - - - name: Install dependencies (composer) - run: | - composer require "vlucas/phpdotenv:${{ matrix.vlucas-phpdotenv }}" --no-interaction --no-update - composer require "phpunit/phpunit:${{ matrix.phpunit }}" --dev --no-interaction --no-update - composer update --${{ matrix.dependency-prefer }} --prefer-dist --no-interaction - - - name: Execute tests - run: vendor/bin/phpunit - - vlucas-phpdotenv-php80: - - name: PHP ${{ matrix.php }} - vlucas/phpdotenv ${{ matrix.vlucas-phpdotenv }} - ${{ matrix.os }} - ${{ matrix.dependency-prefer }} - runs-on: ${{ matrix.os }} - strategy: - fail-fast: true - matrix: - os: [ubuntu-latest, macos-latest, windows-latest] - php: ["8.0"] - phpunit: [^9.3] - vlucas-phpdotenv: [^5.0, ^4.1.5, ^3.6.4, ^2.0, ^1.0] - dependency-prefer: [prefer-stable, prefer-lowest] - - steps: - - name: Checkout code - uses: actions/checkout@v2 - - - name: Setup PHP - uses: shivammathur/setup-php@v2 - with: - php-version: ${{ matrix.php }} - extensions: fileinfo, mbstring - coverage: none - -# # find out composer's cache directory on the current os - for the "Cache dependencies (composer)" step below -# - name: Determine composer's cache directory -# id: composer-cache -# run: | -# echo "::set-output name=dir::$(composer config cache-files-dir)" +# path: "${{ steps.composer-cache.outputs.composer_cache_dir }}" +# key: "[${{ matrix.os }}][php-${{ matrix.php }}][vlucas/phpdotenv-${{ matrix.vlucas-phpdotenv }}][${{ matrix.dependency-prefer }}][composer.json-${{ hashFiles('composer.json') }}]" # -# - name: Cache dependencies (composer) -# uses: actions/cache@v2 +# - name: "Install dependencies" +# uses: "nick-fields/retry@v2" # with: -# path: ${{ steps.composer-cache.outputs.dir }} -# key: php-${{ matrix.php }}-vlucas-phpdotenv-${{ matrix.vlucas-phpdotenv }}-os-${{ matrix.os }}-dependency-prefer-${{ matrix.dependency-prefer }}-composer-${{ hashFiles('composer.json') }} - - - name: Install dependencies (composer) - run: | - composer require "vlucas/phpdotenv:${{ matrix.vlucas-phpdotenv }}" --no-interaction --no-update - composer require "phpunit/phpunit:${{ matrix.phpunit }}" --dev --no-interaction --no-update - composer update --${{ matrix.dependency-prefer }} --prefer-dist --no-interaction - - - name: Execute tests - run: vendor/bin/phpunit - - vlucas-phpdotenv-php74: - - name: PHP ${{ matrix.php }} - vlucas/phpdotenv ${{ matrix.vlucas-phpdotenv }} - ${{ matrix.os }} - ${{ matrix.dependency-prefer }} - runs-on: ${{ matrix.os }} - strategy: - fail-fast: true - matrix: - os: [ubuntu-latest, macos-latest, windows-latest] - php: [7.4] - phpunit: [^9.0] - vlucas-phpdotenv: [^5.0, ^4.0, ^3.0, ^2.0, ^1.0] - dependency-prefer: [prefer-stable, prefer-lowest] - - steps: - - name: Checkout code - uses: actions/checkout@v2 - - - name: Setup PHP - uses: shivammathur/setup-php@v2 - with: - php-version: ${{ matrix.php }} - extensions: fileinfo, mbstring - coverage: none - -# # find out composer's cache directory on the current os - for the "Cache dependencies (composer)" step below -# - name: Determine composer's cache directory -# id: composer-cache -# run: | -# echo "::set-output name=dir::$(composer config cache-files-dir)" +# timeout_minutes: 5 +# max_attempts: 5 +# command: | +# composer remove "infection/infection" --dev --no-interaction --no-update +# composer remove "phpstan/phpstan" --dev --no-interaction --no-update +# composer remove "squizlabs/php_codesniffer" --dev --no-interaction --no-update +# composer require "phpunit/phpunit:${{ matrix.phpunit }}" --dev --no-interaction --no-update +# composer require "vlucas/phpdotenv:${{ matrix.vlucas-phpdotenv }}" --dev --no-interaction --no-update +# composer update --${{ matrix.dependency-prefer }} --prefer-dist --no-interaction --optimize-autoloader --no-progress +# +# - name: "Execute tests" +# run: vendor/bin/phpunit "--configuration=${{ matrix.phpunit-config-file }}" --no-coverage --stop-on-error --stop-on-failure +# # -# - name: Cache dependencies (composer) -# uses: actions/cache@v2 +# +# vlucas-phpdotenv-php74-73-72-71-70: +# +# name: "PHP${{ matrix.php }} vlucas/phpdotenv ${{ matrix.vlucas-phpdotenv }} ${{ matrix.os-title }} ${{ matrix.dependency-prefer-title }}" +# runs-on: "${{ matrix.os }}" +# strategy: +# fail-fast: false +# matrix: +# os: [ "ubuntu-latest", "macos-latest", "windows-latest" ] +# php: [ "7.4", "7.3", "7.2", "7.1", "7.0" ] +# vlucas-phpdotenv: [ "^5.0", "^4.1.5", "^3.6.4", "^2.0", "^1.0" ] +# dependency-prefer: [ "prefer-stable", "prefer-lowest" ] +# include: +# - php: "7.4" +# phpunit: "^9.3" +# phpunit-config-file: "phpunit.github-actions.up-to-9.xml.dist" +# - php: "7.3" +# phpunit: "^9.3" +# phpunit-config-file: "phpunit.github-actions.up-to-9.xml.dist" +# - php: "7.2" +# phpunit: "^8.0" +# phpunit-config-file: "phpunit.github-actions.up-to-9.xml.dist" +# - php: "7.1" +# phpunit: "^7.0" +# phpunit-config-file: "phpunit.github-actions.up-to-9.xml.dist" +# - php: "7.0" +# phpunit: "^6.0" +# phpunit-config-file: "phpunit.github-actions.up-to-9.xml.dist" +# - os: "ubuntu-latest" +# os-title: "ubuntu" +# - os: "macos-latest" +# os-title: "macos" +# - os: "windows-latest" +# os-title: "win" +# - dependency-prefer: "prefer-stable" +# dependency-prefer-title: "stable" +# - dependency-prefer: "prefer-lowest" +# dependency-prefer-title: "lowest" +# exclude: +# - php: "7.0" +# vlucas-phpdotenv: "^5.0" +# +# steps: +# +# - name: "Checkout code" +# uses: "actions/checkout@v4" +# +# - name: "Validate composer.json and composer.lock" +# run: "composer validate --strict" +# +# - name: "Setup PHP" +# uses: "shivammathur/setup-php@v2" # with: -# path: ${{ steps.composer-cache.outputs.dir }} -# key: php-${{ matrix.php }}-vlucas-phpdotenv-${{ matrix.vlucas-phpdotenv }}-os-${{ matrix.os }}-dependency-prefer-${{ matrix.dependency-prefer }}-composer-${{ hashFiles('composer.json') }} - - - name: Install dependencies (composer) - run: | - composer require "vlucas/phpdotenv:${{ matrix.vlucas-phpdotenv }}" --no-interaction --no-update - composer require "phpunit/phpunit:${{ matrix.phpunit }}" --dev --no-interaction --no-update - composer update --${{ matrix.dependency-prefer }} --prefer-dist --no-interaction - - - name: Execute tests - run: vendor/bin/phpunit - - vlucas-phpdotenv-php73: - - name: PHP ${{ matrix.php }} - vlucas/phpdotenv ${{ matrix.vlucas-phpdotenv }} - ${{ matrix.os }} - ${{ matrix.dependency-prefer }} - runs-on: ${{ matrix.os }} - strategy: - fail-fast: true - matrix: - os: [ubuntu-latest, macos-latest, windows-latest] - php: [7.3] - phpunit: [^9.0] - vlucas-phpdotenv: [^5.0, ^4.0, ^3.0, ^2.0, ^1.0] - dependency-prefer: [prefer-stable, prefer-lowest] - - steps: - - name: Checkout code - uses: actions/checkout@v2 - - - name: Setup PHP - uses: shivammathur/setup-php@v2 - with: - php-version: ${{ matrix.php }} - extensions: fileinfo, mbstring - coverage: none - -# # find out composer's cache directory on the current os - for the "Cache dependencies (composer)" step below -# - name: Determine composer's cache directory -# id: composer-cache +# php-version: "${{ matrix.php }}" +# extensions: fileinfo, mbstring +# ini-values: error_reporting=E_ALL +# coverage: none +# env: +# COMPOSER_TOKEN: "${{ secrets.GITHUB_TOKEN }}" +# +# # find composer's cache directory - so we know which directory to cache in the next step +# - name: "Find composer's cache directory" +# id: "composer-cache" +# shell: bash # make sure this step works on Windows - see https://github.com/actions/runner/issues/2224#issuecomment-1289533957 # run: | -# echo "::set-output name=dir::$(composer config cache-files-dir)" +# echo "composer_cache_dir=$(composer config cache-files-dir)">> "$GITHUB_OUTPUT" # -# - name: Cache dependencies (composer) -# uses: actions/cache@v2 +# - name: "Cache composer's cache directory" +# uses: "actions/cache@v3" # with: -# path: ${{ steps.composer-cache.outputs.dir }} -# key: php-${{ matrix.php }}-vlucas-phpdotenv-${{ matrix.vlucas-phpdotenv }}-os-${{ matrix.os }}-dependency-prefer-${{ matrix.dependency-prefer }}-composer-${{ hashFiles('composer.json') }} - - - name: Install dependencies (composer) - run: | - composer require "vlucas/phpdotenv:${{ matrix.vlucas-phpdotenv }}" --no-interaction --no-update - composer require "phpunit/phpunit:${{ matrix.phpunit }}" --dev --no-interaction --no-update - composer update --${{ matrix.dependency-prefer }} --prefer-dist --no-interaction - - - name: Execute tests - run: vendor/bin/phpunit - - vlucas-phpdotenv-php72: - - name: PHP ${{ matrix.php }} - vlucas/phpdotenv ${{ matrix.vlucas-phpdotenv }} - ${{ matrix.os }} - ${{ matrix.dependency-prefer }} - runs-on: ${{ matrix.os }} - strategy: - fail-fast: true - matrix: - os: [ubuntu-latest, macos-latest, windows-latest] - php: [7.2] - phpunit: [^8.0] - vlucas-phpdotenv: [^5.0, ^4.0, ^3.0, ^2.0, ^1.0] - dependency-prefer: [prefer-stable, prefer-lowest] - - steps: - - name: Checkout code - uses: actions/checkout@v2 - - - name: Setup PHP - uses: shivammathur/setup-php@v2 - with: - php-version: ${{ matrix.php }} - extensions: fileinfo, mbstring - coverage: none - -# # find out composer's cache directory on the current os - for the "Cache dependencies (composer)" step below -# - name: Determine composer's cache directory -# id: composer-cache -# run: | -# echo "::set-output name=dir::$(composer config cache-files-dir)" +# path: "${{ steps.composer-cache.outputs.composer_cache_dir }}" +# key: "[${{ matrix.os }}][php-${{ matrix.php }}][vlucas/phpdotenv-${{ matrix.vlucas-phpdotenv }}][${{ matrix.dependency-prefer }}][composer.json-${{ hashFiles('composer.json') }}]" # -# - name: Cache dependencies (composer) -# uses: actions/cache@v2 +# - name: "Install dependencies" +# uses: "nick-fields/retry@v2" # with: -# path: ${{ steps.composer-cache.outputs.dir }} -# key: php-${{ matrix.php }}-vlucas-phpdotenv-${{ matrix.vlucas-phpdotenv }}-os-${{ matrix.os }}-dependency-prefer-${{ matrix.dependency-prefer }}-composer-${{ hashFiles('composer.json') }} - - - name: Install dependencies (composer) - run: | - composer require "vlucas/phpdotenv:${{ matrix.vlucas-phpdotenv }}" --no-interaction --no-update - composer require "phpunit/phpunit:${{ matrix.phpunit }}" --dev --no-interaction --no-update - composer update --${{ matrix.dependency-prefer }} --prefer-dist --no-interaction - - - name: Execute tests - run: vendor/bin/phpunit - - vlucas-phpdotenv-php71: - - name: PHP ${{ matrix.php }} - vlucas/phpdotenv ${{ matrix.vlucas-phpdotenv }} - ${{ matrix.os }} - ${{ matrix.dependency-prefer }} - runs-on: ${{ matrix.os }} - strategy: - fail-fast: true - matrix: - os: [ubuntu-latest, macos-latest, windows-latest] - php: [7.1] - phpunit: [^7.0] - vlucas-phpdotenv: [^5.0, ^4.0, ^3.0, ^2.0, ^1.0] - dependency-prefer: [prefer-stable, prefer-lowest] - - steps: - - name: Checkout code - uses: actions/checkout@v2 - - - name: Setup PHP - uses: shivammathur/setup-php@v2 - with: - php-version: ${{ matrix.php }} - extensions: fileinfo, mbstring - coverage: none - -# # find out composer's cache directory on the current os - for the "Cache dependencies (composer)" step below -# - name: Determine composer's cache directory -# id: composer-cache -# run: | -# echo "::set-output name=dir::$(composer config cache-files-dir)" +# timeout_minutes: 5 +# max_attempts: 5 +# command: | +# composer remove "infection/infection" --dev --no-interaction --no-update +# composer remove "phpstan/phpstan" --dev --no-interaction --no-update +# composer remove "squizlabs/php_codesniffer" --dev --no-interaction --no-update +# composer require "phpunit/phpunit:${{ matrix.phpunit }}" --dev --no-interaction --no-update +# composer require "vlucas/phpdotenv:${{ matrix.vlucas-phpdotenv }}" --dev --no-interaction --no-update +# composer update --${{ matrix.dependency-prefer }} --prefer-dist --no-interaction --optimize-autoloader --no-progress +# +# - name: "Execute tests" +# run: vendor/bin/phpunit "--configuration=${{ matrix.phpunit-config-file }}" --no-coverage --stop-on-error --stop-on-failure +# +# +# +# symfony-dotenv-php83-82-81-80: +# +# name: "PHP${{ matrix.php }} symfony/dotenv ${{ matrix.symfony-dotenv }} ${{ matrix.os-title }} ${{ matrix.dependency-prefer-title }}" +# runs-on: "${{ matrix.os }}" +# strategy: +# fail-fast: false +# matrix: +# os: [ "ubuntu-latest", "macos-latest", "windows-latest" ] +# php: [ "8.3", "8.2", "8.1", "8.0" ] +# symfony-dotenv: [ "^6.0", "^5.0", "^4.0", "^3.3" ] +# dependency-prefer: [ "prefer-stable", "prefer-lowest" ] +# include: +# - php: "8.3" +# phpunit: "^10.1.0" +# phpunit-config-file: "phpunit.github-actions.xml.dist" +# - php: "8.2" +# phpunit: "^10.1.0" +# phpunit-config-file: "phpunit.github-actions.xml.dist" +# - php: "8.2" +# phpunit: "^10.1.0" +# phpunit-config-file: "phpunit.github-actions.xml.dist" +# - php: "8.1" +# phpunit: "^10.1.0" +# phpunit-config-file: "phpunit.github-actions.xml.dist" +# - php: "8.0" +# phpunit: "^9.3" +# phpunit-config-file: "phpunit.github-actions.up-to-9.xml.dist" +# - os: "ubuntu-latest" +# os-title: "ubuntu" +# - os: "macos-latest" +# os-title: "macos" +# - os: "windows-latest" +# os-title: "win" +# - dependency-prefer: "prefer-stable" +# dependency-prefer-title: "stable" +# - dependency-prefer: "prefer-lowest" +# dependency-prefer-title: "lowest" # -# - name: Cache dependencies (composer) -# uses: actions/cache@v2 +# steps: +# +# - name: "Checkout code" +# uses: "actions/checkout@v4" +# +# - name: "Validate composer.json and composer.lock" +# run: "composer validate --strict" +# +# - name: "Setup PHP" +# uses: "shivammathur/setup-php@v2" # with: -# path: ${{ steps.composer-cache.outputs.dir }} -# key: php-${{ matrix.php }}-vlucas-phpdotenv-${{ matrix.vlucas-phpdotenv }}-os-${{ matrix.os }}-dependency-prefer-${{ matrix.dependency-prefer }}-composer-${{ hashFiles('composer.json') }} - - - name: Install dependencies (composer) - run: | - composer require "vlucas/phpdotenv:${{ matrix.vlucas-phpdotenv }}" --no-interaction --no-update - composer require "phpunit/phpunit:${{ matrix.phpunit }}" --dev --no-interaction --no-update - composer update --${{ matrix.dependency-prefer }} --prefer-dist --no-interaction - - - name: Execute tests - run: vendor/bin/phpunit - - vlucas-phpdotenv-php70: - - name: PHP ${{ matrix.php }} - vlucas/phpdotenv ${{ matrix.vlucas-phpdotenv }} - ${{ matrix.os }} - ${{ matrix.dependency-prefer }} - runs-on: ${{ matrix.os }} - strategy: - fail-fast: true - matrix: - os: [ubuntu-latest, macos-latest, windows-latest] - php: ["7.0"] - phpunit: [^6.0] - vlucas-phpdotenv: [^4.0, ^3.0, ^2.0, ^1.0] - dependency-prefer: [prefer-stable, prefer-lowest] - - steps: - - name: Checkout code - uses: actions/checkout@v2 - - - name: Setup PHP - uses: shivammathur/setup-php@v2 - with: - php-version: ${{ matrix.php }} - extensions: fileinfo, mbstring - coverage: none - -# # find out composer's cache directory on the current os - for the "Cache dependencies (composer)" step below -# - name: Determine composer's cache directory -# id: composer-cache +# php-version: "${{ matrix.php }}" +# extensions: fileinfo, mbstring +# ini-values: error_reporting=E_ALL +# coverage: none +# env: +# COMPOSER_TOKEN: "${{ secrets.GITHUB_TOKEN }}" +# +# # find composer's cache directory - so we know which directory to cache in the next step +# - name: "Find composer's cache directory" +# id: "composer-cache" +# shell: bash # make sure this step works on Windows - see https://github.com/actions/runner/issues/2224#issuecomment-1289533957 # run: | -# echo "::set-output name=dir::$(composer config cache-files-dir)" +# echo "composer_cache_dir=$(composer config cache-files-dir)">> "$GITHUB_OUTPUT" # -# - name: Cache dependencies (composer) -# uses: actions/cache@v2 +# - name: "Cache composer's cache directory" +# uses: "actions/cache@v3" # with: -# path: ${{ steps.composer-cache.outputs.dir }} -# key: php-${{ matrix.php }}-vlucas-phpdotenv-${{ matrix.vlucas-phpdotenv }}-os-${{ matrix.os }}-dependency-prefer-${{ matrix.dependency-prefer }}-composer-${{ hashFiles('composer.json') }} - - - name: Install dependencies (composer) - run: | - composer require "vlucas/phpdotenv:${{ matrix.vlucas-phpdotenv }}" --no-interaction --no-update - composer require "phpunit/phpunit:${{ matrix.phpunit }}" --dev --no-interaction --no-update - composer update --${{ matrix.dependency-prefer }} --prefer-dist --no-interaction - - - name: Execute tests - run: vendor/bin/phpunit +# path: "${{ steps.composer-cache.outputs.composer_cache_dir }}" +# key: "[${{ matrix.os }}][php-${{ matrix.php }}][symfony/dotenv-${{ matrix.symfony-dotenv }}][${{ matrix.dependency-prefer }}][composer.json-${{ hashFiles('composer.json') }}]" +# +# - name: "Install dependencies" +# uses: "nick-fields/retry@v2" +# with: +# timeout_minutes: 5 +# max_attempts: 5 +# command: | +# composer remove "infection/infection" --dev --no-interaction --no-update +# composer remove "phpstan/phpstan" --dev --no-interaction --no-update +# composer remove "squizlabs/php_codesniffer" --dev --no-interaction --no-update +# composer require "phpunit/phpunit:${{ matrix.phpunit }}" --dev --no-interaction --no-update +# composer require "symfony/dotenv:${{ matrix.symfony-dotenv }}" --dev --no-interaction --no-update +# composer update --${{ matrix.dependency-prefer }} --prefer-dist --no-interaction --optimize-autoloader --no-progress +# +# - name: "Execute tests" +# run: vendor/bin/phpunit "--configuration=${{ matrix.phpunit-config-file }}" --no-coverage --stop-on-error --stop-on-failure - symfony-dotenv-6: + symfony-dotenv-php74-73-72-71-70: - name: PHP ${{ matrix.php }} - symfony/dotenv ${{ matrix.symfony-dotenv }} - ${{ matrix.os }} - ${{ matrix.dependency-prefer }} - runs-on: ${{ matrix.os }} + name: "PHP${{ matrix.php }} symfony/dotenv ${{ matrix.symfony-dotenv }} ${{ matrix.os-title }} ${{ matrix.dependency-prefer-title }}" + runs-on: "${{ matrix.os }}" strategy: - fail-fast: true + fail-fast: false matrix: - os: [ubuntu-latest, macos-latest, windows-latest] - php: [8.2, 8.1, "8.0"] - symfony-dotenv: [^6.0] - dependency-prefer: [prefer-stable, prefer-lowest] + os: [ "ubuntu-latest", "macos-latest", "windows-latest" ] + php: [ "7.4", "7.3", "7.2", "7.1", "7.0" ] + symfony-dotenv: [ "^6.0", "^5.0", "^4.0", "^3.3" ] + dependency-prefer: [ "prefer-stable", "prefer-lowest" ] include: - - php: 8.2 - phpunit: ^9.3 - - php: 8.1 - phpunit: ^9.3 - - php: "8.0" - phpunit: ^9.3 + - php: "7.4" + phpunit: "^9.3" + phpunit-config-file: "phpunit.github-actions.up-to-9.xml.dist" + - php: "7.3" + phpunit: "^9.3" + phpunit-config-file: "phpunit.github-actions.up-to-9.xml.dist" + - php: "7.2" + phpunit: "^8.0" + phpunit-config-file: "phpunit.github-actions.up-to-9.xml.dist" + - php: "7.1" + phpunit: "^7.0" + phpunit-config-file: "phpunit.github-actions.up-to-9.xml.dist" + - php: "7.0" + phpunit: "^6.0" + phpunit-config-file: "phpunit.github-actions.up-to-9.xml.dist" + - os: "ubuntu-latest" + os-title: "ubuntu" + - os: "macos-latest" + os-title: "macos" + - os: "windows-latest" + os-title: "win" + - dependency-prefer: "prefer-stable" + dependency-prefer-title: "stable" + - dependency-prefer: "prefer-lowest" + dependency-prefer-title: "lowest" + exclude: + - php: "7.4" + symfony-dotenv: "^6.0" + - php: "7.3" + symfony-dotenv: "^6.0" + - php: "7.2" + symfony-dotenv: "^6.0" + - php: "7.1" + symfony-dotenv: "^6.0" + - php: "7.1" + symfony-dotenv: "^5.0" + - php: "7.0" + symfony-dotenv: "^6.0" + - php: "7.0" + symfony-dotenv: "^5.0" + - php: "7.0" + symfony-dotenv: "^4.0" steps: - - name: Checkout code - uses: actions/checkout@v2 - - name: Setup PHP - uses: shivammathur/setup-php@v2 + - name: "Checkout code" + uses: "actions/checkout@v4" + + - name: "Validate composer.json and composer.lock" + run: "composer validate --strict" + + - name: "Setup PHP" + uses: "shivammathur/setup-php@v2" with: - php-version: ${{ matrix.php }} + php-version: "${{ matrix.php }}" extensions: fileinfo, mbstring + ini-values: error_reporting=E_ALL coverage: none + env: + COMPOSER_TOKEN: "${{ secrets.GITHUB_TOKEN }}" -# # find out composer's cache directory on the current os - for the "Cache dependencies (composer)" step below -# - name: Determine composer's cache directory -# id: composer-cache -# run: | -# echo "::set-output name=dir::$(composer config cache-files-dir)" -# -# - name: Cache dependencies (composer) -# uses: actions/cache@v2 -# with: -# path: ${{ steps.composer-cache.outputs.dir }} -# key: php-${{ matrix.php }}-symfony-dotenv-${{ matrix.symfony-dotenv }}-os-${{ matrix.os }}-dependency-prefer-${{ matrix.dependency-prefer }}-composer-${{ hashFiles('composer.json') }} - - - name: Install dependencies (composer) + # find composer's cache directory - so we know which directory to cache in the next step + - name: "Find composer's cache directory" + id: "composer-cache" + shell: bash # make sure this step works on Windows - see https://github.com/actions/runner/issues/2224#issuecomment-1289533957 run: | - composer require "symfony/dotenv:${{ matrix.symfony-dotenv }}" "phpunit/phpunit:${{ matrix.phpunit }}" --dev --no-interaction --no-update - composer update --${{ matrix.dependency-prefer }} --prefer-dist --no-interaction + echo "composer_cache_dir=$(composer config cache-files-dir)">> "$GITHUB_OUTPUT" - - name: Execute tests - run: vendor/bin/phpunit + - name: "Cache composer's cache directory" + uses: "actions/cache@v3" + with: + path: "${{ steps.composer-cache.outputs.composer_cache_dir }}" + key: "[${{ matrix.os }}][php-${{ matrix.php }}][symfony/dotenv-${{ matrix.symfony-dotenv }}][${{ matrix.dependency-prefer }}][composer.json-${{ hashFiles('composer.json') }}]" - symfony-dotenv-5: + - name: "Install dependencies" + uses: "nick-fields/retry@v2" + with: + timeout_minutes: 5 + max_attempts: 5 + command: | + composer remove "infection/infection" --dev --no-interaction --no-update + composer remove "phpstan/phpstan" --dev --no-interaction --no-update + composer remove "squizlabs/php_codesniffer" --dev --no-interaction --no-update + composer require "phpunit/phpunit:${{ matrix.phpunit }}" --dev --no-interaction --no-update + composer require "symfony/dotenv:${{ matrix.symfony-dotenv }}" --dev --no-interaction --no-update + composer update --${{ matrix.dependency-prefer }} --prefer-dist --no-interaction --optimize-autoloader --no-progress - name: PHP ${{ matrix.php }} - symfony/dotenv ${{ matrix.symfony-dotenv }} - ${{ matrix.os }} - ${{ matrix.dependency-prefer }} - runs-on: ${{ matrix.os }} - strategy: - fail-fast: true - matrix: - os: [ubuntu-latest, macos-latest, windows-latest] - php: [7.4, 7.3, 7.2] - symfony-dotenv: [^5.0] - dependency-prefer: [prefer-stable, prefer-lowest] - include: - - php: 7.4 - phpunit: ^9.0 - - php: 7.3 - phpunit: ^9.0 - - php: 7.2 - phpunit: ^8.0 + - name: "Execute tests" + run: vendor/bin/phpunit "--configuration=${{ matrix.phpunit-config-file }}" --no-coverage --stop-on-error --stop-on-failure - steps: - - name: Checkout code - uses: actions/checkout@v2 - - name: Setup PHP - uses: shivammathur/setup-php@v2 - with: - php-version: ${{ matrix.php }} - extensions: fileinfo, mbstring - coverage: none -# # find out composer's cache directory on the current os - for the "Cache dependencies (composer)" step below -# - name: Determine composer's cache directory -# id: composer-cache +# symfony-dotenv-6: +# +# name: PHP ${{ matrix.php }} - symfony/dotenv ${{ matrix.symfony-dotenv }} - ${{ matrix.os }} - ${{ matrix.dependency-prefer }} +# runs-on: ${{ matrix.os }} +# strategy: +# fail-fast: true +# matrix: +# os: [ubuntu-latest, macos-latest, windows-latest] +# php: [8.2, 8.1, "8.0"] +# symfony-dotenv: [^6.0] +# dependency-prefer: [prefer-stable, prefer-lowest] +# phpunit-config-file: ["phpunit.up-to-9.xml.dist"] +# include: +# - php: 8.2 +# phpunit: ^9.3 +# - php: 8.1 +# phpunit: ^9.3 +# - php: "8.0" +# phpunit: ^9.3 +# +# steps: +# - name: Checkout code +# uses: actions/checkout@v2 +# +# - name: Setup PHP +# uses: shivammathur/setup-php@v2 +# with: +# php-version: ${{ matrix.php }} +# extensions: fileinfo, mbstring +# coverage: none +# +## # find out composer's cache directory on the current os - for the "Cache dependencies (composer)" step below +## - name: Determine composer's cache directory +## id: composer-cache +## run: | +## echo "::set-output name=dir::$(composer config cache-files-dir)" +## +## - name: Cache dependencies (composer) +## uses: actions/cache@v2 +## with: +## path: ${{ steps.composer-cache.outputs.dir }} +## key: php-${{ matrix.php }}-symfony-dotenv-${{ matrix.symfony-dotenv }}-os-${{ matrix.os }}-dependency-prefer-${{ matrix.dependency-prefer }}-composer-${{ hashFiles('composer.json') }} +# +# - name: Install dependencies (composer) # run: | -# echo "::set-output name=dir::$(composer config cache-files-dir)" +# composer require "symfony/dotenv:${{ matrix.symfony-dotenv }}" "phpunit/phpunit:${{ matrix.phpunit }}" --dev --no-interaction --no-update +# composer update --${{ matrix.dependency-prefer }} --prefer-dist --no-interaction +# +# - name: Execute tests +# run: vendor/bin/phpunit --configuration=${{ matrix.phpunit-config-file }} --no-coverage --stop-on-error --stop-on-failure +# +# symfony-dotenv-5: +# +# name: PHP ${{ matrix.php }} - symfony/dotenv ${{ matrix.symfony-dotenv }} - ${{ matrix.os }} - ${{ matrix.dependency-prefer }} +# runs-on: ${{ matrix.os }} +# strategy: +# fail-fast: true +# matrix: +# os: [ubuntu-latest, macos-latest, windows-latest] +# php: [7.4, 7.3, 7.2] +# symfony-dotenv: [^5.0] +# dependency-prefer: [prefer-stable, prefer-lowest] +# phpunit-config-file: ["phpunit.up-to-9.xml.dist"] +# include: +# - php: 7.4 +# phpunit: ^9.0 +# - php: 7.3 +# phpunit: ^9.0 +# - php: 7.2 +# phpunit: ^8.0 # -# - name: Cache dependencies (composer) -# uses: actions/cache@v2 +# steps: +# - name: Checkout code +# uses: actions/checkout@v2 +# +# - name: Setup PHP +# uses: shivammathur/setup-php@v2 # with: -# path: ${{ steps.composer-cache.outputs.dir }} -# key: php-${{ matrix.php }}-symfony-dotenv-${{ matrix.symfony-dotenv }}-os-${{ matrix.os }}-dependency-prefer-${{ matrix.dependency-prefer }}-composer-${{ hashFiles('composer.json') }} - - - name: Install dependencies (composer) - run: | - composer require "symfony/dotenv:${{ matrix.symfony-dotenv }}" "phpunit/phpunit:${{ matrix.phpunit }}" --dev --no-interaction --no-update - composer update --${{ matrix.dependency-prefer }} --prefer-dist --no-interaction - - - name: Execute tests - run: vendor/bin/phpunit - - symfony-dotenv-4: - - name: PHP ${{ matrix.php }} - symfony/dotenv ${{ matrix.symfony-dotenv }} - ${{ matrix.os }} - ${{ matrix.dependency-prefer }} - runs-on: ${{ matrix.os }} - strategy: - fail-fast: true - matrix: - os: [ubuntu-latest, macos-latest, windows-latest] - php: [7.4, 7.3, 7.2, 7.1] - symfony-dotenv: [^4.0] - dependency-prefer: [prefer-stable, prefer-lowest] - include: - - php: 7.4 - phpunit: ^9.0 - - php: 7.3 - phpunit: ^9.0 - - php: 7.2 - phpunit: ^8.0 - - php: 7.1 - phpunit: ^7.0 - - steps: - - name: Checkout code - uses: actions/checkout@v2 - - - name: Setup PHP - uses: shivammathur/setup-php@v2 - with: - php-version: ${{ matrix.php }} - extensions: fileinfo, mbstring - coverage: none - -# # find out composer's cache directory on the current os - for the "Cache dependencies (composer)" step below -# - name: Determine composer's cache directory -# id: composer-cache +# php-version: ${{ matrix.php }} +# extensions: fileinfo, mbstring +# coverage: none +# +## # find out composer's cache directory on the current os - for the "Cache dependencies (composer)" step below +## - name: Determine composer's cache directory +## id: composer-cache +## run: | +## echo "::set-output name=dir::$(composer config cache-files-dir)" +## +## - name: Cache dependencies (composer) +## uses: actions/cache@v2 +## with: +## path: ${{ steps.composer-cache.outputs.dir }} +## key: php-${{ matrix.php }}-symfony-dotenv-${{ matrix.symfony-dotenv }}-os-${{ matrix.os }}-dependency-prefer-${{ matrix.dependency-prefer }}-composer-${{ hashFiles('composer.json') }} +# +# - name: Install dependencies (composer) # run: | -# echo "::set-output name=dir::$(composer config cache-files-dir)" +# composer require "symfony/dotenv:${{ matrix.symfony-dotenv }}" "phpunit/phpunit:${{ matrix.phpunit }}" --dev --no-interaction --no-update +# composer update --${{ matrix.dependency-prefer }} --prefer-dist --no-interaction +# +# - name: Execute tests +# run: vendor/bin/phpunit --configuration=${{ matrix.phpunit-config-file }} --no-coverage --stop-on-error --stop-on-failure +# +# symfony-dotenv-4: +# +# name: PHP ${{ matrix.php }} - symfony/dotenv ${{ matrix.symfony-dotenv }} - ${{ matrix.os }} - ${{ matrix.dependency-prefer }} +# runs-on: ${{ matrix.os }} +# strategy: +# fail-fast: true +# matrix: +# os: [ubuntu-latest, macos-latest, windows-latest] +# php: [7.4, 7.3, 7.2, 7.1] +# symfony-dotenv: [^4.0] +# dependency-prefer: [prefer-stable, prefer-lowest] +# phpunit-config-file: ["phpunit.up-to-9.xml.dist"] +# include: +# - php: 7.4 +# phpunit: ^9.0 +# - php: 7.3 +# phpunit: ^9.0 +# - php: 7.2 +# phpunit: ^8.0 +# - php: 7.1 +# phpunit: ^7.0 # -# - name: Cache dependencies (composer) -# uses: actions/cache@v2 +# steps: +# - name: Checkout code +# uses: actions/checkout@v2 +# +# - name: Setup PHP +# uses: shivammathur/setup-php@v2 # with: -# path: ${{ steps.composer-cache.outputs.dir }} -# key: php-${{ matrix.php }}-symfony-dotenv-${{ matrix.symfony-dotenv }}-os-${{ matrix.os }}-dependency-prefer-${{ matrix.dependency-prefer }}-composer-${{ hashFiles('composer.json') }} - - - name: Install dependencies (composer) - run: | - composer require "symfony/dotenv:${{ matrix.symfony-dotenv }}" "phpunit/phpunit:${{ matrix.phpunit }}" --dev --no-interaction --no-update - composer update --${{ matrix.dependency-prefer }} --prefer-dist --no-interaction - - - name: Execute tests - run: vendor/bin/phpunit - - symfony-dotenv-33: - - name: PHP ${{ matrix.php }} - symfony/dotenv ${{ matrix.symfony-dotenv }} - ${{ matrix.os }} - ${{ matrix.dependency-prefer }} - runs-on: ${{ matrix.os }} - strategy: - fail-fast: true - matrix: - os: [ubuntu-latest, macos-latest, windows-latest] - php: [8.2, 8.1, "8.0", 7.4, 7.3, 7.2, 7.1, "7.0"] - symfony-dotenv: [^3.3] - dependency-prefer: [prefer-stable, prefer-lowest] - include: - - php: 8.2 - phpunit: ^9.3 - - php: 8.1 - phpunit: ^9.3 - - php: "8.0" - phpunit: ^9.3 - - php: 7.4 - phpunit: ^9.0 - - php: 7.3 - phpunit: ^9.0 - - php: 7.2 - phpunit: ^8.0 - - php: 7.1 - phpunit: ^7.0 - - php: "7.0" - phpunit: ^6.0 - exclude: - - os: windows-latest - symfony-dotenv: ^3.3 # symfony-dotenv on Windows can't read multiple values with different capitalisations at once (e.g. "On" and "on") - - php: 8.1 - dependency-prefer: prefer-lowest - symfony-dotenv: ^3.3 # "Deprecated: preg_match(): Passing null to parameter #4 ($flags) of type int is deprecated" exists in symfony-dotenv before 3.3.14 - - steps: - - name: Checkout code - uses: actions/checkout@v2 - - - name: Setup PHP - uses: shivammathur/setup-php@v2 - with: - php-version: ${{ matrix.php }} - extensions: fileinfo, mbstring - coverage: none - -# # find out composer's cache directory on the current os - for the "Cache dependencies (composer)" step below -# - name: Determine composer's cache directory -# id: composer-cache +# php-version: ${{ matrix.php }} +# extensions: fileinfo, mbstring +# coverage: none +# +## # find out composer's cache directory on the current os - for the "Cache dependencies (composer)" step below +## - name: Determine composer's cache directory +## id: composer-cache +## run: | +## echo "::set-output name=dir::$(composer config cache-files-dir)" +## +## - name: Cache dependencies (composer) +## uses: actions/cache@v2 +## with: +## path: ${{ steps.composer-cache.outputs.dir }} +## key: php-${{ matrix.php }}-symfony-dotenv-${{ matrix.symfony-dotenv }}-os-${{ matrix.os }}-dependency-prefer-${{ matrix.dependency-prefer }}-composer-${{ hashFiles('composer.json') }} +# +# - name: Install dependencies (composer) # run: | -# echo "::set-output name=dir::$(composer config cache-files-dir)" +# composer require "symfony/dotenv:${{ matrix.symfony-dotenv }}" "phpunit/phpunit:${{ matrix.phpunit }}" --dev --no-interaction --no-update +# composer update --${{ matrix.dependency-prefer }} --prefer-dist --no-interaction +# +# - name: Execute tests +# run: vendor/bin/phpunit --configuration=${{ matrix.phpunit-config-file }} --no-coverage --stop-on-error --stop-on-failure +# +# symfony-dotenv-33: +# +# name: PHP ${{ matrix.php }} - symfony/dotenv ${{ matrix.symfony-dotenv }} - ${{ matrix.os }} - ${{ matrix.dependency-prefer }} +# runs-on: ${{ matrix.os }} +# strategy: +# fail-fast: true +# matrix: +# os: [ubuntu-latest, macos-latest, windows-latest] +# php: [8.3, 8.2, 8.1, "8.0", 7.4, 7.3, 7.2, 7.1, "7.0"] +# symfony-dotenv: [^3.3] +# dependency-prefer: [prefer-stable, prefer-lowest] +# phpunit-config-file: ["phpunit.xml.dist"] +# include: +# - php: 8.3 +# phpunit: "^10.1.0" +# - php: 8.2 +# phpunit: "^10.1.0" +# - php: 8.1 +# phpunit: ^9.3 +# phpunit-config-file: "phpunit.up-to-9.xml.dist" +# - php: "8.0" +# phpunit: ^9.3 +# phpunit-config-file: "phpunit.up-to-9.xml.dist" +# - php: 7.4 +# phpunit: "^9.0" +# phpunit-config-file: "phpunit.up-to-9.xml.dist" +# - php: 7.3 +# phpunit: "^9.0" +# phpunit-config-file: "phpunit.up-to-9.xml.dist" +# - php: 7.2 +# phpunit: "^8.0" +# phpunit-config-file: "phpunit.up-to-9.xml.dist" +# - php: 7.1 +# phpunit: "^7.0" +# phpunit-config-file: "phpunit.up-to-9.xml.dist" +# - php: "7.0" +# phpunit: "^6.0" +# phpunit-config-file: "phpunit.up-to-9.xml.dist" +# exclude: +# - os: windows-latest +# symfony-dotenv: ^3.3 # symfony-dotenv on Windows can't read multiple values with different capitalisations at once (e.g. "On" and "on") +# - php: 8.1 +# dependency-prefer: prefer-lowest +# symfony-dotenv: ^3.3 # "Deprecated: preg_match(): Passing null to parameter #4 ($flags) of type int is deprecated" exists in symfony-dotenv before 3.3.14 +# +# steps: +# - name: Checkout code +# uses: actions/checkout@v2 # -# - name: Cache dependencies (composer) -# uses: actions/cache@v2 +# - name: Setup PHP +# uses: shivammathur/setup-php@v2 # with: -# path: ${{ steps.composer-cache.outputs.dir }} -# key: php-${{ matrix.php }}-symfony-dotenv-${{ matrix.symfony-dotenv }}-os-${{ matrix.os }}-dependency-prefer-${{ matrix.dependency-prefer }}-composer-${{ hashFiles('composer.json') }} - - - name: Install dependencies (composer) - run: | - composer require "symfony/dotenv:${{ matrix.symfony-dotenv }}" "phpunit/phpunit:${{ matrix.phpunit }}" --dev --no-interaction --no-update - composer update --${{ matrix.dependency-prefer }} --prefer-dist --no-interaction - - - name: Execute tests - run: vendor/bin/phpunit +# php-version: ${{ matrix.php }} +# extensions: fileinfo, mbstring +# coverage: none +# +## # find out composer's cache directory on the current os - for the "Cache dependencies (composer)" step below +## - name: Determine composer's cache directory +## id: composer-cache +## run: | +## echo "::set-output name=dir::$(composer config cache-files-dir)" +## +## - name: Cache dependencies (composer) +## uses: actions/cache@v2 +## with: +## path: ${{ steps.composer-cache.outputs.dir }} +## key: php-${{ matrix.php }}-symfony-dotenv-${{ matrix.symfony-dotenv }}-os-${{ matrix.os }}-dependency-prefer-${{ matrix.dependency-prefer }}-composer-${{ hashFiles('composer.json') }} +# +# - name: Install dependencies (composer) +# run: | +# composer require "symfony/dotenv:${{ matrix.symfony-dotenv }}" "phpunit/phpunit:${{ matrix.phpunit }}" --dev --no-interaction --no-update +# composer update --${{ matrix.dependency-prefer }} --prefer-dist --no-interaction +# +# - name: Execute tests +# run: vendor/bin/phpunit --configuration=${{ matrix.phpunit-config-file }} --no-coverage --stop-on-error --stop-on-failure diff --git a/CHANGELOG.md b/CHANGELOG.md index be5740a..93c3885 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -6,6 +6,13 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), +## [0.1.7] - 2023-12-01 + +### Added +- Added support for PHP 8.3 + + + ## [0.1.6] - 2022-12-19 ### Added diff --git a/README.md b/README.md index d51a60c..a2621f5 100644 --- a/README.md +++ b/README.md @@ -1,7 +1,7 @@ # Fluent dotenv [![Latest Version on Packagist](https://img.shields.io/packagist/v/code-distortion/fluent-dotenv.svg?style=flat-square)](https://packagist.org/packages/code-distortion/fluent-dotenv) -![PHP Version](https://img.shields.io/badge/PHP-7.0%20to%208.2-blue?style=flat-square) +![PHP Version](https://img.shields.io/badge/PHP-7.0%20to%208.3-blue?style=flat-square) ![vlucas/phpdotenv](https://img.shields.io/badge/vlucas%2Fphpdotenv-1+-blue?style=flat-square) ![symfony/dotenv](https://img.shields.io/badge/symfony%2Fdotenv-3.3+-blue?style=flat-square) [![GitHub Workflow Status](https://img.shields.io/github/actions/workflow/status/code-distortion/fluent-dotenv/run-tests.yml?branch=master&style=flat-square)](https://github.com/code-distortion/fluent-dotenv/actions) diff --git a/composer.json b/composer.json index 1cfbc26..5621182 100644 --- a/composer.json +++ b/composer.json @@ -24,7 +24,7 @@ } ], "require": { - "php": "7.0.* | 7.1.* | 7.2.* | 7.3.* | 7.4.* | 8.0.* | 8.1.* | 8.2.*", + "php": "7.0.* | 7.1.* | 7.2.* | 7.3.* | 7.4.* | 8.0.* | 8.1.* | 8.2.* | 8.3.*", "ext-mbstring": "*", "vlucas/phpdotenv": "^1.0 | ^2.0 | ^3.0 | ^4.0 | ^5.0" }, diff --git a/phpunit.github-actions.up-to-9.xml.dist b/phpunit.github-actions.up-to-9.xml.dist new file mode 100644 index 0000000..6f1215a --- /dev/null +++ b/phpunit.github-actions.up-to-9.xml.dist @@ -0,0 +1,32 @@ + + + + + ./tests/Unit + + + diff --git a/phpunit.github-actions.xml.dist b/phpunit.github-actions.xml.dist new file mode 100644 index 0000000..b67b53b --- /dev/null +++ b/phpunit.github-actions.xml.dist @@ -0,0 +1,48 @@ + + + + + ./tests/Unit + + + + + ./src + + + diff --git a/phpunit.up-to-9.xml.dist b/phpunit.up-to-9.xml.dist deleted file mode 100644 index 08fa34e..0000000 --- a/phpunit.up-to-9.xml.dist +++ /dev/null @@ -1,24 +0,0 @@ - - - - - ./tests/Unit - - - ./tests/Integration - - - - - ./src - - - - - - diff --git a/phpunit.xml.dist b/phpunit.xml.dist index 184d5b6..2d70c51 100644 --- a/phpunit.xml.dist +++ b/phpunit.xml.dist @@ -2,9 +2,38 @@