Skip to content

Commit

Permalink
add .github workflow
Browse files Browse the repository at this point in the history
  • Loading branch information
Martin Mitterhauser committed Apr 19, 2024
1 parent 79eb167 commit 2da83e3
Show file tree
Hide file tree
Showing 2 changed files with 74 additions and 0 deletions.
1 change: 1 addition & 0 deletions .gitattributes
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
tests/ export-ignore
.gitattributes export-ignore
.gitignore export-ignore
.github export-ignore
composer.* export-ignore
phpunit.* export-ignore
phpstan.neon export-ignore
Expand Down
73 changes: 73 additions & 0 deletions .github/workflows/main.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,73 @@
# This is a basic workflow to help you get started with Actions

name: CI

# Controls when the action will run.
on:
# Triggers the workflow on push or pull request events
push:
pull_request:

# Allows you to run this workflow manually from the Actions tab
workflow_dispatch:

# A workflow run is made up of one or more jobs that can run sequentially or in parallel
jobs:
# Composer config validation
composer:
name: "Composer config validation"
runs-on: "ubuntu-latest"
steps:
- uses: "actions/checkout@v3"
- name: "Validate composer.json"
run: "composer validate --strict"

# PHP syntax validation
php:
name: "PHP syntax validation"
runs-on: "ubuntu-latest"
strategy:
matrix:
php_version: [ 8.1, 8.2, 8.3 ]
steps:
- uses: "actions/checkout@v3"
- uses: "shivammathur/setup-php@v2"
with:
php-version: "${{ matrix.php_version }}"

- name: "Check PHP syntax of package"
run: |
php -l src/
php -l tests/
phpunit:
name: "PHPUnit tests"
runs-on: "ubuntu-latest"
strategy:
matrix:
php_version: [ 8.1, 8.2, 8.3 ]
steps:
- uses: "actions/checkout@v3"
- uses: "php-actions/composer@v6"
with:
php_version: "${{ matrix.php_version }}"
php_extensions: intl
- run: "vendor/bin/phpunit"

# phpstan for several php versions
phpstan:
runs-on: "ubuntu-latest"
strategy:
matrix:
php_version: [ 8.1, 8.2, 8.3 ]
steps:
- uses: "actions/checkout@v3"
- uses: "php-actions/composer@v6"
with:
php_version: "${{ matrix.php_version }}"
php_extensions: intl
- name: "PHPStan Static Analysis"
uses: "php-actions/phpstan@v3"
with:
php_version: "${{ matrix.php_version }}"
configuration: "phpstan.neon"

0 comments on commit 2da83e3

Please sign in to comment.