Define schedule for the security audit #393
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
name: Automated Testing | |
on: | |
push: | |
permissions: | |
contents: read | |
jobs: | |
composer: | |
name: Validate composer files | |
runs-on: ubuntu-latest | |
steps: | |
- uses: shivammathur/setup-php@v2 | |
with: | |
php-version: 8.2 | |
- uses: actions/checkout@v4 | |
- name: Validate composer.json and composer.lock | |
run: composer validate --strict | |
composer-require-checker: | |
name: Check composer requirements | |
runs-on: ubuntu-latest | |
steps: | |
- uses: shivammathur/setup-php@v2 | |
with: | |
php-version: 8.2 | |
- uses: actions/checkout@v4 | |
- name: Cache Composer packages | |
id: composer-cache | |
uses: actions/cache@v4 | |
with: | |
path: vendor | |
key: "os-${{ runner.os }}-php-${{ runner.php-version }}-composer-${{ hashFiles('**/composer.lock') }}" | |
restore-keys: "os-${{ runner.os }}-php-${{ runner.php-version }}-composer-" | |
- name: Install packages by Composer | |
uses: ramsey/composer-install@v3 | |
- name: Cache tools installed with PHIVE | |
uses: actions/cache@v4 | |
with: | |
path: "${{ runner.temp }}/.phive" | |
key: "os-${{ runner.os }}-php-${{ runner.php-version }}-phive-${{ hashFiles('**/.phive/phars.xml', '**/.phive/trust-gpg-keys.txt') }}" | |
restore-keys: "os-${{ runner.os }}-php-${{ runner.php-version }}-phive-" | |
- name: Install PHIVE | |
uses: szepeviktor/phive@v1 | |
with: | |
home: "${{ runner.temp }}/.phive" | |
binPath: "${{ github.workspace }}/tools/phive" | |
- name: Install PHP tools by PHIVE | |
uses: szepeviktor/phive-install@v1 | |
with: | |
home: "${{ runner.temp }}/.phive" | |
binPath: "${{ github.workspace }}/tools/phive" | |
trustGpgKeys: '$(cat ./.phive/trust-gpg-keys.txt)' | |
- name: Check composer requirements | |
run: composer require-check | |
composer-unused: | |
name: Check unused composer requirements | |
runs-on: ubuntu-latest | |
steps: | |
- uses: shivammathur/setup-php@v2 | |
with: | |
php-version: 8.2 | |
- uses: actions/checkout@v4 | |
- name: Cache Composer packages | |
id: composer-cache | |
uses: actions/cache@v4 | |
with: | |
path: vendor | |
key: "os-${{ runner.os }}-php-${{ runner.php-version }}-composer-${{ hashFiles('**/composer.lock') }}" | |
restore-keys: "os-${{ runner.os }}-php-${{ runner.php-version }}-composer-" | |
- name: Install packages by Composer | |
uses: ramsey/composer-install@v3 | |
- name: Cache tools installed with PHIVE | |
uses: actions/cache@v4 | |
with: | |
path: "${{ runner.temp }}/.phive" | |
key: "os-${{ runner.os }}-php-${{ runner.php-version }}-phive-${{ hashFiles('**/.phive/phars.xml', '**/.phive/trust-gpg-keys.txt') }}" | |
restore-keys: "os-${{ runner.os }}-php-${{ runner.php-version }}-phive-" | |
- name: Install PHIVE | |
uses: szepeviktor/phive@v1 | |
with: | |
home: "${{ runner.temp }}/.phive" | |
binPath: "${{ github.workspace }}/tools/phive" | |
- name: Install PHP tools by PHIVE | |
uses: szepeviktor/phive-install@v1 | |
with: | |
home: "${{ runner.temp }}/.phive" | |
binPath: "${{ github.workspace }}/tools/phive" | |
trustGpgKeys: '$(cat ./.phive/trust-gpg-keys.txt)' | |
- name: Check unused composer requirements | |
run: composer unused | |
php-cs-check: | |
name: 'PHP CS Fixer: check' | |
runs-on: ubuntu-latest | |
steps: | |
- uses: shivammathur/setup-php@v2 | |
with: | |
php-version: 8.2 | |
- uses: actions/checkout@v4 | |
- name: Cache Composer packages | |
id: composer-cache | |
uses: actions/cache@v4 | |
with: | |
path: vendor | |
key: "os-${{ runner.os }}-php-${{ runner.php-version }}-composer-${{ hashFiles('**/composer.lock') }}" | |
restore-keys: "os-${{ runner.os }}-php-${{ runner.php-version }}-composer-" | |
- name: Install packages by Composer | |
uses: ramsey/composer-install@v3 | |
- name: Cache tools installed with PHIVE | |
uses: actions/cache@v4 | |
with: | |
path: "${{ runner.temp }}/.phive" | |
key: "os-${{ runner.os }}-php-${{ runner.php-version }}-phive-${{ hashFiles('**/.phive/phars.xml', '**/.phive/trust-gpg-keys.txt') }}" | |
restore-keys: "os-${{ runner.os }}-php-${{ runner.php-version }}-phive-" | |
- name: Install PHIVE | |
uses: szepeviktor/phive@v1 | |
with: | |
home: "${{ runner.temp }}/.phive" | |
binPath: "${{ github.workspace }}/tools/phive" | |
- name: Install PHP tools by PHIVE | |
uses: szepeviktor/phive-install@v1 | |
with: | |
home: "${{ runner.temp }}/.phive" | |
binPath: "${{ github.workspace }}/tools/phive" | |
trustGpgKeys: '$(cat ./.phive/trust-gpg-keys.txt)' | |
- name: 'Run PHP CS Fixer: check' | |
run: composer run cs-fixer-check | |
phpstan: | |
name: 'PHPStan: analyse' | |
runs-on: ubuntu-latest | |
steps: | |
- uses: shivammathur/setup-php@v2 | |
with: | |
php-version: 8.2 | |
- uses: actions/checkout@v4 | |
- name: Cache Composer packages | |
id: composer-cache | |
uses: actions/cache@v4 | |
with: | |
path: vendor | |
key: "os-${{ runner.os }}-php-${{ runner.php-version }}-composer-${{ hashFiles('**/composer.lock') }}" | |
restore-keys: "os-${{ runner.os }}-php-${{ runner.php-version }}-composer-" | |
- name: Install packages by Composer | |
uses: ramsey/composer-install@v3 | |
- name: Cache tools installed with PHIVE | |
uses: actions/cache@v4 | |
with: | |
path: "${{ runner.temp }}/.phive" | |
key: "os-${{ runner.os }}-php-${{ runner.php-version }}-phive-${{ hashFiles('**/.phive/phars.xml', '**/.phive/trust-gpg-keys.txt') }}" | |
restore-keys: "os-${{ runner.os }}-php-${{ runner.php-version }}-phive-" | |
- name: Install PHIVE | |
uses: szepeviktor/phive@v1 | |
with: | |
home: "${{ runner.temp }}/.phive" | |
binPath: "${{ github.workspace }}/tools/phive" | |
- name: Install PHP tools by PHIVE | |
uses: szepeviktor/phive-install@v1 | |
with: | |
home: "${{ runner.temp }}/.phive" | |
binPath: "${{ github.workspace }}/tools/phive" | |
trustGpgKeys: '$(cat ./.phive/trust-gpg-keys.txt)' | |
- name: 'Run PHPStan analyse' | |
run: composer run phpstan-analyse | |
phpunit: | |
name: 'Tests: Unit' | |
runs-on: ubuntu-latest | |
steps: | |
- uses: shivammathur/setup-php@v2 | |
with: | |
php-version: 8.2 | |
- uses: actions/checkout@v4 | |
- name: Cache Installed Dependencies | |
id: composer-cache | |
uses: actions/cache@v4 | |
with: | |
path: vendor | |
key: "os-${{ runner.os }}-php-${{ runner.php-version }}-composer-${{ hashFiles('**/composer.lock') }}" | |
restore-keys: "os-${{ runner.os }}-php-${{ runner.php-version }}-composer-" | |
- name: Install packages by Composer | |
uses: ramsey/composer-install@v3 | |
- name: Cache tools installed with PHIVE | |
uses: actions/cache@v4 | |
with: | |
path: "${{ runner.temp }}/.phive" | |
key: "os-${{ runner.os }}-php-${{ runner.php-version }}-phive-${{ hashFiles('**/.phive/phars.xml', '**/.phive/trust-gpg-keys.txt') }}" | |
restore-keys: "os-${{ runner.os }}-php-${{ runner.php-version }}-phive-" | |
- name: Install PHIVE | |
uses: szepeviktor/phive@v1 | |
with: | |
home: "${{ runner.temp }}/.phive" | |
binPath: "${{ github.workspace }}/tools/phive" | |
- name: Install PHP tools by PHIVE | |
uses: szepeviktor/phive-install@v1 | |
with: | |
home: "${{ runner.temp }}/.phive" | |
binPath: "${{ github.workspace }}/tools/phive" | |
trustGpgKeys: '$(cat ./.phive/trust-gpg-keys.txt)' | |
- name: 'Run all PHPUnit tests' | |
run: composer run phpunit |