diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml
new file mode 100644
index 0000000..bc5af1c
--- /dev/null
+++ b/.github/workflows/tests.yml
@@ -0,0 +1,43 @@
+name: Tests
+
+on:
+ push:
+ branches: [ master ]
+ pull_request:
+ branches: [ master ]
+
+jobs:
+ tests:
+ runs-on: ubuntu-18.04
+ steps:
+ - uses: actions/checkout@v3
+
+ - name: Setup PHP
+ uses: shivammathur/setup-php@v2
+ with:
+ php-version: '7.2'
+ tools: phpunit:9,psalm
+
+ - name: Setup problem matchers for PHPUnit
+ run: echo "::add-matcher::${{ runner.tool_cache }}/phpunit.json"
+
+ - name: Get composer cache directory
+ id: composercache
+ run: echo "::set-output name=dir::$(composer config cache-files-dir)"
+
+ - name: Cache dependencies
+ uses: actions/cache@v3
+ with:
+ path: ${{ steps.composercache.outputs.dir }}
+ key: ${{ runner.os }}-composer-${{ hashFiles('**/composer.lock') }}
+ restore-keys: ${{ runner.os }}-composer-
+
+ - run: composer install --no-interaction
+
+ - name: Psalm
+ run: psalm --output-format=github
+ if: always()
+
+ - name: PHPUnit
+ run: phpunit --coverage-text
+ if: always()
\ No newline at end of file
diff --git a/README.md b/README.md
index 42955ff..558065c 100644
--- a/README.md
+++ b/README.md
@@ -4,9 +4,7 @@
_Make a site, make it fast._
-[](https://scrutinizer-ci.com/g/Rarst/laps/?branch=master)
-[](https://scrutinizer-ci.com/g/Rarst/laps/build-status/master)
-[](https://scrutinizer-ci.com/g/Rarst/laps/?branch=master)
+[](https://github.com/Rarst/laps/actions/workflows/tests.yml)
[](https://packagist.org/packages/rarst/laps)
[](https://packagist.org/packages/rarst/laps)
[](https://packagist.org/packages/rarst/laps)
@@ -37,9 +35,9 @@ API requests need to be authenticated as admin for performance data to be sent.
## Installation
-| [Composer](https://getcomposer.org/) (recommended) | Release archive |
-| -------------------------------------------------- | -------- |
-| `composer require rarst/laps` | [](https://github.com/Rarst/laps/releases/latest/download/laps.zip) |
+| [Composer](https://getcomposer.org/) (recommended) | Release archive |
+| -------------------------------------------------- | -------- |
+| `composer require rarst/laps` | [](https://github.com/Rarst/laps/releases/latest/download/laps.zip)|
## Tests
diff --git a/phpunit.xml b/phpunit.xml
index 09db281..c11b319 100644
--- a/phpunit.xml
+++ b/phpunit.xml
@@ -1,15 +1,16 @@
-
-
-
- tests
-
-
-
-
- src
-
- src/mustache/cache
-
-
-
-
\ No newline at end of file
+
+
+
+
+ src
+
+
+ src/mustache/cache
+
+
+
+
+ tests
+
+
+
diff --git a/psalm.xml b/psalm.xml
index 1179766..3a3d264 100644
--- a/psalm.xml
+++ b/psalm.xml
@@ -1,9 +1,9 @@