PHPStan analysis workflow #38
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: PHPStan analysis workflow | |
run-name: PHPStan analysis workflow | |
on: | |
pull_request: | |
branches: [main] | |
pull_request_target: | |
branches: [main] | |
jobs: | |
build: | |
if: (github.event_name == 'pull_request' && github.event.pull_request.head.repo.full_name == github.repository) || (github.event_name == 'pull_request_target' && github.event.pull_request.head.repo.full_name != github.repository) || (github.event_name == 'workflow_dispatch') | |
environment: ${{ (github.event_name == 'pull_request_target' && github.event.pull_request.head.repo.full_name != github.repository) && 'external' || 'internal' }} | |
strategy: | |
matrix: | |
php-version: ["8.3"] | |
magento-version: ["2.4.7-p2"] | |
runs-on: | |
group: larger-runners | |
labels: ubuntu-latest-8-cores | |
timeout-minutes: 25 | |
env: | |
PHP_VERSION: ${{ matrix.php-version }} | |
MAGENTO_VERSION: ${{ matrix.magento-version }} | |
ADYEN_API_KEY: ${{secrets.ADYEN_API_KEY}} | |
ADYEN_CLIENT_KEY: ${{secrets.ADYEN_CLIENT_KEY}} | |
ADYEN_MERCHANT: ${{secrets.ADYEN_MERCHANT}} | |
ADMIN_USERNAME: ${{secrets.MAGENTO_ADMIN_USERNAME}} | |
ADMIN_PASSWORD: ${{secrets.MAGENTO_ADMIN_PASSWORD}} | |
DONATION_ACCOUNT: ${{secrets.DONATION_ACCOUNT}} | |
DEPLOY_SAMPLEDATA: 1 | |
steps: | |
- uses: actions/checkout@v3 | |
with: | |
ref: ${{ github.event.pull_request.head.sha || github.ref }} | |
- name: Install Magento | |
run: docker compose -f .github/docker-compose.yml run --rm web make magento | |
- name: Start web server in background | |
run: docker compose -f .github/docker-compose.yml up -d web | |
- name: Setup permissions | |
run: docker exec magento2-container make fs | |
- name: Check install | |
run: docker exec magento2-container make sys-check | |
- name: Install plugin | |
run: docker exec -u www-data magento2-container make plugin | |
- name: Install PHPStan dependencies | |
run: docker compose -f .github/docker-compose.yml run --rm web make phpstan-install | |
- name: Kill Cron Jobs | |
run: docker exec magento2-container /etc/init.d/cron stop | |
- name: Setup permissions | |
run: docker exec magento2-container make fs | |
- name: Run PHPStan | |
run: docker exec magento2-container make phpstan-run |