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. - +