diff --git a/.github/workflows/phpunit-lang.yml b/.github/workflows/phpunit-lang.yml
new file mode 100644
index 000000000..817f27e57
--- /dev/null
+++ b/.github/workflows/phpunit-lang.yml
@@ -0,0 +1,64 @@
+name: Language Unit Tests
+
+on:
+ pull_request:
+ branches:
+ - develop
+ paths:
+ - 'src/Language/**.php'
+ - '!src/Language/en/**.php'
+ - 'phpunit*'
+ - '.github/workflows/phpunit-lang.yml'
+ push:
+ branches:
+ - develop
+ paths:
+ - 'src/Language/**.php'
+ - '!src/Language/en/**.php'
+ - 'phpunit*'
+ - '.github/workflows/phpunit-lang.yml'
+
+jobs:
+ main:
+ name: Language Unit Tests
+ runs-on: ubuntu-latest
+ if: "!contains(github.event.head_commit.message, '[ci skip]')"
+
+ steps:
+ - name: Checkout
+ uses: actions/checkout@v3
+
+ - name: Set up PHP
+ uses: shivammathur/setup-php@v2
+ with:
+ php-version: '8.1'
+ tools: composer, phive, phpunit
+ extensions: intl, json, mbstring, gd, xdebug, xml, sqlite3
+ coverage: xdebug
+ env:
+ COMPOSER_TOKEN: ${{ secrets.GITHUB_TOKEN }}
+
+ - name: Get composer cache directory
+ id: composer-cache
+ run: echo "::set-output name=dir::$(composer config cache-files-dir)"
+
+ - name: Cache composer dependencies
+ uses: actions/cache@v3
+ with:
+ path: ${{ steps.composer-cache.outputs.dir }}
+ key: ${{ runner.os }}-composer-${{ hashFiles('**/composer.json') }}-${{ hashFiles('**/composer.lock') }}
+ restore-keys: ${{ runner.os }}-composer-
+
+ - name: Install dependencies
+ run: |
+ if [ -f composer.lock ]; then
+ composer install --no-progress --no-interaction --prefer-dist --optimize-autoloader
+ else
+ composer update --no-progress --no-interaction --prefer-dist --optimize-autoloader
+ fi
+
+ - name: Test with PHPUnit
+ run: vendor/bin/phpunit --verbose --no-coverage --testsuite lang
+ env:
+ TERM: xterm-256color
+ TACHYCARDIA_MONITOR_GA: enabled
diff --git a/phpunit.xml.dist b/phpunit.xml.dist
index 039cebd29..3b7aac678 100644
--- a/phpunit.xml.dist
+++ b/phpunit.xml.dist
@@ -41,7 +41,7 @@
./tests
./tests/Language
-
+
./tests/Language