diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml new file mode 100644 index 0000000..b7eee9f --- /dev/null +++ b/.github/workflows/test.yml @@ -0,0 +1,52 @@ +name: Test Jalno Base +on: + push: + pull_request: + workflow_dispatch: + +jobs: + test: + runs-on: ubuntu-latest + permissions: + contents: read + packages: write + strategy: + fail-fast: true + matrix: + php: ['8.0', '8.1', '8.2'] + + name: PHP ${{ matrix.php }} + + steps: + - name: Check out repository + uses: actions/checkout@v4 + + - name: Checkout jalno/PhpParser + uses: actions/checkout@v4 + with: + repository: jalno/PhpParser + path: packages/PhpParser + + - name: Setup PHP + uses: shivammathur/setup-php@v2 + with: + php-version: ${{ matrix.php }} + + - name: Validate defaultClassMap.php + run: php -l packages/base/defaultClassMap.php + + - name: Validate package.json + run: php -r 'json_decode(file_get_contents("packages/base/package.json"), false, 512, JSON_THROW_ON_ERROR);' + + - name: Validate lang file langs/en_US.json + run: php -r 'json_decode(file_get_contents("packages/base/langs/en_US.json"), false, 512, JSON_THROW_ON_ERROR);' + + - name: Validate lang file langs/fa_IR.json + run: php -r 'json_decode(file_get_contents("packages/base/langs/fa_IR.json"), false, 512, JSON_THROW_ON_ERROR);' + + - name: PHPStan + uses: php-actions/phpstan@v3 + with: + php_version: ${{ matrix.php }} + path: ./ + configuration: packages/base/phpstan.neon diff --git a/packages/base/libraries/background/Exceptions/CannotStartProcessException.php b/packages/base/libraries/background/Exceptions/CannotStartProcessException.php index 619f215..8191640 100644 --- a/packages/base/libraries/background/Exceptions/CannotStartProcessException.php +++ b/packages/base/libraries/background/Exceptions/CannotStartProcessException.php @@ -5,8 +5,11 @@ use packages\base\Process; class CannotStartProcessException extends Exception { - public function __construct(public readonly Process $process, string $message = "can not start process") { + protected Process $process; + + public function __construct(Process $process, string $message = "can not start process") { parent::__construct($message); + $this->process = $process; } public function getProcess(): Process diff --git a/packages/base/libraries/background/Exceptions/NotStartedProcessException.php b/packages/base/libraries/background/Exceptions/NotStartedProcessException.php index 4bfcd93..d502343 100644 --- a/packages/base/libraries/background/Exceptions/NotStartedProcessException.php +++ b/packages/base/libraries/background/Exceptions/NotStartedProcessException.php @@ -5,8 +5,11 @@ use packages\base\Process; class NotStartedProcessException extends Exception { - public function __construct(public readonly Process $process, string $message = "process does not started") { + protected Process $process; + + public function __construct(Process $process, string $message = "process does not started") { parent::__construct($message); + $this->process = $process; } public function getProcess(): Process diff --git a/packages/base/libraries/frontend/frontend.php b/packages/base/libraries/frontend/frontend.php index 28e17e3..c458f11 100644 --- a/packages/base/libraries/frontend/frontend.php +++ b/packages/base/libraries/frontend/frontend.php @@ -1,10 +1,10 @@