Skip to content

Feature/Download

Feature/Download #69

Workflow file for this run

on: pull_request
name: Review
jobs:
test-composer-install:
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
php: [ '8.4' ]
name: Validate composer (${{ matrix.php }})
steps:
- uses: actions/checkout@v4
- name: Setup PHP, with composer and extensions
uses: shivammathur/setup-php@v2
with:
php-version: ${{ matrix.php }}
extensions: http, ctype, iconv
coverage: none
- name: Get composer cache directory
id: composer-cache
run: echo "::set-output name=dir::$(composer config cache-files-dir)"
- name: Cache dependencies
uses: actions/cache@v4
with:
path: ${{ steps.composer-cache.outputs.dir }}
key: ${{ runner.os }}-composer-${{ hashFiles('**/composer.json') }}-${{ matrix.dependency-version }}-
restore-keys: ${{ runner.os }}-composer-${{ matrix.dependency-version }}-
- name: Composer install with exported .env variables
run: |
set -a && source .env && set +a
APP_ENV=prod composer install --no-dev -o
- name: Validate composer files
run: |
composer validate composer.json --strict
docker network create frontend
docker compose run --user root --rm phpfpm composer install
docker compose run --user root --rm phpfpm composer normalize --dry-run
test-suite:
if: false
name: Test suite (${{ matrix.php }})
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
php: [ '8.4' ]
steps:
- uses: actions/checkout@v4
- name: Setup PHP, with composer and extensions
uses: shivammathur/setup-php@v2
with:
php-version: ${{ matrix.php }}
extensions: http, ctype, iconv
coverage: xdebug
- name: Get composer cache directory
id: composer-cache
run: echo "::set-output name=dir::$(composer config cache-files-dir)"
- name: Cache dependencies
uses: actions/cache@v4
with:
path: ${{ steps.composer-cache.outputs.dir }}
key: ${{ runner.os }}-composer-${{ hashFiles('**/composer.json') }}-${{ matrix.dependency-version }}-
restore-keys: ${{ runner.os }}-composer-${{ matrix.dependency-version }}-
- name: Install Dependencies
run: composer install -q --no-ansi --no-interaction --no-scripts --no-suggest --no-progress --prefer-dist
- name: Test suite
run: ./vendor/bin/phpunit --coverage-clover=coverage/unit.xml
- name: Upload coverage to Codecov test
uses: codecov/codecov-action@v2
with:
files: ./coverage/unit.xml
flags: unittests, ${{ matrix.php }}
changelog:
runs-on: ubuntu-latest
name: Changelog should be updated
strategy:
matrix:
php-versions: [ '8.4' ]
fail-fast: false
steps:
- name: Checkout
uses: actions/checkout@v4
with:
fetch-depth: 2
- name: Git fetch
run: git fetch
- name: Check that changelog has been updated.
run: git diff --exit-code origin/${{ github.base_ref }} -- CHANGELOG.md && exit 1 || exit 0
markdown-coding-standards:
name: Markdown coding standards
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Coding standards
run: |
docker run --rm --volume "$PWD:/md" itkdev/markdownlint '**/*.md'
coding-standards-phpcs:
name: coding-standards-check/phpcs
runs-on: ubuntu-latest
strategy:
matrix:
php-versions: [ '8.4' ]
fail-fast: false
steps:
- uses: actions/checkout@v4
- run: |
docker network create frontend
docker compose run --user root --rm phpfpm composer install
docker compose run --user root --rm phpfpm composer coding-standards-check
coding-standards-twig-cs-fixer:
name: coding-standards-check/twig-cs-fixer
runs-on: ubuntu-latest
strategy:
matrix:
php-versions: [ '8.4' ]
fail-fast: false
steps:
- uses: actions/checkout@v4
- run: |
docker network create frontend
docker compose run --user root --rm phpfpm composer install
docker compose run --user root --rm phpfpm composer coding-standards-check/twig-cs-fixer
apispec:
runs-on: ubuntu-latest
name: API Specification validation
strategy:
fail-fast: false
matrix:
php: [ '8.4' ]
steps:
- name: Checkout
uses: actions/checkout@v4
with:
fetch-depth: 2
- name: Setup PHP, with composer and extensions
uses: shivammathur/setup-php@v2
with:
php-version: ${{ matrix.php }}
extensions: http, ctype, iconv
coverage: none
- name: Get composer cache directory
id: composer-cache
run: echo "dir=$(composer config cache-files-dir)" >> $GITHUB_OUTPUT
- name: Cache dependencies
uses: actions/cache@v4
with:
path: ${{ steps.composer-cache.outputs.dir }}
key: ${{ runner.os }}-composer-${{ hashFiles('**/composer.lock') }}
restore-keys: ${{ runner.os }}-composer-
- name: Install Dependencies
run: composer install -q --no-ansi --no-interaction --no-scripts --no-suggest --no-progress --prefer-dist
- name: Export specifications
run: bin/console api:openapi:export --yaml --output=public/spec.yaml --no-interaction
- name: Check for changes in specifications
run: git diff --diff-filter=ACMRT --exit-code public/spec.yaml