diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml new file mode 100644 index 0000000..ad0dc7a --- /dev/null +++ b/.github/workflows/tests.yml @@ -0,0 +1,78 @@ +name: PHP Composer + +#whenever master has a PR or is pushed to +on: + push: + branches: [ master ] + pull_request: + branches: [ master ] + +jobs: + run: + runs-on: ubuntu-18.04 + strategy: + #for each of the following versions of PHP, with and without --prefer-lowest + matrix: + php-versions: ['7.2.0', '7.2.1', '7.2.2', '7.3.0', '7.3.1', '7.3.2', '7.4.0', '7.4.1', '7.4.2', '8.0.0'] + include: + - php-versions: '7.2.0' + laravel-versions: '^5.5' + - php-versions: '7.2.1' + laravel-versions: '^6.0' + - php-versions: '7.2.2' + laravel-versions: '^7.0' + - php-versions: '7.3.0' + laravel-versions: '^6.0' + - php-versions: '7.3.1' + laravel-versions: '^7.0' + - php-versions: '7.3.2' + laravel-versions: '^8.0' + - php-versions: '7.4.0' + laravel-versions: '^6.0' + - php-versions: '7.4.1' + laravel-versions: '^7.0' + - php-versions: '7.4.2' + laravel-versions: '^8.0' + - php-versions: '8.0.0' + laravel-versions: '^9.0' + + #set the name for each job + name: PHP ${{ matrix.php-versions }} + #set up environment variables used by unit tests + env: + AWS_ACCESS_KEY_ID: foo + AWS_SECRET_ACCESS_KEY: bar + AWS_CSM_ENABLED: false + steps: + #sets up the correct version of PHP with necessary config options + - name: Setup PHP + uses: shivammathur/setup-php@v2 + with: + php-version: ${{ matrix.php-versions }} + ini-values: memory_limit=4G, phar.readonly=false + + #checkout the codebase from github + - name: Checkout codebase + uses: actions/checkout@v3 + + #require laravel + - name: Require laravel + run: composer require laravel/framework:${{ matrix.laravel-versions }} --no-interaction --prefer-dist + + #run tests + - name: Run test suite + run: vendor/bin/phpunit + + #remove laravel + - name: Remove laravel + run: | + composer remove laravel/framework + rm composer.lock + + #require lumen + - name: Require lumen + run: composer require laravel/lumen-framework:${{ matrix.laravel-versions }} --no-interaction --prefer-dist + + #run tests + - name: Run test suite + run: vendor/bin/phpunit diff --git a/.travis.yml b/.travis.yml deleted file mode 100644 index 12ceee5..0000000 --- a/.travis.yml +++ /dev/null @@ -1,56 +0,0 @@ -dist: trusty - -cache: - directories: - - $HOME/.composer/cache/files - -language: php - -matrix: - allow_failures: - - php: nightly - - include: - - php: 5.5.9 - env: LARAVEL="5.1.*" LUMEN="5.1.*" - - php: hhvm-3.18 - env: LARAVEL="5.1.*" LUMEN="5.1.*" - - php: 7.0 - env: LARAVEL="5.5.*" LUMEN="5.5.*" - - php: 7.1 - env: LARAVEL="^5.5" LUMEN="^5.5" - - php: 7.2 - env: LARAVEL="^5.5" LUMEN="^5.5" - - php: 7.2 - env: LARAVEL="^6.0" LUMEN="^6.0" - - php: 7.2 - env: LARAVEL="^7.0" LUMEN="^7.0@dev" - - php: 7.3 - env: LARAVEL="^6.0" LUMEN="^6.0" - - php: 7.3 - env: LARAVEL="^7.0" LUMEN="^7.0" - - php: 7.3 - env: LARAVEL="^8.0" LUMEN="^8.0@dev" - - php: 7.4 - env: LARAVEL="^6.0" LUMEN="^6.0" - - php: 7.4 - env: LARAVEL="^7.0" LUMEN="^7.0" - - php: 7.4 - env: LARAVEL="^8.0" LUMEN="^8.0@dev" - - php: nightly - env: LARAVEL="^6.0" LUMEN="^6.0" - - php: nightly - env: LARAVEL="^7.0" LUMEN="^7.0" - - php: nightly - env: LARAVEL="^8.0" LUMEN="^8.0@dev" - -before_install: - - echo "memory_limit=3G" >> ~/.phpenv/versions/$(phpenv version-name)/etc/conf.d/travis.ini - -script: - - travis_retry composer require laravel/framework:${LARAVEL} --no-interaction --prefer-dist - - vendor/bin/phpunit - - composer remove laravel/framework - - rm composer.lock - - travis_retry composer require laravel/lumen-framework:${LUMEN} --no-interaction --prefer-dist - - vendor/bin/phpunit diff --git a/CHANGELOG.md b/CHANGELOG.md index 863f6d1..63a0693 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,8 +1,9 @@ # CHANGELOG -## 3.6.0 - 2020-09-14 +## 3.7.0 - 2022-03-08 -* Adds support for Laravel 8.0 +* Adds support for Laravel 9.0 +* Moves Travis CI tests to GitHub actions ## 3.5.0 - 2020-03-11 diff --git a/README.md b/README.md index 6b08f68..150a268 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,4 @@ -# AWS Service Provider for Laravel 5/6/7/8 +# AWS Service Provider for Laravel 5/6/7/8/9 [![@awsforphp on Twitter](http://img.shields.io/badge/twitter-%40awsforphp-blue.svg?style=flat)](https://twitter.com/awsforphp) [![Build Status](https://img.shields.io/travis/aws/aws-sdk-php-laravel.svg)](https://travis-ci.org/aws/aws-sdk-php-laravel) @@ -14,7 +14,7 @@ PHP and Laravel 5.1. **Major Versions:** -* **3.x** (YOU ARE HERE) - For `laravel/framework:~5.1|~6.0|~7.0|~8.0` and `aws/aws-sdk-php:~3.0` +* **3.x** (YOU ARE HERE) - For `laravel/framework:~5.1|~6.0|~7.0|~8.0|9.0` and `aws/aws-sdk-php:~3.0` * **2.x** ([2.0 branch](https://github.com/aws/aws-sdk-php-laravel/tree/2.0)) - For `laravel/framework:5.0.*` and `aws/aws-sdk-php:~2.4` * **1.x** ([1.0 branch](https://github.com/aws/aws-sdk-php-laravel/tree/1.0)) - For `laravel/framework:4.*` and `aws/aws-sdk-php:~2.4` diff --git a/composer.json b/composer.json index 427c541..4a43e1e 100644 --- a/composer.json +++ b/composer.json @@ -1,8 +1,8 @@ { "name": "aws/aws-sdk-php-laravel", "homepage": "http://aws.amazon.com/sdkforphp2", - "description": "A simple Laravel 5/6/7/8 service provider for including the AWS SDK for PHP.", - "keywords": ["laravel", "laravel 5", "laravel 6", "laravel 7", "laravel 8", "aws", "amazon", "sdk", "s3", "ec2", "dynamodb"], + "description": "A simple Laravel 5/6/7/8/9 service provider for including the AWS SDK for PHP.", + "keywords": ["laravel", "laravel 5", "laravel 6", "laravel 7", "laravel 8", "laravel 9", "aws", "amazon", "sdk", "s3", "ec2", "dynamodb"], "type":"library", "license":"Apache-2.0", "authors":[ @@ -12,12 +12,12 @@ } ], "require": { - "php": ">=5.5.9", + "php": ">=7.1", "aws/aws-sdk-php": "~3.0", - "illuminate/support": "^5.1 || ^6.0 || ^7.0 || ^8.0" + "illuminate/support": "^5.1 || ^6.0 || ^7.0 || ^8.0 || ^9.0" }, "require-dev": { - "phpunit/phpunit": "^4.0 || ^5.0", + "phpunit/phpunit": "^8.0", "vlucas/phpdotenv": "^1.0 || ^2.0 || ^3.0 || ^4.0 || ^5.0" }, "suggest": { diff --git a/phpunit.xml b/phpunit.xml index 9bca1c5..e5598ab 100644 --- a/phpunit.xml +++ b/phpunit.xml @@ -7,8 +7,7 @@ convertNoticesToExceptions="true" convertWarningsToExceptions="true" processIsolation="false" - stopOnFailure="false" - syntaxCheck="false"> + stopOnFailure="false"> diff --git a/src/AwsServiceProvider.php b/src/AwsServiceProvider.php index 05c02f4..60b1b69 100644 --- a/src/AwsServiceProvider.php +++ b/src/AwsServiceProvider.php @@ -10,7 +10,7 @@ */ class AwsServiceProvider extends ServiceProvider { - const VERSION = '3.6.0'; + const VERSION = '3.7.0'; /** * Indicates if loading of the provider is deferred. diff --git a/tests/AwsServiceProviderTest.php b/tests/AwsServiceProviderTest.php index 3686345..8d4035b 100644 --- a/tests/AwsServiceProviderTest.php +++ b/tests/AwsServiceProviderTest.php @@ -4,7 +4,7 @@ use Aws\Laravel\AwsServiceProvider; use Illuminate\Container\Container; -abstract class AwsServiceProviderTest extends \PHPUnit_Framework_TestCase +abstract class AwsServiceProviderTest extends \PHPUnit\Framework\TestCase { public function testFacadeCanBeResolvedToServiceInstance() @@ -52,7 +52,7 @@ public function testVersionInformationIsProvidedToSdkUserAgent() $config = $app['config']->get('aws'); $this->assertArrayHasKey('ua_append', $config); - $this->assertInternalType('array', $config['ua_append']); + $this->assertIsArray($config['ua_append']); $this->assertNotEmpty($config['ua_append']); $this->assertNotEmpty(array_filter($config['ua_append'], function ($ua) { return false !== strpos($ua, AwsServiceProvider::VERSION); diff --git a/tests/LaravelAwsServiceProviderTest.php b/tests/LaravelAwsServiceProviderTest.php index 85f24d6..11c5835 100644 --- a/tests/LaravelAwsServiceProviderTest.php +++ b/tests/LaravelAwsServiceProviderTest.php @@ -5,7 +5,7 @@ class LaravelAwsServiceProviderTest extends AwsServiceProviderTest { - public function setUp() + public function setUp(): void { if (!class_exists(Application::class)) { $this->markTestSkipped(); diff --git a/tests/LumenAwsServiceProviderTest.php b/tests/LumenAwsServiceProviderTest.php index ff301c4..5228544 100644 --- a/tests/LumenAwsServiceProviderTest.php +++ b/tests/LumenAwsServiceProviderTest.php @@ -6,7 +6,7 @@ class LumenAwsServiceProviderTest extends AwsServiceProviderTest { - public function setUp() + public function setUp(): void { if (!class_exists(Application::class)) { $this->markTestSkipped();