Skip to content

Commit

Permalink
Merge branch 'main' into tcpdf-producer-property
Browse files Browse the repository at this point in the history
  • Loading branch information
MauricioFauth authored May 12, 2023
2 parents ac24567 + 2fb1c01 commit d936d51
Show file tree
Hide file tree
Showing 106 changed files with 2,425 additions and 95 deletions.
1 change: 1 addition & 0 deletions .gitattributes
Original file line number Diff line number Diff line change
Expand Up @@ -3,3 +3,4 @@
/.gitattributes export-ignore
/tests export-ignore
/scripts export-ignore
/phpstan.neon.dist export-ignore
7 changes: 4 additions & 3 deletions .github/workflows/lint-docs.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2,16 +2,17 @@ name: lint php documentation

on:
push:
branches:
- 'main'
pull_request:
types: [opened, synchronize, reopened]
branches:
- main
- 'main'

jobs:
lint-docs:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- uses: actions/checkout@v3
- name: lint php documentation
uses: sudo-bot/action-doctum@dev
with:
Expand Down
115 changes: 97 additions & 18 deletions .github/workflows/tests.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2,10 +2,11 @@ name: Run tests

on:
push:
branches:
- 'main'
pull_request:
types: [opened, synchronize, reopened]
branches:
- main
- 'main'

jobs:
test-php:
Expand All @@ -15,42 +16,120 @@ jobs:
strategy:
fail-fast: false
matrix:
php-version: ["5.3", "5.4", "5.5", "5.6", "7.0", "7.1", "7.2", "7.3", "7.4", "8.0", "8.1", "8.2"]
os: [macos-latest, windows-latest]
experimental: [false]
coverage-extension: [pcov]
php-version: ["7.1", "7.2", "7.3", "7.4", "8.0", "8.1"]
os: [ubuntu-latest]
php-extensions: ["bcmath, imagick, gd"]
coverage-extension: ["none"]
exclude:
# For now, we do not know how to run workflow on Windows
# with imagick PHP extension for PHP 5.3 - 5.6
- { php-version: '5.3', os: windows-latest }
- { php-version: '5.4', os: windows-latest }
- { php-version: '5.5', os: windows-latest }
- { php-version: '5.6', os: windows-latest }
# Somehow some tests fail under Windows and PHP 7.0,
# so we disable that run for now
- { php-version: '7.0', os: windows-latest }
include:
- { php-version: '5.3', experimental: false, os: ubuntu-latest, coverage-extension: 'xdebug' }
- { php-version: '5.4', experimental: false, os: ubuntu-latest, coverage-extension: 'xdebug' }
- { php-version: '5.5', experimental: false, os: ubuntu-latest, coverage-extension: 'xdebug' }
- { php-version: '5.6', experimental: false, os: ubuntu-latest, coverage-extension: 'xdebug' }
- { php-version: 'nightly', experimental: true, os: ubuntu-latest, coverage-extension: 'pcov' }
- { php-version: '5.3', os: windows-latest, experimental: false, php-extensions: 'bcmath, gd', coverage-extension: 'none' }
- { php-version: '5.4', os: windows-latest, experimental: false, php-extensions: 'bcmath, gd', coverage-extension: 'none' }
- { php-version: '5.5', os: windows-latest, experimental: false, php-extensions: 'bcmath, gd', coverage-extension: 'none' }
- { php-version: '5.6', os: windows-latest, experimental: false, php-extensions: 'bcmath, gd', coverage-extension: 'none' }
# Specify coverage extension for Ubuntu runs
- { php-version: '5.3', os: ubuntu-latest, experimental: false, php-extensions: 'bcmath, imagick, gd', coverage-extension: 'xdebug' }
- { php-version: '5.4', os: ubuntu-latest, experimental: false, php-extensions: 'bcmath, imagick, gd', coverage-extension: 'xdebug' }
- { php-version: '5.5', os: ubuntu-latest, experimental: false, php-extensions: 'bcmath, imagick, gd', coverage-extension: 'xdebug' }
- { php-version: '5.6', os: ubuntu-latest, experimental: false, php-extensions: 'bcmath, imagick, gd', coverage-extension: 'xdebug' }
- { php-version: '7.0', os: ubuntu-latest, experimental: false, php-extensions: 'bcmath, imagick, gd', coverage-extension: 'xdebug' }
# pcov is available from PHP 7.1
- { php-version: '7.1', os: ubuntu-latest, experimental: false, php-extensions: 'bcmath, imagick, gd', coverage-extension: 'pcov' }
- { php-version: '7.2', os: ubuntu-latest, experimental: false, php-extensions: 'bcmath, imagick, gd', coverage-extension: 'pcov' }
- { php-version: '7.3', os: ubuntu-latest, experimental: false, php-extensions: 'bcmath, imagick, gd', coverage-extension: 'pcov' }
- { php-version: '7.4', os: ubuntu-latest, experimental: false, php-extensions: 'bcmath, imagick, gd', coverage-extension: 'pcov' }
- { php-version: '8.0', os: ubuntu-latest, experimental: false, php-extensions: 'bcmath, imagick, gd', coverage-extension: 'pcov' }
- { php-version: '8.1', os: ubuntu-latest, experimental: false, php-extensions: 'bcmath, imagick, gd', coverage-extension: 'pcov' }
- { php-version: '8.2', os: ubuntu-latest, experimental: false, php-extensions: 'bcmath, imagick, gd', coverage-extension: 'pcov' }
- { php-version: 'nightly', os: ubuntu-latest, experimental: true, php-extensions: 'bcmath, imagick, gd', coverage-extension: 'pcov' }
env:
PDFINFO_BINARY: ${{ (matrix.os == 'ubuntu-latest') && '/usr/bin/pdfinfo' || ((matrix.os == 'macos-latest') && '/usr/local/bin/pdfinfo' || 'C:\ProgramData\Chocolatey\bin\pdfinfo.exe') }}
steps:
- uses: actions/checkout@v2
- name: Install pdfinfo
run: sudo apt-get install -y poppler-utils
- uses: actions/checkout@v3
- name: Install pdfinfo, pdftopng or pdftoppm
uses: ConorMacBride/install-package@v1
with:
apt: poppler-utils
brew: poppler
choco: xpdf-utils
- name: Install magick
if: runner.os == 'Linux'
uses: mfinelli/setup-imagemagick@v2
- name: Install magick
uses: ConorMacBride/install-package@v1
with:
brew: imagemagick@6
choco: imagemagick
- name: Use php ${{ matrix.php-version }}
uses: shivammathur/setup-php@v2
with:
php-version: ${{ matrix.php-version }}
coverage: ${{ matrix.coverage-extension }}
extensions: bcmath, imagick, gd
ini-values: display_errors=on, error_reporting=-1
extensions: ${{ matrix.php-extensions }}
ini-values: display_errors=on, display_startup_errors=on, error_reporting=-1
- name: List php modules
run: php -m
- name: List php modules using "no php ini" mode
run: php -m -n
- name: Cache module
uses: actions/cache@v2
uses: actions/cache@v3
with:
path: ~/.composer/cache/
key: composer-cache
- name: Install dependencies
run: composer install --no-interaction
- name: Run php tests
- name: Install test dependencies
run: cd ./tests && composer install --no-interaction && cd ../
- name: Run shell-based test suite
if: runner.os == 'Linux'
run: ./tests/launch.sh
- name: Send coverage
uses: codecov/codecov-action@v1
if: matrix.coverage-extension != 'none'
uses: codecov/codecov-action@v3
with:
flags: php-${{ matrix.php-version }}-${{ matrix.os }}
name: php-${{ matrix.php-version }}-${{ matrix.os }}
- name: Create output folder
run: mkdir ./tests/output
- name: Run PHP-based test suite
run: php ./tests/launch.php --output-dir ./tests/output
# The PHP_BINARY environment variable is only available since PHP 5.4
env:
PHP_BINARY: ${{ (matrix.os == 'ubuntu-latest') && '/usr/bin/php' || ((matrix.os == 'macos-latest') && '/usr/local/bin/php' || 'C:\tools\php\php.exe') }}
# For debugging issues
- name: Archive test results
if: failure()
uses: actions/upload-artifact@v3
with:
name: test-run-output-${{ matrix.php-version }}-${{ matrix.os }}
retention-days: 1
path: ./tests/output

analyse-php:
name: Static Analysis
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- name: Use php 8.0
uses: shivammathur/setup-php@v2
with:
php-version: 8.0
tools: composer:v2
- name: Cache module
uses: actions/cache@v3
with:
path: ~/.composer/cache/
key: composer-cache
- name: Install phpstan
run: composer require --dev phpstan/phpstan
- name: Analyse files
run: ./vendor/bin/phpstan --memory-limit=2G
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -3,3 +3,4 @@
*.bak
/vendor/
/composer.lock
/composer.phar
8 changes: 8 additions & 0 deletions CHANGELOG.TXT
Original file line number Diff line number Diff line change
@@ -1,3 +1,11 @@
6.6.2 (2022-12-17)
- Ensure pregSplit return type is always array.
- Add ability to run tests on various operating systems (#566)
- Avoid a deprecated error from PHP8.1 (#573)

6.6.1 (2022-12-12)
- Add PHPStan and fix level 1 errors (#307)

6.6.0 (2022-12-06)
- Multi-byte character support for filename during output (#561). (#562)
- Fix garbage collection (#509)
Expand Down
2 changes: 1 addition & 1 deletion VERSION
Original file line number Diff line number Diff line change
@@ -1 +1 @@
6.6.0
6.6.2
2 changes: 1 addition & 1 deletion composer.json
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@
"barcodes"
],
"homepage": "http://www.tcpdf.org/",
"version": "6.6.0",
"version": "6.6.2",
"license": "LGPL-3.0-only",
"authors": [
{
Expand Down
4 changes: 4 additions & 0 deletions examples/barcodes/example_1d_html.php
Original file line number Diff line number Diff line change
Expand Up @@ -37,6 +37,10 @@
* @package com.tecnick.tcpdf
* @author Nicola Asuni
* @version 1.0.000
* @group barcode
* @group 1d
* @group html
* @group comparable
*/

// include 1D barcode class (search for installation path)
Expand Down
3 changes: 3 additions & 0 deletions examples/barcodes/example_1d_png.php
Original file line number Diff line number Diff line change
Expand Up @@ -37,6 +37,9 @@
* @package com.tecnick.tcpdf
* @author Nicola Asuni
* @version 1.0.000
* @group barcode
* @group 1d
* @group png
*/

// include 1D barcode class (search for installation path)
Expand Down
4 changes: 4 additions & 0 deletions examples/barcodes/example_1d_svg.php
Original file line number Diff line number Diff line change
Expand Up @@ -37,6 +37,10 @@
* @package com.tecnick.tcpdf
* @author Nicola Asuni
* @version 1.0.000
* @group barcode
* @group 1d
* @group svg
* @group comparable
*/

// include 1D barcode class (search for installation path)
Expand Down
4 changes: 4 additions & 0 deletions examples/barcodes/example_1d_svgi.php
Original file line number Diff line number Diff line change
Expand Up @@ -37,6 +37,10 @@
* @package com.tecnick.tcpdf
* @author Nicola Asuni
* @version 1.0.000
* @group barcode
* @group 1d
* @group svg
* @group comparable
*/

// include 1D barcode class (search for installation path)
Expand Down
4 changes: 4 additions & 0 deletions examples/barcodes/example_2d_datamatrix_html.php
Original file line number Diff line number Diff line change
Expand Up @@ -37,6 +37,10 @@
* @package com.tecnick.tcpdf
* @author Nicola Asuni
* @version 1.0.009
* @group barcode
* @group datamatrix
* @group html
* @group comparable
*/

// include 2D barcode class (search for installation path)
Expand Down
3 changes: 3 additions & 0 deletions examples/barcodes/example_2d_datamatrix_png.php
Original file line number Diff line number Diff line change
Expand Up @@ -37,6 +37,9 @@
* @package com.tecnick.tcpdf
* @author Nicola Asuni
* @version 1.0.009
* @group barcode
* @group datamatrix
* @group png
*/

// include 2D barcode class (search for installation path)
Expand Down
4 changes: 4 additions & 0 deletions examples/barcodes/example_2d_datamatrix_svg.php
Original file line number Diff line number Diff line change
Expand Up @@ -37,6 +37,10 @@
* @package com.tecnick.tcpdf
* @author Nicola Asuni
* @version 1.0.009
* @group barcode
* @group datamatrix
* @group svg
* @group comparable
*/

// include 2D barcode class (search for installation path)
Expand Down
4 changes: 4 additions & 0 deletions examples/barcodes/example_2d_datamatrix_svgi.php
Original file line number Diff line number Diff line change
Expand Up @@ -37,6 +37,10 @@
* @package com.tecnick.tcpdf
* @author Nicola Asuni
* @version 1.0.009
* @group barcode
* @group datamatrix
* @group svg
* @group comparable
*/

// include 2D barcode class (search for installation path)
Expand Down
4 changes: 4 additions & 0 deletions examples/barcodes/example_2d_pdf417_html.php
Original file line number Diff line number Diff line change
Expand Up @@ -37,6 +37,10 @@
* @package com.tecnick.tcpdf
* @author Nicola Asuni
* @version 1.0.009
* @group barcode
* @group pdf417
* @group html
* @group comparable
*/

// include 2D barcode class (search for installation path)
Expand Down
3 changes: 3 additions & 0 deletions examples/barcodes/example_2d_pdf417_png.php
Original file line number Diff line number Diff line change
Expand Up @@ -37,6 +37,9 @@
* @package com.tecnick.tcpdf
* @author Nicola Asuni
* @version 1.0.009
* @group barcode
* @group pdf417
* @group png
*/

// include 2D barcode class (search for installation path)
Expand Down
4 changes: 4 additions & 0 deletions examples/barcodes/example_2d_pdf417_svg.php
Original file line number Diff line number Diff line change
Expand Up @@ -37,6 +37,10 @@
* @package com.tecnick.tcpdf
* @author Nicola Asuni
* @version 1.0.009
* @group barcode
* @group pdf417
* @group svg
* @group comparable
*/

// include 2D barcode class (search for installation path)
Expand Down
4 changes: 4 additions & 0 deletions examples/barcodes/example_2d_pdf417_svgi.php
Original file line number Diff line number Diff line change
Expand Up @@ -37,6 +37,10 @@
* @package com.tecnick.tcpdf
* @author Nicola Asuni
* @version 1.0.009
* @group barcode
* @group pdf417
* @group svg
* @group comparable
*/

// include 2D barcode class (search for installation path)
Expand Down
3 changes: 3 additions & 0 deletions examples/barcodes/example_2d_qrcode_html.php
Original file line number Diff line number Diff line change
Expand Up @@ -37,6 +37,9 @@
* @package com.tecnick.tcpdf
* @author Nicola Asuni
* @version 1.0.009
* @group barcode
* @group qrcode
* @group html
*/

// include 2D barcode class (search for installation path)
Expand Down
3 changes: 3 additions & 0 deletions examples/barcodes/example_2d_qrcode_png.php
Original file line number Diff line number Diff line change
Expand Up @@ -37,6 +37,9 @@
* @package com.tecnick.tcpdf
* @author Nicola Asuni
* @version 1.0.009
* @group barcode
* @group qrcode
* @group png
*/

// include 2D barcode class (search for installation path)
Expand Down
3 changes: 3 additions & 0 deletions examples/barcodes/example_2d_qrcode_svg.php
Original file line number Diff line number Diff line change
Expand Up @@ -37,6 +37,9 @@
* @package com.tecnick.tcpdf
* @author Nicola Asuni
* @version 1.0.009
* @group barcode
* @group qrcode
* @group svg
*/

// include 2D barcode class (search for installation path)
Expand Down
3 changes: 3 additions & 0 deletions examples/barcodes/example_2d_qrcode_svgi.php
Original file line number Diff line number Diff line change
Expand Up @@ -37,6 +37,9 @@
* @package com.tecnick.tcpdf
* @author Nicola Asuni
* @version 1.0.009
* @group barcode
* @group qrcode
* @group svg
*/

// include 2D barcode class (search for installation path)
Expand Down
4 changes: 4 additions & 0 deletions examples/example_001.php
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,10 @@
* @abstract TCPDF - Example: Default Header and Footer
* @author Nicola Asuni
* @since 2008-03-04
* @group header
* @group footer
* @group page
* @group pdf
*/

// Include the main TCPDF library (search for installation path).
Expand Down
4 changes: 4 additions & 0 deletions examples/example_002.php
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,10 @@
* @abstract TCPDF - Example: Removing Header and Footer
* @author Nicola Asuni
* @since 2008-03-04
* @group header
* @group footer
* @group page
* @group pdf
*/

// Include the main TCPDF library (search for installation path).
Expand Down
Loading

0 comments on commit d936d51

Please sign in to comment.