Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Laravel 11.x Compatibility #62

Closed
wants to merge 2 commits into from
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
254 changes: 180 additions & 74 deletions .github/workflows/php.yml
Original file line number Diff line number Diff line change
@@ -1,125 +1,231 @@
# yaml-language-server: $schema=https://json.schemastore.org/github-workflow

name: Tests

on:
push:
pull_request:

jobs:

byte_level:
name: "0️⃣ Byte-level"
runs-on: "ubuntu-latest"
name: 0️⃣ Byte-level





runs-on: ubuntu-latest





steps:
- name: "Checkout code"
uses: "actions/checkout@v3"
- name: Checkout code
uses: actions/checkout@v3




- name: "Check file permissions"

- name: Check file permissions
run: |
test "$(find . -type f -not -path './.git/*' -executable)" == ""
- name: "Find non-printable ASCII characters"





- name: Find non-printable ASCII characters
run: |
! LC_ALL=C.UTF-8 find ./src -type f -name "*.php" -print0 | xargs -0 -- grep -PHn "[^ -~]"

syntax_errors:
name: "1️⃣ Syntax errors"
runs-on: "ubuntu-latest"
name: 1️⃣ Syntax errors





runs-on: ubuntu-latest





steps:
- name: "Set up PHP"
uses: "shivammathur/setup-php@v2"
- name: Set up PHP
uses: shivammathur/setup-php@v2
with:
php-version: "8.1"
tools: "parallel-lint"
php-version: '8.1'
tools: parallel-lint





- name: Checkout code
uses: actions/checkout@v3





- name: Validate Composer configuration
run: composer validate --strict



- name: "Checkout code"
uses: "actions/checkout@v3"

- name: "Validate Composer configuration"
run: "composer validate --strict"

- name: "Check source code for syntax errors"
run: "composer exec -- parallel-lint src/"
- name: Check source code for syntax errors
run: composer exec -- parallel-lint src/

unit_tests:
name: "2️⃣ Unit and Feature tests"
name: 2️⃣ Unit and Feature tests



needs:
- "byte_level"
- "syntax_errors"
runs-on: "ubuntu-latest"
- byte_level
- syntax_errors





runs-on: ubuntu-latest

strategy:
matrix:
php-version:
- "8.0"
- "8.1"
- "8.2"
laravel-constraint:
- "9.*"
- "10.*"
dependencies:
- "lowest"
- "highest"
php-version: ['8.0', '8.1', '8.2']
laravel-constraint: ['9.*', '10.*', '11.*']
dependencies: [lowest, highest]
exclude:
- php-version: "8.0"
laravel-constraint: "10.*"
- php-version: '8.0'
laravel-constraint: 10.*
- laravel-constraint: 11.*
php-version: '8.0'
- laravel-constraint: 11.*
php-version: '8.1'





steps:
- name: "Set up PHP"
uses: "shivammathur/setup-php@v2"
- name: Set up PHP
uses: shivammathur/setup-php@v2
with:
php-version: "${{ matrix.php-version }}"
extensions: "mbstring, intl"
coverage: "xdebug"
php-version: ${{ matrix.php-version }}
extensions: mbstring, intl
coverage: xdebug


- name: "Checkout code"
uses: "actions/checkout@v3"

- name: "Install dependencies"
uses: "ramsey/composer-install@v2"


- name: Checkout code
uses: actions/checkout@v3





- name: Install dependencies
uses: ramsey/composer-install@v2
with:
dependency-versions: "${{ matrix.dependencies }}"
composer-options: "--with=laravel/framework:${{ matrix.laravel-constraint }}"
dependency-versions: ${{ matrix.dependencies }}
composer-options: --with=laravel/framework:${{ matrix.laravel-constraint }}





- name: Execute unit tests
run: composer run-script test




- name: "Execute unit tests"
run: "composer run-script test"

- name: "Upload coverage to Codecov"
uses: "codecov/codecov-action@v3"
- name: Upload coverage to Codecov
uses: codecov/codecov-action@v3

static_analysis:
name: "3️⃣ Static Analysis"
name: 3️⃣ Static Analysis



needs:
- "byte_level"
- "syntax_errors"
runs-on: "ubuntu-latest"
- byte_level
- syntax_errors





runs-on: ubuntu-latest





steps:
- name: "Set up PHP"
uses: "shivammathur/setup-php@v2"
- name: Set up PHP
uses: shivammathur/setup-php@v2
with:
tools: "phpstan"
php-version: "latest"
coverage: "none"
tools: phpstan
php-version: latest
coverage: none


- name: "Checkout code"
uses: "actions/checkout@v3"

- name: "Install dependencies"
uses: "ramsey/composer-install@v2"

- name: "Execute static analysis"
run: "composer exec -- phpstan analyze -l 5 src/"

- name: Checkout code
uses: actions/checkout@v3





- name: Install dependencies
uses: ramsey/composer-install@v2





- name: Execute static analysis
run: composer exec -- phpstan analyze -l 5 src/

exported_files:
name: "4️⃣ Exported files"
name: 4️⃣ Exported files



needs:
- "byte_level"
- "syntax_errors"
runs-on: "ubuntu-latest"
- byte_level
- syntax_errors





runs-on: ubuntu-latest





steps:
- name: "Checkout code"
uses: "actions/checkout@v3"
- name: Checkout code
uses: actions/checkout@v3





- name: "Check exported files"
- name: Check exported files
run: |
EXPECTED="LICENSE.md,README.md,composer.json"
CURRENT="$(git archive HEAD | tar --list --exclude="src" --exclude="src/*" --exclude=".stubs" --exclude=".stubs/*" --exclude="routes" --exclude="routes/*" --exclude="stubs" --exclude="stubs/*" --exclude="lang" --exclude="lang/*" --exclude="config" --exclude="config/*" --exclude="database" --exclude="database/*" --exclude="resources" --exclude="resources/*" | paste -s -d ",")"
Expand Down
16 changes: 8 additions & 8 deletions composer.json
Original file line number Diff line number Diff line change
Expand Up @@ -29,16 +29,16 @@
"laragear/meta": "^2.1.0",
"bacon/bacon-qr-code": "2.*",
"paragonie/constant_time_encoding": "^2.5",
"illuminate/config": "9.*|10.*",
"illuminate/validation": "9.*|10.*",
"illuminate/database": "9.*|10.*",
"illuminate/support": "9.*|10.*",
"illuminate/http": "9.*|10.*",
"illuminate/auth": "9.*|10.*"
"illuminate/config": "9.*|10.*|^11.0",
"illuminate/validation": "9.*|10.*|^11.0",
"illuminate/database": "9.*|10.*|^11.0",
"illuminate/support": "9.*|10.*|^11.0",
"illuminate/http": "9.*|10.*|^11.0",
"illuminate/auth": "9.*|10.*|^11.0"
},
"require-dev": {
"laragear/meta-testing": "^1.3.1",
"orchestra/testbench": "^7.22|8.*"
"orchestra/testbench": "^7.22|8.*|^9.0"
},
"autoload": {
"psr-4": {
Expand All @@ -61,7 +61,7 @@
"extra": {
"laravel": {
"providers": [
"Laragear\\TwoFactor\\TwoFactorServiceProvider"
"Laragear\\TwoFactor\\TwoFactorServiceProvider"
]
}
},
Expand Down
Loading