From 791b9b21bb2a1234d100f434d424a7ef237cf151 Mon Sep 17 00:00:00 2001 From: Ibrahim BinAlshikh Date: Wed, 27 Aug 2025 14:55:43 +0300 Subject: [PATCH 1/5] ci: Update Workflows --- .github/FUNDING.yml | 3 -- .github/workflows/php80.yml | 40 ---------------------- .github/workflows/php81.yaml | 26 +++++++++++++++ .github/workflows/php81.yml | 48 -------------------------- .github/workflows/php82.yaml | 27 +++++++++++++++ .github/workflows/php82.yml | 42 ----------------------- .github/workflows/php83.yaml | 45 +++++++++++++++++++++++++ .github/workflows/php83.yml | 41 ----------------------- .github/workflows/php84.yaml | 27 +++++++++++++++ .github/workflows/php84.yml | 65 ------------------------------------ 10 files changed, 125 insertions(+), 239 deletions(-) delete mode 100644 .github/FUNDING.yml delete mode 100644 .github/workflows/php80.yml create mode 100644 .github/workflows/php81.yaml delete mode 100644 .github/workflows/php81.yml create mode 100644 .github/workflows/php82.yaml delete mode 100644 .github/workflows/php82.yml create mode 100644 .github/workflows/php83.yaml delete mode 100644 .github/workflows/php83.yml create mode 100644 .github/workflows/php84.yaml delete mode 100644 .github/workflows/php84.yml diff --git a/.github/FUNDING.yml b/.github/FUNDING.yml deleted file mode 100644 index 2213db0..0000000 --- a/.github/FUNDING.yml +++ /dev/null @@ -1,3 +0,0 @@ -# These are supported funding model platforms -custom: ["https://paypal.me/IbrahimBinAlshikh", "https://www.buymeacoffee.com/ibrahimdev"] -ko_fi: ibrahimdev diff --git a/.github/workflows/php80.yml b/.github/workflows/php80.yml deleted file mode 100644 index e8842e0..0000000 --- a/.github/workflows/php80.yml +++ /dev/null @@ -1,40 +0,0 @@ -name: Build PHP 8.0 - -on: - push: - branches: [ master ] - pull_request: - branches: [ master ] - -jobs: - test: - runs-on: ${{ matrix.os }} - strategy: - fail-fast: true - matrix: - os: [ ubuntu-latest ] - php: [ 8.0 ] - - name: PHP${{matrix.php}} - ${{matrix.os}} - - steps: - - name: Clone Repo - uses: actions/checkout@v4 - - - name: Setup PHP - uses: shivammathur/setup-php@v2 - with: - php-version: ${{ matrix.php }} - extensions: mysqli, mbstring, sqlsrv - tools: phpunit:8.5.13 - - - name: Install Dependencies - run: composer install --prefer-dist --no-interaction --no-dev - - - name: Execute Tests - run: phpunit --configuration tests/phpunit.xml - - - name: CodeCov - uses: codecov/codecov-action@v4 - with: - token: ${{ secrets.CODECOV_TOKEN }} diff --git a/.github/workflows/php81.yaml b/.github/workflows/php81.yaml new file mode 100644 index 0000000..fead114 --- /dev/null +++ b/.github/workflows/php81.yaml @@ -0,0 +1,26 @@ +name: Build PHP 8.1 + +on: + push: + branches: [ main ] + pull_request: + branches: [ main ] +jobs: + test: + name: Run Tests + uses: WebFiori/workflows/.github/workflows/test-php.yaml@main + with: + php-version: '8.1' + + code-coverage: + name: Coverage + needs: test + uses: WebFiori/workflows/.github/workflows/coverage-codecov.yaml@main + with: + php-version: '8.1' + coverage-file: 'php-8.1-coverage.xml' + secrets: + CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }} + + + diff --git a/.github/workflows/php81.yml b/.github/workflows/php81.yml deleted file mode 100644 index b26e319..0000000 --- a/.github/workflows/php81.yml +++ /dev/null @@ -1,48 +0,0 @@ -name: Build PHP 8.1 - -on: - push: - branches: [ master ] - pull_request: - branches: [ master ] - -jobs: - test: - runs-on: ${{ matrix.os }} - - strategy: - fail-fast: true - matrix: - os: [ ubuntu-latest ] - php: [8.1] - - name: PHP${{matrix.php}} - ${{matrix.os}} - - steps: - - name: Clone Repo - uses: actions/checkout@v4 - - - name: Setup PHP - uses: shivammathur/setup-php@v2 - with: - php-version: ${{ matrix.php }} - extensions: mysqli, mbstring, sqlsrv - tools: phpunit:9.5.20, composer - - - - name: Install Dependencies - run: composer install --prefer-dist --no-interaction --no-dev - - - name: Execute Tests - run: phpunit --configuration tests/phpunit.xml - - - name: CodeCov - uses: codecov/codecov-action@v4 - with: - token: ${{ secrets.CODECOV_TOKEN }} - - - name: SonarCloud - uses: SonarSource/sonarcloud-github-action@master - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }} diff --git a/.github/workflows/php82.yaml b/.github/workflows/php82.yaml new file mode 100644 index 0000000..978033a --- /dev/null +++ b/.github/workflows/php82.yaml @@ -0,0 +1,27 @@ +name: Build PHP 8.2 + +on: + push: + branches: [ main ] + pull_request: + branches: [ main ] +jobs: + test: + name: Run Tests + uses: WebFiori/workflows/.github/workflows/test-php.yaml@main + with: + php-version: '8.2' + phpunit-config: "tests/phpunit10.xml" + + code-coverage: + name: Coverage + needs: test + uses: WebFiori/workflows/.github/workflows/coverage-codecov.yaml@main + with: + php-version: '8.2' + coverage-file: 'php-8.2-coverage.xml' + secrets: + CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }} + + + diff --git a/.github/workflows/php82.yml b/.github/workflows/php82.yml deleted file mode 100644 index 1807f41..0000000 --- a/.github/workflows/php82.yml +++ /dev/null @@ -1,42 +0,0 @@ -name: Build PHP 8.2 - -on: - push: - branches: [ master, dev ] - pull_request: - branches: [ master ] - -jobs: - test: - runs-on: ${{ matrix.os }} - - strategy: - fail-fast: true - matrix: - os: [ ubuntu-latest ] - php: [8.2] - - name: PHP${{matrix.php}} - ${{matrix.os}} - - steps: - - name: Clone Repo - uses: actions/checkout@v4 - - - name: Setup PHP - uses: shivammathur/setup-php@v2 - with: - php-version: ${{ matrix.php }} - extensions: mysqli, mbstring, sqlsrv - tools: phpunit:9.5.20, composer - - - - name: Install Dependencies - run: composer install --prefer-dist --no-interaction --no-dev - - - name: Execute Tests - run: phpunit --configuration tests/phpunit.xml - - - name: CodeCov - uses: codecov/codecov-action@v4 - with: - token: ${{ secrets.CODECOV_TOKEN }} \ No newline at end of file diff --git a/.github/workflows/php83.yaml b/.github/workflows/php83.yaml new file mode 100644 index 0000000..8ecb808 --- /dev/null +++ b/.github/workflows/php83.yaml @@ -0,0 +1,45 @@ +name: Build PHP 8.3 + +on: + push: + branches: [ main, dev ] + pull_request: + branches: [ main, dev ] +env: + OPERATING_SYS: ubuntu-latest + PHP_VERSION: 8.3 +jobs: + + test: + name: Run Tests + uses: WebFiori/workflows/.github/workflows/test-php.yaml@main + with: + php-version: '8.3' + phpunit-config: 'tests/phpunit10.xml' + + + code-coverage: + name: Coverage + needs: test + uses: WebFiori/workflows/.github/workflows/coverage-codecov.yaml@main + with: + php-version: '8.3' + coverage-file: 'php-8.3-coverage.xml' + secrets: + CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }} + + code-quality: + name: Code Quality + needs: test + uses: WebFiori/workflows/.github/workflows/quality-sonarcloud.yaml@main + with: + coverage-file: 'php-8.3-coverage.xml' + secrets: + SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }} + + release-prod: + name: Prepare Production Release Branch / Publish Release + needs: [code-coverage, code-quality] + uses: WebFiori/workflows/.github/workflows/release-php.yaml@main + with: + branch: 'main' diff --git a/.github/workflows/php83.yml b/.github/workflows/php83.yml deleted file mode 100644 index 8596f6d..0000000 --- a/.github/workflows/php83.yml +++ /dev/null @@ -1,41 +0,0 @@ -name: Build PHP 8.3 - -on: - push: - branches: [ master, dev ] - pull_request: - branches: [ master, dev ] - -jobs: - test: - runs-on: ${{ matrix.os }} - - strategy: - fail-fast: true - matrix: - os: [ ubuntu-latest ] - php: [8.3] - - name: PHP${{matrix.php}} - ${{matrix.os}} - - steps: - - name: Clone Repo - uses: actions/checkout@v4 - - - name: Setup PHP - uses: shivammathur/setup-php@v2 - with: - php-version: ${{ matrix.php }} - extensions: mysqli, mbstring, sqlsrv - tools: phpunit:9.5.20, composer - - - name: Install Dependencies - run: composer install --prefer-dist --no-interaction --no-dev - - - name: Execute Tests - run: phpunit --configuration tests/phpunit.xml - - - name: CodeCov - uses: codecov/codecov-action@v4 - with: - token: ${{ secrets.CODECOV_TOKEN }} diff --git a/.github/workflows/php84.yaml b/.github/workflows/php84.yaml new file mode 100644 index 0000000..1ce3097 --- /dev/null +++ b/.github/workflows/php84.yaml @@ -0,0 +1,27 @@ +name: Build PHP 8.4 + +on: + push: + branches: [ main ] + pull_request: + branches: [ main ] +jobs: + test: + name: Run Tests + uses: WebFiori/workflows/.github/workflows/test-php.yaml@main + with: + php-version: '8.4' + phpunit-config: "tests/phpunit10.xml" + + code-coverage: + name: Coverage + needs: test + uses: WebFiori/workflows/.github/workflows/coverage-codecov.yaml@main + with: + php-version: '8.4' + coverage-file: 'php-8.4-coverage.xml' + secrets: + CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }} + + + diff --git a/.github/workflows/php84.yml b/.github/workflows/php84.yml deleted file mode 100644 index dc0dcca..0000000 --- a/.github/workflows/php84.yml +++ /dev/null @@ -1,65 +0,0 @@ -name: Build PHP 8.4 - -on: - push: - branches: [ master, dev ] - pull_request: - branches: [ master, dev ] - -jobs: - test: - runs-on: ${{ matrix.os }} - - strategy: - fail-fast: true - matrix: - os: [ ubuntu-latest ] - php: [8.4] - - name: PHP${{matrix.php}} - ${{matrix.os}} - - steps: - - name: Clone Repo - uses: actions/checkout@v4 - - - name: Setup PHP - uses: shivammathur/setup-php@v2 - with: - php-version: ${{ matrix.php }} - extensions: mysqli, mbstring, sqlsrv - tools: phpunit:9.5.20, composer - - - name: Shutdown Ubuntu MySQL - run: sudo service mysql stop - - - name: Install Dependencies - run: composer install --prefer-dist --no-interaction --no-dev - - - name: Execute Tests - run: phpunit --configuration tests/phpunit.xml - - - name: CodeCov - uses: codecov/codecov-action@v4 - with: - token: ${{ secrets.CODECOV_TOKEN }} - - - name: SonarCloud Code Scan - uses: sonarsource/sonarqube-scan-action@v4 - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }} - - release_prod: - name: Prepare Production Release Branch / Publish Release - needs: - - "test" - runs-on: ubuntu-latest - if: github.ref == 'refs/heads/master' - steps: - - uses: actions/checkout@v4 - - uses: google-github-actions/release-please-action@v3 - with: - release-type: php - config-file: release-please-config.json - token: ${{ secrets.GITHUB_TOKEN }} - \ No newline at end of file From 45c376b55cf5a387a83fd7d425cfc50e045e030b Mon Sep 17 00:00:00 2001 From: Ibrahim BinAlshikh Date: Wed, 27 Aug 2025 15:03:23 +0300 Subject: [PATCH 2/5] chore: Update Readme.md --- README.md | 22 +++++++++++----------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/README.md b/README.md index 6a9b5bc..bbb22e2 100644 --- a/README.md +++ b/README.md @@ -3,10 +3,10 @@ A set of classes that provide basic web pages creation utilities in addition to

- + - + @@ -35,15 +35,15 @@ A set of classes that provide basic web pages creation utilities in addition to ## Supported PHP Versions | Build Status | |:----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------:| -| | -| | -| | -| | -| | -| | -| | -| | -| | +| | +| | +| | +| | + + +| | +| | +| | ## Features * Ability to create custom HTML UI Elements in OOP approach. From 803475f94d989d43a3034c43ed7e023ef2327388 Mon Sep 17 00:00:00 2001 From: Ibrahim BinAlshikh Date: Wed, 27 Aug 2025 15:12:03 +0300 Subject: [PATCH 3/5] docs: Enhance Docs --- WebFiori/UI/HTMLNode.php | 48 +++++++++++++++++++++------------------- WebFiori/UI/HeadNode.php | 2 +- 2 files changed, 26 insertions(+), 24 deletions(-) diff --git a/WebFiori/UI/HTMLNode.php b/WebFiori/UI/HTMLNode.php index e28f17b..094b1e2 100644 --- a/WebFiori/UI/HTMLNode.php +++ b/WebFiori/UI/HTMLNode.php @@ -230,7 +230,7 @@ class HTMLNode implements Countable, Iterator { * [0-9], ':', '.' and '-'. *