docs: fix link to PHP package #25
Workflow file for this run
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
--- | |
# This file is part of package spoorsny/laravel-south-african-id. | |
# | |
# Package spoorsny/laravel-south-african-id is free software: you can redistribute it | |
# and/or modify it under the terms of the GNU General Public License as | |
# published by the Free Software Foundation, either version 3 of the License, or | |
# (at your option) any later version. | |
# | |
# Package spoorsny/laravel-south-african-id is distributed in the hope that it will be | |
# useful, but WITHOUT ANY WARRANTY; without even the implied warranty of | |
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General | |
# Public License for more details. | |
# | |
# You should have received a copy of the GNU General Public License along with | |
# package spoorsny/laravel-south-african-id. If not, see <https://www.gnu.org/licenses/>. | |
## | |
# GitHub Actions workflow that lints and tests new code before its integration | |
# into the master branch of the source code repository. | |
# | |
# @see {@link https://docs.github.com/en/actions} GitHub Actions | |
# @author Geoffrey Bernardo van Wyk <geoffrey@vanwyk.biz> | |
# @copyright 2024 Geoffrey Bernardo van Wyk {@link https://geoffreyvanwyk.dev} | |
# @license {@link http://www.gnu.org/copyleft/gpl.html} GNU GPL v3 or later | |
## | |
name: Continous Integration | |
on: | |
push: | |
branches: ["master"] | |
pull_request: | |
branches: ["master"] | |
jobs: | |
lint: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Setup PHP | |
uses: shivammathur/setup-php@v2 | |
with: | |
php-version: "8.3" | |
extensions: curl, mbstring, zip, pcntl, pdo, sqlite, pdo_sqlite, iconv | |
coverage: xdebug | |
- name: Validate composer.json and composer.lock | |
run: composer validate --strict | |
- name: Cache Composer packages | |
id: composer-cache | |
uses: actions/cache@v3 | |
with: | |
path: vendor | |
key: ${{ runner.os }}-php-${{ hashFiles('**/composer.lock') }} | |
restore-keys: | | |
${{ runner.os }}-php- | |
- name: Install dependencies | |
run: composer install --prefer-dist --no-progress | |
- name: Check for then fix coding style errors | |
run: composer cs-fix | |
- name: Commit linted files | |
uses: stefanzweifel/git-auto-commit-action@v5 | |
with: | |
commit_message: "refactor: fix coding style" | |
test: | |
needs: lint | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Setup PHP | |
uses: shivammathur/setup-php@v2 | |
with: | |
php-version: "8.3" | |
extensions: curl, mbstring, zip, pcntl, pdo, sqlite, pdo_sqlite, iconv | |
coverage: xdebug | |
- name: Restore Composer packages | |
id: composer-cache-restore | |
uses: actions/cache@v3 | |
with: | |
path: vendor | |
key: ${{ runner.os }}-php-${{ hashFiles('**/composer.lock') }} | |
restore-keys: | | |
${{ runner.os }}-php- | |
- name: Install dependencies | |
run: composer install --prefer-dist --no-progress | |
- name: Run test suite | |
run: composer test-coverage | |
- name: Upload code coverage report | |
uses: actions/upload-artifact@v4 | |
with: | |
name: phpunit-code-coverage-clover-report | |
path: ./phpunit-code-coverage-clover.xml | |
retention-days: 1 | |
coverage: | |
needs: test | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Setup PHP | |
uses: shivammathur/setup-php@v2 | |
with: | |
php-version: "8.3" | |
extensions: curl, mbstring, zip, pcntl, pdo, sqlite, pdo_sqlite, iconv | |
coverage: xdebug | |
- name: Restore Composer packages | |
id: composer-cache-restore | |
uses: actions/cache@v3 | |
with: | |
path: vendor | |
key: ${{ runner.os }}-php-${{ hashFiles('**/composer.lock') }} | |
restore-keys: | | |
${{ runner.os }}-php- | |
- name: Install dependencies | |
run: composer install --prefer-dist --no-progress | |
- name: Download code coverage report | |
uses: actions/download-artifact@v4 | |
with: | |
name: phpunit-code-coverage-clover-report | |
path: . | |
- name: Check code coverage | |
run: composer test-coverage-check | |
- name: Make code coverage badge | |
uses: timkrase/phpunit-coverage-badge@v1.2.1 | |
with: | |
report: phpunit-code-coverage-clover.xml | |
coverage_badge_path: output/coverage.svg | |
push_badge: false | |
- name: Git push to image-data branch | |
uses: peaceiris/actions-gh-pages@v3 | |
with: | |
publish_dir: ./output | |
publish_branch: image-data | |
github_token: ${{ secrets.GITHUB_TOKEN }} | |
user_name: "github-actions[bot]" | |
user_email: "github-actions[bot]@users.noreply.github.com" |