diff --git a/.ci/install-re2c.sh b/.ci/install-re2c.sh deleted file mode 100755 index 78aa3bf1..00000000 --- a/.ci/install-re2c.sh +++ /dev/null @@ -1,111 +0,0 @@ -#!/usr/bin/env bash -# -# This file is part of the Zephir Parser. -# -# (c) Zephir Team -# -# For the full copyright and license information, please view -# the LICENSE file that was distributed with this source code. - -if [ -z ${RE2C_VERSION+x} ]; then - >&2 echo "The RE2C_VERSION value is not set. Stop." - exit 1 -fi - -if [ "${RE2C_VERSION}" == "system" ]; then - echo "Use system re2c. Skip." - exit 0 -fi - -# From https://stackoverflow.com/a/4025065 -vercomp () { - if [[ $1 == $2 ]] - then - return 0 - fi - local IFS=. - local i ver1=($1) ver2=($2) - # fill empty fields in ver1 with zeros - for ((i=${#ver1[@]}; i<${#ver2[@]}; i++)) - do - ver1[i]=0 - done - for ((i=0; i<${#ver1[@]}; i++)) - do - if [[ -z ${ver2[i]} ]] - then - # fill empty fields in ver2 with zeros - ver2[i]=0 - fi - if ((10#${ver1[i]} > 10#${ver2[i]})) - then - return 1 - fi - if ((10#${ver1[i]} < 10#${ver2[i]})) - then - return 2 - fi - done - return 0 -} - -ext='tar.xz' -vercomp "$RE2C_VERSION" '1.2' - -case $? in - 2) ext='tar.gz';; -esac - -pkgname=re2c -source="https://github.com/skvadrik/${pkgname}/releases/download/${RE2C_VERSION}/${pkgname}-${RE2C_VERSION}.${ext}" -downloadfile="${pkgname}-${RE2C_VERSION}.${ext}" -prefix="${HOME}/.local/opt/${pkgname}/${pkgname}-${RE2C_VERSION}" -bindir="${prefix}/bin" - -if [ ! -f "$bindir/re2c" ]; then - if [ ! -d "$(dirname "$HOME/.cache/$pkgname")" ]; then - mkdir -p "$(dirname "$HOME/.cache/$pkgname")" - fi - - cd "$(dirname "$HOME/.cache/$pkgname")" || exit 1 - - if [ ! -f "$downloadfile" ]; then - echo "curl -sSL --fail-early '$source' -o '${pkgname}-${RE2C_VERSION}.${ext}'" - curl -sSL --fail-early "$source" -o "${pkgname}-${RE2C_VERSION}.${ext}" - fi - - if [ ! -f "$downloadfile" ]; then - >&2 echo "Unable to locate $downloadfile file. Abort..." - exit 1 - else - file "$downloadfile" - fi - - tar -xf "$downloadfile" || exit 1 - - if [ ! -d "${pkgname}-${RE2C_VERSION}" ]; then - >&2 echo "Unable to locate re2c source files. Abort..." - exit 1 - fi - - if [ ! -d "$prefix" ]; then - mkdir -p "$prefix" - fi - - cd "${pkgname}-${RE2C_VERSION}" || exit 1 - ./configure --prefix="$prefix" - - make -j"$(getconf _NPROCESSORS_ONLN)" - make install -fi - -if [ ! -x "$bindir/re2c" ]; then - >&2 echo "Unable to locate re2c executable. Abort..." - exit 1 -fi - -mkdir -p "$HOME/bin" -ln -s "$bindir/re2c" "$HOME/bin/re2c" - -re2c --version -exit 0 diff --git a/.github/actions/build-mac/action.yml b/.github/actions/build-mac/action.yml index b58d85fc..770222f6 100644 --- a/.github/actions/build-mac/action.yml +++ b/.github/actions/build-mac/action.yml @@ -6,10 +6,9 @@ runs: steps: - name: Install RE2C Lexer Generator shell: bash - run: | - brew install re2c lcov + run: brew install re2c lcov env: - HOMEBREW_NO_INSTALL_CLEANUP: 1 + HOMEBREW_NO_INSTALL_CLEANUP: "1" - name: Build Zephir Parser for macOS shell: bash @@ -39,4 +38,8 @@ runs: shell: bash run: | cp ./modules/zephir_parser.so "$(php -r 'echo ini_get("extension_dir");')/zephir_parser.so" - echo "extension=zephir_parser.so" > /usr/local/etc/php/${{ matrix.php }}/conf.d/ext-zephir_parser.ini + if [ "${{ matrix.ts }}" = "ts" ]; then + echo "extension=zephir_parser.so" > /usr/local/etc/php/${{ matrix.php }}-zts/conf.d/ext-zephir_parser.ini + else + echo "extension=zephir_parser.so" > /usr/local/etc/php/${{ matrix.php }}/conf.d/ext-zephir_parser.ini + fi diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index e92678e3..aa7dc91f 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -42,7 +42,7 @@ jobs: # Linux - { name: ubuntu-gcc, os: ubuntu-latest, compiler: gcc, ccov: 'ON' } # macOS - - { name: macos-clang, os: macos-12, compiler: clang, ccov: 'ON' } + - { name: macos-clang, os: macos-12, compiler: clang, ccov: 'OFF' } # Windows - { php: '7.0', ts: 'nts', arch: 'x64', name: 'windows2019-vc14', os: 'windows-2019', compiler: 'vc14', ccov: 'OFF' } - { php: '7.0', ts: 'ts', arch: 'x64', name: 'windows2019-vc14', os: 'windows-2019', compiler: 'vc14', ccov: 'OFF' } @@ -60,11 +60,11 @@ jobs: - { php: '8.1', ts: 'ts', arch: 'x64', name: 'windows2019-vs16', os: 'windows-2019', compiler: 'vs16', ccov: 'OFF' } - { php: '8.2', ts: 'nts', arch: 'x64', name: 'windows2019-vs16', os: 'windows-2019', compiler: 'vs16', ccov: 'OFF' } - { php: '8.2', ts: 'ts', arch: 'x64', name: 'windows2019-vs16', os: 'windows-2019', compiler: 'vs16', ccov: 'OFF' } - #- { php: '8.3', ts: 'nts', arch: 'x64', name: 'windows2019-vs16', os: 'windows-2019', compiler: 'vs16', ccov: 'OFF' } - #- { php: '8.3', ts: 'ts', arch: 'x64', name: 'windows2019-vs16', os: 'windows-2019', compiler: 'vs16', ccov: 'OFF' } + - { php: '8.3', ts: 'nts', arch: 'x64', name: 'windows2019-vs16', os: 'windows-2019', compiler: 'vs16', ccov: 'OFF' } + - { php: '8.3', ts: 'ts', arch: 'x64', name: 'windows2019-vs16', os: 'windows-2019', compiler: 'vs16', ccov: 'OFF' } steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 - name: Install PHP ${{ matrix.php }} uses: shivammathur/setup-php@v2 @@ -141,7 +141,7 @@ jobs: # zephir_parser-php-7.3-nts-ubuntu-gcc-x64.zip # zephir_parser-php-7.3-nts-windows2019-vc15-x64.zip - name: Upload Zephir Parser - uses: actions/upload-artifact@v3 + uses: actions/upload-artifact@v4 with: name: zephir_parser-php-${{ matrix.php }}-${{ matrix.ts }}-${{ matrix.name }}-${{ matrix.arch }}.zip path: | @@ -165,7 +165,7 @@ jobs: - name: Upload Code Coverage Report if: matrix.ccov == 'ON' - uses: codecov/codecov-action@v3 + uses: codecov/codecov-action@v4 with: token: ${{ secrets.CODECOV_TOKEN }} files: ./lcov.info @@ -173,7 +173,7 @@ jobs: - name: Upload Info for Debug on Fail if: failure() - uses: actions/upload-artifact@v3 + uses: actions/upload-artifact@v4 with: retention-days: 2 name: debug-zephir_parser-php-${{ matrix.php }}-${{ matrix.ts }}-${{ matrix.name }}-${{ matrix.arch }} @@ -188,12 +188,12 @@ jobs: runs-on: ubuntu-latest steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 - name: Install PHP uses: shivammathur/setup-php@v2 with: - php-version: '8.2' + php-version: '8.3' tools: pecl - name: Install System Dependencies @@ -244,7 +244,7 @@ jobs: pecl info zephir_parser-pecl.tgz - name: Upload Artifact - uses: actions/upload-artifact@v3 + uses: actions/upload-artifact@v4 with: name: 'zephir_parser-pecl' path: zephir_parser-pecl.tgz @@ -258,7 +258,7 @@ jobs: steps: - name: Checkout Code - uses: actions/checkout@v3 + uses: actions/checkout@v4 with: fetch-depth: 1 @@ -269,7 +269,7 @@ jobs: - name: Download Zephir Parser build artifacts id: download - uses: actions/download-artifact@v3 + uses: actions/download-artifact@v4 with: path: ./build-artifacts diff --git a/CHANGELOG.md b/CHANGELOG.md index 1b6fc98a..399163d6 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -6,6 +6,10 @@ and this project adheres to [Semantic Versioning](http://semver.org/). ## [Unreleased] - xxxx-xx-xx +## [1.6.1] - 2024-06-03 +### Fixed +- Fix lcov coverage [#151](https://github.com/phalcon/php-zephir-parser/issues/151) + ## [1.6.0] - 2023-08-27 ### Added - Enabled support of PHP8.3 for PECL [#141](https://github.com/phalcon/php-zephir-parser/issues/148) @@ -202,6 +206,7 @@ and this project adheres to [Semantic Versioning](http://semver.org/). - Initial stable release [Unreleased]: https://github.com/phalcon/php-zephir-parser/compare/v1.6.0...HEAD +[1.6.1]: https://github.com/phalcon/php-zephir-parser/compare/v1.6.0...v1.6.1 [1.6.0]: https://github.com/phalcon/php-zephir-parser/compare/v1.5.3...v1.6.0 [1.5.3]: https://github.com/phalcon/php-zephir-parser/compare/v1.5.2...v1.5.3 [1.5.2]: https://github.com/phalcon/php-zephir-parser/compare/v1.5.1...v1.5.2 diff --git a/VERSION b/VERSION index dc1e644a..9c6d6293 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -1.6.0 +1.6.1 diff --git a/ide/zephir_parser.php b/ide/zephir_parser.php index 46110065..213e88e6 100644 --- a/ide/zephir_parser.php +++ b/ide/zephir_parser.php @@ -1,15 +1,13 @@ + * + * For the full copyright and license information, please view + * the LICENSE file that was distributed with this source code. + */ /** * Parses a file and returning an intermediate representation. diff --git a/package.xml b/package.xml index 15794558..b03afd01 100644 --- a/package.xml +++ b/package.xml @@ -12,11 +12,11 @@ anton@phalcon.io yes - 2023-08-27 - + 2024-06-03 + - 1.6.0 - 1.6.0 + 1.6.1 + 1.6.1 stable @@ -24,11 +24,11 @@ MIT - Sun, Aug 27, 2023 - Zephir Parser 1.6.0 + Mon, Jun 03, 2024 - Zephir Parser 1.6.1 - = Added: + = Fixed: - - Enabled support of PHP8.3 for PECL + - Fixed lcov coverage diff --git a/zephir_parser.h b/zephir_parser.h index 8bb07e70..abe6ce7b 100644 --- a/zephir_parser.h +++ b/zephir_parser.h @@ -15,7 +15,7 @@ extern zend_module_entry zephir_parser_module_entry; #define phpext_zephir_parser_ptr &zephir_parser_module_entry #define PHP_ZEPHIR_PARSER_NAME "zephir_parser" -#define PHP_ZEPHIR_PARSER_VERSION "1.6.0" +#define PHP_ZEPHIR_PARSER_VERSION "1.6.1" #define PHP_ZEPHIR_PARSER_AUTHOR "Zephir Team and contributors" #define PHP_ZEPHIR_PARSER_DESCRIPTION "The Zephir Parser delivered as a C extension for the PHP language."