diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 1ee352982..b76a06527 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -33,6 +33,10 @@ jobs: tools: "composer:v2" coverage: "none" git-fetch-depth: 1 + - php: 8.0 + tools: "composer:v2" + coverage: "pcov" + git-fetch-depth: 1 steps: - uses: actions/checkout@v2 diff --git a/.github/workflows/e2e.yml b/.github/workflows/e2e.yml new file mode 100644 index 000000000..a4a2eab74 --- /dev/null +++ b/.github/workflows/e2e.yml @@ -0,0 +1,60 @@ +name: e2e + +on: + push: + branches: [ master ] + pull_request: + +jobs: + + e2e: + runs-on: ubuntu-latest + name: ${{ matrix.e2e }} - ${{ matrix.php }} + strategy: + fail-fast: false + matrix: + e2e: + - 'e2e_php_settings_checker' + - 'e2e_scoper_alias' + - 'e2e_scoper_whitelist' + - 'e2e_check_requirements' + - 'e2e_symfony' + - 'e2e_composer_installed_versions' + php: [ '7.3', '8.0' ] + tools: [ 'composer:v2' ] + + steps: + - uses: actions/checkout@v2 + with: + fetch-depth: 0 + + - name: Setup PHP + uses: shivammathur/setup-php@v2 + with: + php-version: ${{ matrix.php }} + ini-values: "phar.readonly=0" + tools: ${{ matrix.tools }} + coverage: pcov + + - name: Get composer cache directory + id: composercache + run: echo "::set-output name=dir::$(composer config cache-files-dir)" + + - name: Cache composer dependencies + uses: actions/cache@v2 + with: + path: ${{ steps.composercache.outputs.dir }} + key: composer-${{ runner.os }}-${{ matrix.php }}-${{ hashFiles('composer.*') }} + restore-keys: | + composer-${{ runner.os }}-${{ matrix.php }}- + composer-${{ runner.os }}- + composer- + + - name: Install dependencies + run: composer install --no-interaction --no-progress --no-suggest --prefer-dist + + - name: Install requirement-checker dependencies + run: composer install --no-interaction --no-progress --prefer-dist --working-dir requirement-checker + + - name: Run e2e ${{ matrix.e2e }} + run: make ${{ matrix.e2e }} diff --git a/composer.json b/composer.json index aa22eda7f..bfaea2462 100644 --- a/composer.json +++ b/composer.json @@ -41,7 +41,7 @@ "minimum-stability": "dev", "prefer-stable": true, "require": { - "php": "^7.3", + "php": "^7.3 || ^8.0", "ext-phar": "*", "amphp/parallel-functions": "^0.1.3", "beberlei/assert": "^3.2", diff --git a/composer.lock b/composer.lock index 723bd0f25..06f41f4c6 100644 --- a/composer.lock +++ b/composer.lock @@ -4,20 +4,20 @@ "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies", "This file is @generated automatically" ], - "content-hash": "8050674eeab1d858123fa1de61f99fae", + "content-hash": "10f22f46e2f224ac357bd3f048f17c98", "packages": [ { "name": "amphp/amp", - "version": "v2.5.0", + "version": "v2.5.1", "source": { "type": "git", "url": "https://github.com/amphp/amp.git", - "reference": "f220a51458bf4dd0dedebb171ac3457813c72bbc" + "reference": "ecdc3c476b3ccff02f8e5d5bcc04f7ccfd18751c" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/amphp/amp/zipball/f220a51458bf4dd0dedebb171ac3457813c72bbc", - "reference": "f220a51458bf4dd0dedebb171ac3457813c72bbc", + "url": "https://api.github.com/repos/amphp/amp/zipball/ecdc3c476b3ccff02f8e5d5bcc04f7ccfd18751c", + "reference": "ecdc3c476b3ccff02f8e5d5bcc04f7ccfd18751c", "shasum": "" }, "require": { @@ -85,7 +85,7 @@ "support": { "irc": "irc://irc.freenode.org/amphp", "issues": "https://github.com/amphp/amp/issues", - "source": "https://github.com/amphp/amp/tree/master" + "source": "https://github.com/amphp/amp/tree/v2.5.1" }, "funding": [ { @@ -93,7 +93,7 @@ "type": "github" } ], - "time": "2020-07-14T21:47:18+00:00" + "time": "2020-11-03T16:23:45+00:00" }, { "name": "amphp/byte-stream", @@ -1820,7 +1820,7 @@ "support": { "source": "https://github.com/JetBrains/phpstorm-stubs/tree/master" }, - "time": "2020-11-17T11:49:11+00:00" + "time": "2020-12-05T10:13:52+00:00" }, { "name": "justinrainbow/json-schema", @@ -2005,29 +2005,29 @@ }, { "name": "opis/closure", - "version": "3.5.7", + "version": "3.6.1", "source": { "type": "git", "url": "https://github.com/opis/closure.git", - "reference": "4531e53afe2fc660403e76fb7644e95998bff7bf" + "reference": "943b5d70cc5ae7483f6aff6ff43d7e34592ca0f5" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/opis/closure/zipball/4531e53afe2fc660403e76fb7644e95998bff7bf", - "reference": "4531e53afe2fc660403e76fb7644e95998bff7bf", + "url": "https://api.github.com/repos/opis/closure/zipball/943b5d70cc5ae7483f6aff6ff43d7e34592ca0f5", + "reference": "943b5d70cc5ae7483f6aff6ff43d7e34592ca0f5", "shasum": "" }, "require": { - "php": "^5.4 || ^7.0" + "php": "^5.4 || ^7.0 || ^8.0" }, "require-dev": { "jeremeamia/superclosure": "^2.0", - "phpunit/phpunit": "^4.0 || ^5.0 || ^6.0 || ^7.0" + "phpunit/phpunit": "^4.0 || ^5.0 || ^6.0 || ^7.0 || ^8.0 || ^9.0" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "3.5.x-dev" + "dev-master": "3.6.x-dev" } }, "autoload": { @@ -2064,9 +2064,9 @@ ], "support": { "issues": "https://github.com/opis/closure/issues", - "source": "https://github.com/opis/closure/tree/3.5.7" + "source": "https://github.com/opis/closure/tree/3.6.1" }, - "time": "2020-09-06T17:02:15+00:00" + "time": "2020-11-07T02:01:34+00:00" }, { "name": "paragonie/constant_time_encoding", @@ -5631,7 +5631,7 @@ "prefer-stable": true, "prefer-lowest": false, "platform": { - "php": "^7.3", + "php": "^7.3 || ^8.0", "ext-phar": "*", "composer-plugin-api": "^1.0 || ^2.0" }, diff --git a/fixtures/build/dir011/composer.json b/fixtures/build/dir011/composer.json index 0bc7b5f93..b0367efb8 100644 --- a/fixtures/build/dir011/composer.json +++ b/fixtures/build/dir011/composer.json @@ -7,5 +7,5 @@ "src/functions.php" ] }, - "bin": "index.php" + "bin": ["index.php"] } diff --git a/fixtures/build/dir012/composer.json b/fixtures/build/dir012/composer.json index a9e872cfd..92e1d63d8 100644 --- a/fixtures/build/dir012/composer.json +++ b/fixtures/build/dir012/composer.json @@ -20,7 +20,7 @@ "php": "7.2.9" } }, - "bin": "bin/console", + "bin": ["bin/console"], "autoload": { "psr-4": { "App\\": "src/"