diff --git a/.github/workflows/regression-with-system-php.yml b/.github/workflows/regression-with-system-php.yml new file mode 100644 index 0000000..eec5686 --- /dev/null +++ b/.github/workflows/regression-with-system-php.yml @@ -0,0 +1,42 @@ +name: Against System PHP + +on: [push] + +jobs: + build: + runs-on: ${{ matrix.operating-system }} + strategy: + fail-fast: false + matrix: + operating-system: [macos-latest] + php-versions: ['7.3'] + phalcon: [3.4, 4.0RC2, 4.0rc3, 73_4.0.0] + name: Building Phalcon@${{matrix.phalcon}} Test on ${{ matrix.operating-system }} + steps: + - name: Checkout + uses: actions/checkout@master + - name: Add Phalcon Tap + run: brew tap phalcon/extension . + - name: Install official php 7.3 + run: brew install php@7.3 + - name: Force Link Unoffical PHP 7.3 + run: brew link --force --overwrite php@7.3 + - name: Try to Install Phalcon + run: brew install phalcon@${{matrix.phalcon}} --without-homebrew-php + - name: Testing ini values 3.4 + if: matrix.phalcon == '3.4' + run: | + php -r "echo 'xdebug: '.extension_loaded('xdebug');" + php -r "echo 'phalcon: ' . phpversion('phalcon').\"\n\";" + php -r "if(! extension_loaded('phalcon')) {throw new Exception('phalcon not found');}" + php -r "if(phpversion('phalcon')!='3.4.5') {throw new Exception('Wrong phalcon version Installed '. phpversion('phalcon'));}" + - name: Testing ini values RC + if: contains( matrix.phalcon, 'rc' ) + run: | + php -r "echo 'xdebug: '.extension_loaded('xdebug');" + php -r "echo 'psr: ' . phpversion('psr').\"\n\";" + php -r "echo 'phalcon: ' . phpversion('phalcon').\"\n\";" + php -r "if(! extension_loaded('psr')) {throw new Exception('psr not found');}" + php -r "if(! extension_loaded('phalcon')) {throw new Exception('phalcon not found');}" + php -r "if(phpversion('phalcon')!='4.0.0') {throw new Exception('Wrong phalcon version Installed '. phpversion('phalcon'));}" + diff --git a/Abstract/abstract-php-extension.rb b/Abstract/abstract-php-extension.rb index f7531a7..0206c09 100755 --- a/Abstract/abstract-php-extension.rb +++ b/Abstract/abstract-php-extension.rb @@ -88,7 +88,7 @@ def safe_phpize def phpize if build.without? "homebrew-php" - "phpize" + ENV["HOMEBREW_PHPIZE"] || "phpize" else "#{Formula[php_formula].opt_bin}/phpize" end @@ -104,7 +104,11 @@ def phpini def phpconfig if build.without? "homebrew-php" - "" + if (ENV["HOMEBREW_PHP_CONFIG"]) + "--with-php-config=#{ENV["HOMEBREW_PHP_CONFIG"]}" + else + "" + end else "--with-php-config=#{Formula[php_formula].opt_bin}/php-config" end diff --git a/Formula/phalcon@3.4.rb b/Formula/phalcon@3.4.rb index d180440..6d0755d 100644 --- a/Formula/phalcon@3.4.rb +++ b/Formula/phalcon@3.4.rb @@ -17,6 +17,7 @@ class PhalconAT34 < AbstractPhp73Extension def install Dir.chdir "build/php7/64bits" + raise safe_phpize system "./configure", "--prefix=#{prefix}", phpconfig, "--enable-phalcon" system "make" diff --git a/Formula/phalcon@4.0.0.rb b/Formula/phalcon@4.0.0.rb index 367c52c..1ea1f88 100644 --- a/Formula/phalcon@4.0.0.rb +++ b/Formula/phalcon@4.0.0.rb @@ -11,6 +11,7 @@ class PhalconAT400 < AbstractPhp74Extension bottle do cellar :any_skip_relocation root_url "https://github.com/phalcon/homebrew-tap/releases/download/v4.0.x" + sha256 "607eaf8613d7d02dd0529fd641978e2a814cb525d502ab882aded143bcda97e4" => :catalina sha256 "e645dfbf9cb485380f7cd92740dc5dcd30f8b6f4b9051ee3f8ec11f903e9243a" => :mojave sha256 "2b827bbdd2b52f136af1cfa1e209457f0264c5d9a0804345982e0a57d50aa940" => :high_sierra sha256 "8f04465129e223fa9e261a73ce3a9d7cdecf6786890c854bd38b560852ed6ec6" => :sierra