diff --git a/.github/workflows/php84.yml b/.github/workflows/php84.yml new file mode 100644 index 00000000..3117109d --- /dev/null +++ b/.github/workflows/php84.yml @@ -0,0 +1,122 @@ +name: Build PHP 8.2 + +on: + push: + branches: [ master, dev ] + pull_request: + branches: [ master ] + +jobs: + + test: + runs-on: ${{ matrix.os }} + services: + sql.data: + image: mcr.microsoft.com/mssql/server:2019-latest + env: + SA_PASSWORD: 1234567890@Eu + ACCEPT_EULA: Y + MSSQL_PID: Express + ports: + - "1433:1433" + strategy: + fail-fast: true + matrix: + os: [ ubuntu-latest ] + php: [8.4] + + name: PHP${{matrix.php}} - ${{matrix.os}} + + steps: + - name: Clone Repo + uses: actions/checkout@v3 + + - name: Setup PHP + uses: shivammathur/setup-php@v2 + with: + php-version: ${{ matrix.php }} + extensions: mysqli, mbstring, sqlsrv + tools: phpunit:9.5.20, composer, symplify/easy-coding-standard:12.0.6, phpbench/phpbench:1.2.14 + + - name: Shutdown Ubuntu MySQL + run: sudo service mysql stop + + - name: Set up MySQL + uses: mirromutth/mysql-action@v1.1 + with: + mysql version: '5.7' + mysql database: 'testing_db' + mysql root password: 123456 + mysql user: 'root' + mysql password: 123456 + + - name: Wait for MySQL + run: | + while ! mysqladmin ping --host=127.0.0.1 --password=123456 --silent; do + sleep 1 + done + + - name: Setup MSSQL + run: sqlcmd -S localhost -U SA -P 1234567890@Eu -Q 'create database testing_db' + + - name: Install Dependencies + run: composer install --prefer-dist --no-interaction --no-dev + + - name: Execute Tests + run: phpunit + + - name: CodeCov + uses: codecov/codecov-action@v4 + with: + token: ${{ secrets.CODECOV_TOKEN }} + + coding_standards_check: + name: "Coding Standards Check" + needs: + - "test" + + runs-on: "ubuntu-latest" + steps: + - name: "Set up PHP" + uses: "shivammathur/setup-php@v2" + with: + php-version: "8.1" + extensions: "mbstring" + tools: composer, symplify/easy-coding-standard:12.0.6 + + - name: "Checkout code" + uses: "actions/checkout@v3" + + - name: Install Dependencies + run: composer install --prefer-dist --no-interaction --no-dev + + - name: "Check Style" + run: "ecs check" + + benchmarking: + needs: + - "test" + runs-on: ${{ matrix.os }} + strategy: + fail-fast: true + matrix: + os: [ ubuntu-latest ] + php: [8.0,8.1,8.2,8.3,8.4] + steps: + - name: Clone Repo + uses: actions/checkout@v4 + + - name: Setup PHP + uses: shivammathur/setup-php@v2 + with: + php-version: ${{ matrix.php }} + extensions: mbstring + tools: composer, phpbench/phpbench + + - name: Install Dependencies + run: composer install --prefer-dist --no-interaction --no-dev + + - name: Benchmarking + run: phpbench run tests/webfiori/benchmark --report=default + + diff --git a/README.md b/README.md index cb26e3e5..6272d3c7 100644 --- a/README.md +++ b/README.md @@ -5,7 +5,7 @@
-
+
@@ -37,7 +37,8 @@ WebFiori Framework is a mini web development framework which is built using PHP
||
||
||
-|
|
+||
+|
|
## Key Features