summaryrefslogtreecommitdiff
path: root/.github
diff options
context:
space:
mode:
authorSimon Wisselink <wisskid@users.noreply.github.com>2021-10-13 12:15:17 +0200
committerGitHub <noreply@github.com>2021-10-13 12:15:17 +0200
commit39b69f0142a083269489da0daef30be67a0e0ba5 (patch)
tree8c82eec9e7c4fec1e6c6b5d250b8dc6005eddeba /.github
parent9d4f8309ed49702e0d7152f9983c3a9c4b98eb9d (diff)
downloadsmarty-39b69f0142a083269489da0daef30be67a0e0ba5.tar.gz
smarty-39b69f0142a083269489da0daef30be67a0e0ba5.tar.bz2
smarty-39b69f0142a083269489da0daef30be67a0e0ba5.zip
Feature/php8 support (#629)
Adds support for PHP8.0, dropping support for PHP7.0 and below. Backwards incompatible changes: - Dropped support for php asp tags in templates (removed from php since php7.0) - Dropped deprecated API calls that where only accessible through SmartyBC - Dropped support for {php} and {include_php} tags and embedded PHP in templates. Embedded PHP will now be passed through as is. - Removed all PHP_VERSION_ID and compare_version checks and conditional code blocks that are now no longer required - Dropped deprecated SMARTY_RESOURCE_CHAR_SET and SMARTY_RESOURCE_DATE_FORMAT constants - Dropped deprecated Smarty::muteExpectedErrors and Smarty::unmuteExpectedErrors API methods - Dropped deprecated $smarty->getVariable() method. Use $smarty->getTemplateVars() instead. - $smarty->registerResource() no longer accepts an array of callback functions See the changelog for more details. Switched CI from Travis to Github CI.
Diffstat (limited to '.github')
-rw-r--r--.github/workflows/ci.yml73
1 files changed, 73 insertions, 0 deletions
diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml
new file mode 100644
index 00000000..e82642aa
--- /dev/null
+++ b/.github/workflows/ci.yml
@@ -0,0 +1,73 @@
+# https://help.github.com/en/categories/automating-your-workflow-with-github-actions
+
+on:
+ - pull_request
+ - push
+
+name: CI
+
+jobs:
+ tests:
+ name: Tests
+
+ runs-on: ${{ matrix.os }}
+
+ env:
+ PHP_EXTENSIONS: dom, json, libxml, mbstring, pdo_sqlite, soap, xml, xmlwriter
+ PHP_INI_VALUES: assert.exception=1, zend.assertions=1
+
+ strategy:
+ fail-fast: false
+ matrix:
+ os:
+ - ubuntu-latest
+
+ php-version:
+ - "7.1"
+ - "7.2"
+ - "7.3"
+ - "7.4"
+ - "8.0"
+
+ compiler:
+ - default
+
+ include:
+ - os: ubuntu-latest
+ php-version: "8.0"
+ compiler: jit
+
+ steps:
+ - name: Checkout
+ uses: actions/checkout@v2
+
+ - name: Override PHP ini values for JIT compiler
+ if: matrix.compiler == 'jit'
+ run: echo "PHP_INI_VALUES::assert.exception=1, zend.assertions=1, opcache.enable=1, opcache.enable_cli=1, opcache.optimization_level=-1, opcache.jit=1255, opcache.jit_buffer_size=32M" >> $GITHUB_ENV
+
+ - name: Install PHP with extensions
+ uses: shivammathur/setup-php@v2
+ with:
+ php-version: ${{ matrix.php-version }}
+ coverage: pcov
+ extensions: ${{ env.PHP_EXTENSIONS }}
+ ini-values: ${{ env.PHP_INI_VALUES }}
+
+ - name: Validate composer.json and composer.lock
+ run: composer validate
+
+ - name: Cache Composer packages
+ id: composer-cache
+ uses: actions/cache@v2
+ with:
+ path: vendor
+ key: ${{ runner.os }}-php-${{ matrix.php-version }}-${{ hashFiles('**/composer.lock') }}
+ restore-keys: |
+ ${{ runner.os }}-php-${{ matrix.php-version }}-
+
+ - name: Install dependencies
+ if: steps.composer-cache.outputs.cache-hit != 'true'
+ run: composer install --prefer-dist --no-progress --no-suggest
+
+ - name: Run tests with phpunit
+ run: ./phpunit.sh