Improves CI
6
.gitattributes
vendored
@@ -2,10 +2,12 @@
|
|||||||
# https://www.kernel.org/pub/software/scm/git/docs/gitattributes.html
|
# https://www.kernel.org/pub/software/scm/git/docs/gitattributes.html
|
||||||
|
|
||||||
# Ignore all test and documentation with "export-ignore".
|
# Ignore all test and documentation with "export-ignore".
|
||||||
|
/.github export-ignore
|
||||||
/.gitattributes export-ignore
|
/.gitattributes export-ignore
|
||||||
/.gitignore export-ignore
|
/.gitignore export-ignore
|
||||||
/phpunit.xml.dist export-ignore
|
/phpunit.xml.dist export-ignore
|
||||||
|
/phpunit.xml export-ignore
|
||||||
/tests export-ignore
|
/tests export-ignore
|
||||||
/.editorconfig export-ignore
|
/.editorconfig export-ignore
|
||||||
/.github export-ignore
|
/.styleci.yml export-ignore
|
||||||
/.assets export-ignore
|
/composer.lock export-ignore
|
||||||
|
Before Width: | Height: | Size: 14 KiB After Width: | Height: | Size: 14 KiB |
0
.assets/ko-fi.png → .github/assets/ko-fi.png
vendored
|
Before Width: | Height: | Size: 8.2 KiB After Width: | Height: | Size: 8.2 KiB |
|
Before Width: | Height: | Size: 5.7 KiB After Width: | Height: | Size: 5.7 KiB |
|
Before Width: | Height: | Size: 7.0 KiB After Width: | Height: | Size: 7.0 KiB |
143
.github/workflows/php.yml
vendored
@@ -1,50 +1,125 @@
|
|||||||
name: Tests
|
# yaml-language-server: $schema=https://json.schemastore.org/github-workflow
|
||||||
|
|
||||||
|
name: "Tests"
|
||||||
|
|
||||||
on:
|
on:
|
||||||
push:
|
push:
|
||||||
pull_request:
|
pull_request:
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
test:
|
|
||||||
|
|
||||||
runs-on: ubuntu-latest
|
|
||||||
strategy:
|
|
||||||
fail-fast: true
|
|
||||||
matrix:
|
|
||||||
php: [ 8.0, 8.1 ]
|
|
||||||
laravel: [ 9.* ]
|
|
||||||
dependency-version: [ prefer-stable, prefer-lowest ]
|
|
||||||
include:
|
|
||||||
- laravel: 9.*
|
|
||||||
testbench: 7.*
|
|
||||||
|
|
||||||
name: PHP ${{ matrix.php }} - Laravel ${{ matrix.laravel }} - ${{ matrix.dependency-version }}
|
|
||||||
|
|
||||||
|
byte_level:
|
||||||
|
name: "0️⃣ Byte-level"
|
||||||
|
runs-on: "ubuntu-latest"
|
||||||
steps:
|
steps:
|
||||||
- name: Checkout
|
- name: "Checkout code"
|
||||||
uses: actions/checkout@v2
|
uses: "actions/checkout@v3"
|
||||||
|
|
||||||
- name: Setup PHP
|
- name: "Check file permissions"
|
||||||
uses: shivammathur/setup-php@v2
|
run: |
|
||||||
|
test "$(find . -type f -not -path './.git/*' -executable)" == ""
|
||||||
|
- 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"
|
||||||
|
steps:
|
||||||
|
- name: "Set up PHP"
|
||||||
|
uses: "shivammathur/setup-php@v2"
|
||||||
with:
|
with:
|
||||||
php-version: ${{ matrix.php }}
|
php-version: "8.1"
|
||||||
|
tools: "parallel-lint"
|
||||||
|
|
||||||
|
- name: "Checkout code"
|
||||||
|
uses: "actions/checkout@v3"
|
||||||
|
|
||||||
|
- name: "Install dependencies"
|
||||||
|
uses: "ramsey/composer-install@v2"
|
||||||
|
with:
|
||||||
|
dependency-versions: "highest"
|
||||||
|
|
||||||
|
- name: "Check source code for syntax errors"
|
||||||
|
run: "composer exec -- parallel-lint src/"
|
||||||
|
|
||||||
|
unit_tests:
|
||||||
|
name: "2️⃣ Unit and Feature tests"
|
||||||
|
needs:
|
||||||
|
- "byte_level"
|
||||||
|
- "syntax_errors"
|
||||||
|
runs-on: "ubuntu-latest"
|
||||||
|
strategy:
|
||||||
|
matrix:
|
||||||
|
php-version:
|
||||||
|
- "8.1"
|
||||||
|
laravel-constrain:
|
||||||
|
- "9.*"
|
||||||
|
dependencies:
|
||||||
|
- "lowest"
|
||||||
|
- "highest"
|
||||||
|
steps:
|
||||||
|
- name: "Set up PHP"
|
||||||
|
uses: "shivammathur/setup-php@v2"
|
||||||
|
with:
|
||||||
|
php-version: "${{ matrix.php-version }}"
|
||||||
extensions: mbstring, intl
|
extensions: mbstring, intl
|
||||||
coverage: xdebug
|
coverage: xdebug
|
||||||
|
|
||||||
- name: Cache dependencies
|
- name: "Checkout code"
|
||||||
uses: actions/cache@v2
|
uses: "actions/checkout@v3"
|
||||||
|
|
||||||
|
- name: "Install dependencies"
|
||||||
|
uses: "ramsey/composer-install@v2"
|
||||||
with:
|
with:
|
||||||
path: ~/.composer/cache/files
|
dependency-versions: "${{ matrix.dependencies }}"
|
||||||
key: ${{ runner.os }}-laravel-${{ matrix.laravel }}-php-${{ matrix.php }}-composer-${{ hashFiles('composer.json') }}
|
|
||||||
restore-keys: ${{ runner.os }}-laravel-${{ matrix.laravel }}-php-${{ matrix.php }}-composer-
|
|
||||||
|
|
||||||
- name: Install dependencies
|
- name: "Execute unit tests"
|
||||||
|
run: "composer run-script test"
|
||||||
|
|
||||||
|
- name: "Upload coverage to Codecov"
|
||||||
|
uses: "codecov/codecov-action@v2"
|
||||||
|
|
||||||
|
static_analysis:
|
||||||
|
name: "3️⃣ Static Analysis"
|
||||||
|
needs:
|
||||||
|
- "byte_level"
|
||||||
|
- "syntax_errors"
|
||||||
|
runs-on: "ubuntu-latest"
|
||||||
|
steps:
|
||||||
|
- name: "Set up PHP"
|
||||||
|
uses: "shivammathur/setup-php@v2"
|
||||||
|
with:
|
||||||
|
php-version: "8.1"
|
||||||
|
tools: "phpstan"
|
||||||
|
|
||||||
|
- name: "Checkout code"
|
||||||
|
uses: "actions/checkout@v3"
|
||||||
|
|
||||||
|
- name: "Validate Composer configuration"
|
||||||
|
run: "composer validate --strict"
|
||||||
|
|
||||||
|
- name: "Install dependencies"
|
||||||
|
uses: "ramsey/composer-install@v2"
|
||||||
|
with:
|
||||||
|
dependency-versions: "highest"
|
||||||
|
|
||||||
|
- name: "Execute static analysis"
|
||||||
|
run: "composer exec -- phpstan analyze -l 5 src/"
|
||||||
|
|
||||||
|
exported_files:
|
||||||
|
name: "4️⃣ Exported files"
|
||||||
|
needs:
|
||||||
|
- "byte_level"
|
||||||
|
- "syntax_errors"
|
||||||
|
runs-on: "ubuntu-latest"
|
||||||
|
steps:
|
||||||
|
- name: "Checkout code"
|
||||||
|
uses: "actions/checkout@v3"
|
||||||
|
|
||||||
|
- name: "Check exported files"
|
||||||
run: |
|
run: |
|
||||||
composer require "laravel/framework:${{ matrix.laravel }}" "orchestra/testbench:${{ matrix.testbench }}" --no-progress --no-update
|
EXPECTED="LICENSE.md,README.md,composer.json"
|
||||||
composer update --${{ matrix.dependency-version }} --prefer-dist --no-progress
|
CURRENT="$(git archive HEAD | tar --list --exclude="src" --exclude="src/*" --exclude=".stubs" --exclude=".stubs/*" --exclude="stubs" --exclude="stubs/*" --exclude="lang" --exclude="lang/*" --exclude="config" --exclude="config/*" --exclude="database" --exclude="database/*" --exclude="resources" --exclude="resources/*" --exclude="routes" --exclude="routes/*" | paste -s -d ",")"
|
||||||
- name: Run Tests
|
echo "CURRENT =${CURRENT}"
|
||||||
run: composer run-script test
|
echo "EXPECTED=${EXPECTED}"
|
||||||
|
test "${CURRENT}" == "${EXPECTED}"
|
||||||
- name: Upload coverage to Codecov
|
|
||||||
uses: codecov/codecov-action@v2
|
|
||||||
|
|
||||||
13
.gitignore
vendored
@@ -1,8 +1,7 @@
|
|||||||
.idea
|
/build
|
||||||
build
|
/vendor
|
||||||
composer.lock
|
/.idea
|
||||||
docs
|
.php-cs-fixer.cache
|
||||||
vendor
|
|
||||||
coverage
|
|
||||||
.phpunit.result.cache
|
.phpunit.result.cache
|
||||||
.vscode
|
composer.lock
|
||||||
|
phpunit.xml.bak
|
||||||
@@ -25,7 +25,7 @@ public function login(AssertedRequest $request)
|
|||||||
|
|
||||||
## Keep this package free
|
## Keep this package free
|
||||||
|
|
||||||
[](https://patreon.com/packagesforlaravel)[](https://ko-fi.com/DarkGhostHunter)[](https://www.buymeacoffee.com/darkghosthunter)[](https://www.paypal.com/paypalme/darkghosthunter)
|
[](https://patreon.com/packagesforlaravel)[](https://ko-fi.com/DarkGhostHunter)[](https://www.buymeacoffee.com/darkghosthunter)[](https://www.paypal.com/paypalme/darkghosthunter)
|
||||||
|
|
||||||
Your support allows me to keep this package free, up-to-date and maintainable. Alternatively, you can **[spread the word!](http://twitter.com/share?text=I%20am%20using%20this%20cool%20PHP%20package&url=https://github.com%2FLaragear%2FWebAuthn&hashtags=PHP,Laravel)**
|
Your support allows me to keep this package free, up-to-date and maintainable. Alternatively, you can **[spread the word!](http://twitter.com/share?text=I%20am%20using%20this%20cool%20PHP%20package&url=https://github.com%2FLaragear%2FWebAuthn&hashtags=PHP,Laravel)**
|
||||||
|
|
||||||
|
|||||||