From bf42639c36aeb8c40ec6f9562ebc4deb7457f09d Mon Sep 17 00:00:00 2001 From: Mior Muhammad Zaki Date: Wed, 14 Dec 2022 23:52:09 +0800 Subject: [PATCH] Deprecation test improvements --- .github/workflows/deprecations.yml | 112 +++++++++++++++++++++++++++++ composer.json | 4 +- 2 files changed, 114 insertions(+), 2 deletions(-) create mode 100644 .github/workflows/deprecations.yml diff --git a/.github/workflows/deprecations.yml b/.github/workflows/deprecations.yml new file mode 100644 index 000000000000..aa84d1a149c2 --- /dev/null +++ b/.github/workflows/deprecations.yml @@ -0,0 +1,112 @@ +name: deprecations + +on: + push: + branches: + - master + - '*.x' + pull_request: + +jobs: + linux_tests: + runs-on: ubuntu-22.04 + + services: + memcached: + image: memcached:1.6-alpine + ports: + - 11211:11211 + mysql: + image: mysql:5.7 + env: + MYSQL_ALLOW_EMPTY_PASSWORD: yes + MYSQL_DATABASE: forge + ports: + - 33306:3306 + options: --health-cmd="mysqladmin ping" --health-interval=10s --health-timeout=5s --health-retries=3 + redis: + image: redis:5.0 + ports: + - 6379:6379 + options: --entrypoint redis-server + dynamodb: + image: amazon/dynamodb-local:latest + ports: + - 8888:8000 + + strategy: + fail-fast: false + matrix: + php: ['8.0', 8.1, 8.2] + stability: [prefer-stable] + experimental: + - true + + name: PHP ${{ matrix.php }} - ${{ matrix.stability }} + + steps: + - name: Checkout code + uses: actions/checkout@v3 + + - name: Setup PHP + uses: shivammathur/setup-php@v2 + with: + php-version: ${{ matrix.php }} + extensions: dom, curl, libxml, mbstring, zip, pcntl, pdo, sqlite, pdo_sqlite, gd, redis-phpredis/phpredis@5.3.7, igbinary, msgpack, lzf, zstd, lz4, memcached, gmp + ini-values: error_reporting=E_ALL + tools: composer:v2 + coverage: none + env: + REDIS_CONFIGURE_OPTS: --enable-redis --enable-redis-igbinary --enable-redis-msgpack --enable-redis-lzf --with-liblzf --enable-redis-zstd --with-libzstd --enable-redis-lz4 --with-liblz4 + REDIS_LIBS: liblz4-dev, liblzf-dev, libzstd-dev + + - name: Set Minimum PHP 8.0 Versions + uses: nick-fields/retry@v2 + with: + timeout_minutes: 5 + max_attempts: 5 + command: composer require guzzlehttp/guzzle:^7.2 --no-interaction --no-update + if: matrix.php >= 8 + + - name: Set Minimum PHP 8.1 Versions + uses: nick-fields/retry@v2 + with: + timeout_minutes: 5 + max_attempts: 5 + command: composer require ramsey/collection:^1.2 brick/math:^0.9.3 symfony/css-selector:^6.0 --no-interaction --no-update + if: matrix.php >= 8.1 + + - name: Set Minimum PHP 8.2 Versions + uses: nick-fields/retry@v2 + with: + timeout_minutes: 5 + max_attempts: 5 + command: composer require guzzlehttp/guzzle:^7.5 guzzlehttp/psr7:^2.4 predis/predis:^2.0.2 --no-interaction --no-update + if: matrix.php >= 8.2 + + - name: Install dependencies + uses: nick-fields/retry@v2 + with: + timeout_minutes: 5 + max_attempts: 5 + command: composer update --${{ matrix.stability }} --prefer-dist --no-interaction --no-progress + + - name: Execute tests + run: vendor/bin/phpunit --verbose + env: + APP_KEY: "AckfSECXIvnK5r28GVIWUAxmbBSjTsmF" + DB_PORT: ${{ job.services.mysql.ports[3306] }} + DB_USERNAME: root + DYNAMODB_CACHE_TABLE: laravel_dynamodb_test + DYNAMODB_ENDPOINT: "http://localhost:8888" + AWS_ACCESS_KEY_ID: random_key + AWS_SECRET_ACCESS_KEY: random_secret + TESTBENCH_CONVERT_DEPRECATIONS_TO_EXCEPTIONS: true + + - name: Store artifacts + uses: actions/upload-artifact@v2 + with: + name: logs + path: | + vendor/orchestra/testbench-core/laravel/storage/logs + !vendor/**/.gitignore diff --git a/composer.json b/composer.json index 97280b8aa19f..13fd89172d4b 100644 --- a/composer.json +++ b/composer.json @@ -23,7 +23,7 @@ "egulias/email-validator": "^3.2.1", "fruitcake/php-cors": "^1.2", "laravel/serializable-closure": "^1.2.2", - "league/commonmark": "^2.2", + "league/commonmark": "^2.2.1", "league/flysystem": "^3.8.0", "monolog/monolog": "^2.0", "nesbot/carbon": "^2.62.1", @@ -93,7 +93,7 @@ "league/flysystem-read-only": "^3.3", "league/flysystem-sftp-v3": "^3.0", "mockery/mockery": "^1.5.1", - "orchestra/testbench-core": "^7.11", + "orchestra/testbench-core": "^7.16", "pda/pheanstalk": "^4.0", "phpstan/phpstan": "^1.4.7", "phpunit/phpunit": "^9.5.8",