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