Skip to content

[TASK] update docker build workflow #1772

[TASK] update docker build workflow

[TASK] update docker build workflow #1772

Workflow file for this run

name: "Main"
on: # yamllint disable-line rule:truthy
pull_request: null
push:
branches:
- "main"
env:
DEFAULT_PHP_VERSION: "8.1"
RUN_ENVIRONMENT: "local"
jobs:
tests:
name : Tests
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
php:
- '8.1'
- '8.2'
- '8.3'
steps:
- name: Checkout
uses: actions/checkout@v4
- name: "Install PHP"
uses: "shivammathur/setup-php@v2"
with:
coverage: "none"
php-version: "${{ matrix.php }}"
- name: "Install dependencies with Composer"
uses: "ramsey/composer-install@v2"
with:
dependency-versions: "locked"
- name: "Run unit tests"
run: "make test-unit ENV=${{ env.RUN_ENVIRONMENT }}"
- name: "Run integration tests"
run: "make test-integration ENV=${{ env.RUN_ENVIRONMENT }}"
quality:
name: Quality
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
- name: "Install PHP"
uses: "shivammathur/setup-php@v2"
with:
coverage: "none"
php-version: "${{ env.DEFAULT_PHP_VERSION }}"
- name: "Install dependencies with Composer"
uses: "ramsey/composer-install@v2"
with:
dependency-versions: "locked"
- name: "Check for normalized composer.json"
run: "composer normalize --dry-run"
- name: "CGL"
run: "make code-style ENV=${{ env.RUN_ENVIRONMENT }}"
- name: "PHPSTAN"
run: "make phpstan ENV=${{ env.RUN_ENVIRONMENT }}"
- name: "Lint guides.xml configurations"
run: "make test-xml ENV=${{ env.RUN_ENVIRONMENT }}"
- name: "'Documentation' renders without warning'"
run: "make test-docs ENV=${{ env.RUN_ENVIRONMENT }}"
- name: "'Documentation-rendertest' renders without warning'"
run: "make test-rendertest ENV=${{ env.RUN_ENVIRONMENT }}"
monorepo-validate:
name: "Validate monorepo structure"
runs-on: "ubuntu-latest"
steps:
- name: "Checkout"
uses: "actions/checkout@v4"
- name: "Install PHP"
uses: "shivammathur/setup-php@v2"
with:
coverage: "none"
php-version: "${{ env.DEFAULT_PHP_VERSION }}"
- name: "Install dependencies with Composer"
uses: "ramsey/composer-install@v2"
with:
dependency-versions: "locked"
- name: "Validate monorepo"
run: "make test-monorepo ENV=${{ env.RUN_ENVIRONMENT }}"