diff --git a/.github/workflows/documentation.yaml b/.github/workflows/documentation.yaml
index 0cbb4b2c3..cae7087dd 100644
--- a/.github/workflows/documentation.yaml
+++ b/.github/workflows/documentation.yaml
@@ -2,64 +2,65 @@
#
# It's auto-generated by sonata-project/dev-kit package.
-on:
- push:
- paths:
- - 'docs/**'
-
- pull_request:
- paths:
- - 'docs/**'
-
name: Documentation
+on:
+ push:
+ branches:
+ - master
+ - 4.x
+ - 3.x
+ pull_request:
+ paths:
+ - 'docs/**'
+
jobs:
- build:
- name: Build
+ build:
+ name: Build
+
+ runs-on: ubuntu-latest
- runs-on: ubuntu-latest
+ steps:
+ - name: Checkout
+ uses: actions/checkout@v2
- steps:
- - name: "Checkout"
- uses: actions/checkout@v2
+ - name: Set up Python 3.7
+ uses: actions/setup-python@v1
+ with:
+ python-version: '3.7'
- - name: "Set up Python 3.7"
- uses: actions/setup-python@v1
- with:
- python-version: '3.7' # Semantic version range syntax or exact version of a Python version
+ - name: Display Python version
+ run: python -c "import sys; print(sys.version)"
- - name: "Display Python version"
- run: python -c "import sys; print(sys.version)"
+ - name: Install Sphinx dependencies
+ run: sudo apt-get install python-dev build-essential
- - name: "Install Sphinx dependencies"
- run: sudo apt-get install python-dev build-essential
+ - name: Cache pip
+ uses: actions/cache@v2
+ with:
+ path: ~/.cache/pip
- - name: "Cache pip"
- uses: actions/cache@v2
- with:
- path: ~/.cache/pip
- key: ${{ runner.os }}-pip-${{ hashFiles('docs/requirements.txt') }}
- restore-keys: |
- ${{ runner.os }}-pip-
+ key: ${{ runner.os }}-pip-${{ hashFiles('docs/requirements.txt') }}
+ restore-keys: ${{ runner.os }}-pip-
- - name: "Install custom requirements via pip"
- run: pip install -r docs/requirements.txt
+ - name: Install custom requirements via pip
+ run: pip install -r docs/requirements.txt
- - name: "Build documentation"
- run: make docs
+ - name: Build documentation
+ run: make docs
- doctor-rst:
- name: DOCtor-RST
+ doctor-rst:
+ name: DOCtor-RST
- runs-on: ubuntu-latest
+ runs-on: ubuntu-latest
- steps:
- - name: "Checkout"
- uses: actions/checkout@v2
+ steps:
+ - name: Checkout
+ uses: actions/checkout@v2
- - name: "Run DOCtor-RST"
- uses: docker://oskarstark/doctor-rst
- with:
- args: --short
- env:
- DOCS_DIR: 'docs/'
+ - name: Run DOCtor-RST
+ uses: docker://oskarstark/doctor-rst
+ with:
+ args: --short
+ env:
+ DOCS_DIR: 'docs/'
diff --git a/.github/workflows/lint.yaml b/.github/workflows/lint.yaml
index 0e4647bc1..eabaf7600 100644
--- a/.github/workflows/lint.yaml
+++ b/.github/workflows/lint.yaml
@@ -2,68 +2,76 @@
#
# It's auto-generated by sonata-project/dev-kit package.
-on: [push, pull_request]
-
name: Lint
+on:
+ push:
+ branches:
+ - master
+ - 4.x
+ - 3.x
+ pull_request:
+
jobs:
- php-cs-fixer:
- name: PHP-CS-Fixer
+ php-cs-fixer:
+ name: PHP-CS-Fixer
- runs-on: ubuntu-latest
+ runs-on: ubuntu-latest
- steps:
- - name: "Checkout"
- uses: actions/checkout@v2
+ steps:
+ - name: Checkout
+ uses: actions/checkout@v2
- - name: "Run PHP-CS-Fixer"
- uses: docker://oskarstark/php-cs-fixer-ga:2.16.1
- with:
- args: --ansi --verbose --diff --dry-run
+ - name: Run PHP-CS-Fixer
+ uses: docker://oskarstark/php-cs-fixer-ga:2.16.4
+ with:
+ args: --ansi --verbose --diff --dry-run
- composer-normalize:
- name: composer-normalize
+ composer-normalize:
+ name: composer-normalize
- runs-on: ubuntu-latest
+ runs-on: ubuntu-latest
- steps:
- - name: "Checkout"
- uses: actions/checkout@v2
+ steps:
+ - name: Checkout
+ uses: actions/checkout@v2
- - name: "Run composer-normalize"
- uses: docker://localheinz/composer-normalize-action:0.5.2
- with:
- args: --dry-run
+ - name: Run composer-normalize
+ uses: docker://ergebnis/composer-normalize-action:0.8.0
+ with:
+ args: --dry-run
- yaml-files:
- name: YAML files
+ yaml-files:
+ name: YAML files
- runs-on: ubuntu-latest
+ runs-on: ubuntu-latest
- steps:
- - name: "Checkout"
- uses: actions/checkout@v2
+ steps:
+ - name: Checkout
+ uses: actions/checkout@v2
- - name: "Install Ruby 2.6"
- uses: actions/setup-ruby@v1
- with:
- ruby-version: '2.6'
+ - name: Install Ruby 2.6
+ uses: actions/setup-ruby@v1
+ with:
+ ruby-version: '2.6'
- - run: gem install yaml-lint
+ - name: Install required gem
+ run: gem install yaml-lint
- - name: "Linting..."
- run: make lint-yaml
+ - name: Lint files
+ run: make lint-yaml
- xml-files:
- name: XML files
+ xml-files:
+ name: XML files
- runs-on: ubuntu-latest
+ runs-on: ubuntu-latest
- steps:
- - name: "Checkout"
- uses: actions/checkout@v2
+ steps:
+ - name: Checkout
+ uses: actions/checkout@v2
- - run: sudo apt-get update && sudo apt-get install libxml2-utils
+ - name: Install required dependencies
+ run: sudo apt-get update && sudo apt-get install libxml2-utils
- - name: "Linting..."
- run: make lint-xml
+ - name: Lint files
+ run: make lint-xml
diff --git a/.github/workflows/stale.yaml b/.github/workflows/stale.yaml
index 9679ec46c..6ddf10f04 100644
--- a/.github/workflows/stale.yaml
+++ b/.github/workflows/stale.yaml
@@ -4,7 +4,7 @@
# https://github.com/actions/stale
-name: "Stale"
+name: Stale
on:
schedule:
@@ -12,24 +12,22 @@ on:
jobs:
stale:
- runs-on: "ubuntu-latest"
+ runs-on: ubuntu-latest
steps:
- - name: "Close stale issues and pull requests"
-
- uses: "actions/stale@v1.1.0"
-
+ - name: Close stale issues and pull requests
+ uses: actions/stale@v1.1.0
with:
days-before-close: 7
days-before-stale: 180
- repo-token: "${{ secrets.GITHUB_TOKEN }}"
- exempt-issue-label: "keep"
- stale-issue-label: "stale"
+ repo-token: ${{ secrets.GITHUB_TOKEN }}
+ exempt-issue-label: keep
+ stale-issue-label: stale
stale-issue-message: >
This issue has been automatically marked as stale because it has not had
recent activity. It will be closed if no further activity occurs. Thank you
for your contributions.
- stale-pr-label: "stale"
+ stale-pr-label: stale
stale-pr-message: >
This PR has been automatically marked as stale because it has not had
recent activity. It will be closed if no further activity occurs. Thank you
diff --git a/.github/workflows/test.yaml b/.github/workflows/test.yaml
new file mode 100644
index 000000000..e576b64ab
--- /dev/null
+++ b/.github/workflows/test.yaml
@@ -0,0 +1,95 @@
+# DO NOT EDIT THIS FILE!
+#
+# It's auto-generated by sonata-project/dev-kit package.
+
+name: Test
+
+on:
+ push:
+ branches:
+ - master
+ - 4.x
+ - 3.x
+ pull_request:
+
+jobs:
+ test:
+ name: PHP ${{ matrix.php-version }} + ${{ matrix.dependencies }} + ${{ matrix.variant }}
+
+ runs-on: ubuntu-latest
+
+ continue-on-error: ${{ matrix.allowed_to_fail }}
+
+ strategy:
+ matrix:
+ php-version:
+ - '7.3'
+ - '7.4'
+ dependencies: [highest]
+ allowed_to_fail: [false]
+ variant: [normal]
+ include:
+ - php-version: '7.3'
+ dependencies: lowest
+ allowed_to_fail: false
+ variant: normal
+ - php-version: '8.0'
+ dependencies: highest
+ allowed_to_fail: true
+ variant: normal
+ - php-version: '7.3'
+ dependencies: highest
+ allowed_to_fail: false
+ variant: 'symfony/symfony:"5.0.*"'
+
+ steps:
+ - name: Checkout
+ uses: actions/checkout@v2
+
+ - name: Install PHP with extensions
+ uses: shivammathur/setup-php@v2
+ with:
+ php-version: ${{ matrix.php-version }}
+ coverage: pcov
+ tools: composer:v2
+
+ - name: Add PHPUnit matcher
+ run: echo "::add-matcher::${{ runner.tool_cache }}/phpunit.json"
+
+ - name: Set Composer cache directory
+ id: composer-cache
+ run: echo "::set-output name=dir::$(composer config cache-files-dir)"
+
+ - name: Cache Composer
+ uses: actions/cache@v2
+ with:
+ path: ${{ steps.composer-cache.outputs.dir }}
+ key: ${{ runner.os }}-${{ matrix.php-version }}-composer-${{ matrix.dependencies }}-${{ matrix.variant }}
+ restore-keys: ${{ runner.os }}-${{ matrix.php-version }}-composer-
+
+ - name: Install variant
+ if: matrix.variant != 'normal'
+ run: composer require ${{ matrix.variant }} --no-update
+
+ - name: Allow cyclic dependency between block-bundle and admin-bundle
+ run: sed --in-place "s/\"dev-master\":/\"dev-${GITHUB_SHA}\":/" composer.json
+
+ - name: Install Composer dependencies (lowest)
+ if: matrix.dependencies == 'lowest'
+ run: composer update --prefer-dist --no-progress --no-interaction --prefer-stable --prefer-lowest
+
+ - name: Install Composer dependencies (highest)
+ if: matrix.dependencies == 'highest' && matrix.php-version != '8.0'
+ run: composer update --prefer-dist --no-progress --no-interaction --prefer-stable
+
+ - name: Install Composer dependencies (highest) on PHP 8.0
+ if: matrix.dependencies == 'highest' && matrix.php-version == '8.0'
+ run: composer update --prefer-dist --no-progress --no-interaction --prefer-stable --ignore-platform-req=php
+
+ - name: Run Tests
+ run: make test
+
+ - name: Send coverage to Codecov
+ uses: codecov/codecov-action@v1
+ with:
+ file: build/logs/clover.xml
diff --git a/CHANGELOG.md b/CHANGELOG.md
index 064fa7106..9e09c696d 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -64,6 +64,14 @@ This project adheres to [Semantic Versioning](http://semver.org/).
- internal test classes are now excluded from the autoloader
- Removed `AbstractBlockServiceTest::$container`
+## [3.21.0](https://github.com/sonata-project/SonataBlockBundle/compare/3.20.0...3.21.0) - 2020-08-25
+### Added
+- [[#732](https://github.com/sonata-project/SonataBlockBundle/pull/732)] Added support for "twig/twig:^3.0" ([@phansys](https://github.com/phansys))
+- [[#730](https://github.com/sonata-project/SonataBlockBundle/pull/730)] Added support for symfony/options-resolver:^5.1 ([@phansys](https://github.com/phansys))
+
+### Removed
+- [[#715](https://github.com/sonata-project/SonataBlockBundle/pull/715)] Support for Symfony < 4.4 ([@wbloszyk](https://github.com/wbloszyk))
+
## [3.20.0](https://github.com/sonata-project/SonataBlockBundle/compare/3.19.0...3.20.0) - 2020-06-23
### Removed
- remove SonataCoreBundle dependencies
diff --git a/README.md b/README.md
index 5f4c03a46..b7c52de52 100644
--- a/README.md
+++ b/README.md
@@ -16,10 +16,10 @@ Symfony SonataBlockBundle
[![Monthly Downloads](https://poser.pugx.org/sonata-project/block-bundle/d/monthly)](https://packagist.org/packages/sonata-project/block-bundle)
[![Daily Downloads](https://poser.pugx.org/sonata-project/block-bundle/d/daily)](https://packagist.org/packages/sonata-project/block-bundle)
-Branch | Travis | Coveralls | Scrutinizer |
------- | ------ | --------- | ----------- |
-4.x | [![Build Status][travis_stable_badge]][travis_stable_link] | [![Coverage Status][coveralls_stable_badge]][coveralls_stable_link] | [![Scrutinizer Status][scrutinizer_stable_badge]][scrutinizer_stable_link] |
-master | [![Build Status][travis_unstable_badge]][travis_unstable_link] | [![Coverage Status][coveralls_unstable_badge]][coveralls_unstable_link] | [![Scrutinizer Status][scrutinizer_unstable_badge]][scrutinizer_unstable_link] |
+Branch | Travis | Coveralls |
+------ | ------ | --------- |
+4.x | [![Build Status][travis_stable_badge]][travis_stable_link] | [![Coverage Status][coveralls_stable_badge]][coveralls_stable_link] |
+master | [![Build Status][travis_unstable_badge]][travis_unstable_link] | [![Coverage Status][coveralls_unstable_badge]][coveralls_unstable_link] |
## Documentation
@@ -45,8 +45,3 @@ This package is available under the [MIT license](LICENSE).
[coveralls_stable_link]: https://coveralls.io/github/sonata-project/SonataBlockBundle?branch=4.x
[coveralls_unstable_badge]: https://coveralls.io/repos/github/sonata-project/SonataBlockBundle/badge.svg?branch=master
[coveralls_unstable_link]: https://coveralls.io/github/sonata-project/SonataBlockBundle?branch=master
-
-[scrutinizer_stable_badge]: https://scrutinizer-ci.com/g/sonata-project/SonataBlockBundle/badges/quality-score.png?b=4.x
-[scrutinizer_stable_link]: https://scrutinizer-ci.com/g/sonata-project/SonataBlockBundle/?branch=4.x
-[scrutinizer_unstable_badge]: https://scrutinizer-ci.com/g/sonata-project/SonataBlockBundle/badges/quality-score.png?b=master
-[scrutinizer_unstable_link]: https://scrutinizer-ci.com/g/sonata-project/SonataBlockBundle/?branch=master
diff --git a/composer.json b/composer.json
index bb53706bb..03bb7961f 100644
--- a/composer.json
+++ b/composer.json
@@ -38,20 +38,26 @@
"symfony/framework-bundle": "^4.4 || ^5.0",
"symfony/http-foundation": "^4.4 || ^5.0",
"symfony/http-kernel": "^4.4 || ^5.0",
- "symfony/options-resolver": "^4.4 || ^5.0",
+ "symfony/options-resolver": "^4.4 || ^5.1",
"symfony/twig-bundle": "^4.4 || ^5.0",
"twig/twig": "^2.12.1 || ^3.0"
},
+ "conflict": {
+ "knplabs/knp-menu-bundle": "<3.0",
+ "sonata-project/core-bundle": "<3.20"
+ },
"require-dev": {
- "knplabs/knp-menu-bundle": "^2.0 || ^3.0",
+ "knplabs/knp-menu": "^3.1",
+ "knplabs/knp-menu-bundle": "^3.0",
"matthiasnoback/symfony-dependency-injection-test": "^4.1",
+ "phpspec/prophecy": "^1.10",
"symfony/browser-kit": "^4.4 || ^5.0",
"symfony/debug": "^4.4 || ^5.0",
- "symfony/phpunit-bridge": "^5.1",
- "symfony/stopwatch": "^4.4 || ^5.0"
+ "symfony/phpunit-bridge": "^5.1.1",
+ "symfony/stopwatch": "^4.4 || ^5.1"
},
"suggest": {
- "knplabs/knp-menu-bundle": "Required to use the menu block"
+ "knplabs/knp-menu-bundle": "In order to use MenuBlockService."
},
"config": {
"sort-packages": true
diff --git a/phpunit.xml.dist b/phpunit.xml.dist
index 349f5688f..e220f033d 100644
--- a/phpunit.xml.dist
+++ b/phpunit.xml.dist
@@ -32,7 +32,7 @@ It's auto-generated by sonata-project/dev-kit package.
-
+