Skip to content

fix: #10481 EHR launch skip login screen (#10482) #72

fix: #10481 EHR launch skip login screen (#10482)

fix: #10481 EHR launch skip login screen (#10482) #72

name: Composer Require Checker
on:
push:
branches:
- master
- rel-*
paths:
- '**.inc'
- '**.php'
- '.composer-require-checker.json'
- '.github/workflows/composer-require-checker.yml'
- 'composer.json'
- 'composer.lock'
pull_request:
branches:
- master
- rel-*
paths:
- '**.inc'
- '**.php'
- '.composer-require-checker.json'
- '.github/workflows/composer-require-checker.yml'
- 'composer.json'
- 'composer.lock'
workflow_dispatch:
permissions:
contents: read
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}-${{ github.event_name == 'pull_request' && github.event.number || github.run_id }}
cancel-in-progress: ${{ github.event_name == 'pull_request' }}
jobs:
composer-require-checker:
runs-on: ubuntu-24.04
strategy:
matrix:
php-version:
- '8.2'
composer-require-checker-version:
- '4.16.1'
steps:
- name: "Checkout Code"
uses: actions/checkout@v6
- name: "Setup PHP"
uses: shivammathur/setup-php@v2
with:
php-version: ${{ matrix.php-version }}
extensions: bcmath, calendar, ctype, curl, dom, fileinfo, filter, gd, iconv, imagick, intl, json, ldap, libxml, mbstring, mysqli, openssl, pdo, pdo_mysql, phar, session, simplexml, soap, sockets, sodium, tokenizer, xml, xmlreader, xmlwriter, xsl, zip, zlib
coverage: none
- name: "Get composer cache directory"
id: composer-cache
run: |
{
printf 'dir='
composer config cache-files-dir
} >> "$GITHUB_OUTPUT"
##
# These are reused a bunch so it's neater to collect them here
- name: Collect cache keys
id: cache-keys
run: |
{
echo 'vendor=${{ runner.os }}-vendor-${{ matrix.php-version }}-${{ hashFiles('**/composer.lock') }}'
echo 'composer=${{ runner.os }}-composer-${{ matrix.php-version }}-${{ hashFiles('**/composer.lock') }}'
} >> "$GITHUB_OUTPUT"
- name: "Restore vendor artifacts"
id: vendor-cache-restore
uses: actions/cache/restore@v5
with:
key: ${{ steps.cache-keys.outputs.vendor }}
path: vendor/
restore-keys: |
${{ runner.os }}-vendor-${{ matrix.php-version }}-
${{ runner.os }}-vendor-
- name: "Check vendor artifacts cache"
id: vendor-cache-check
run: |
key='${{ steps.cache-keys.outputs.vendor }}'
matched='${{ steps.vendor-cache-restore.outputs.cache-matched-key }}'
if [[ $key = "$matched" ]]; then
echo hit=true
else
echo hit=false
fi >> "$GITHUB_OUTPUT"
- name: "Restore composer downloads"
id: composer-cache-restore
if: ${{ steps.vendor-cache-check.outputs.hit != 'true' }}
uses: actions/cache/restore@v5
with:
key: ${{ steps.cache-keys.outputs.composer }}
path: ${{ steps.composer-cache.outputs.dir }}
restore-keys: |
${{ runner.os }}-composer-${{ matrix.php-version }}-
${{ runner.os }}-composer-
- name: "Composer Install"
if: ${{ steps.vendor-cache-check.outputs.hit != 'true' }}
run: composer install --prefer-dist --no-progress
- name: "Save composer cache"
if: ${{ steps.vendor-cache-check.outputs.hit != 'true' }}
uses: actions/cache/save@v5
with:
key: ${{ runner.os }}-composer-${{ matrix.php-version }}-${{ hashFiles('**/composer.lock') }}
path: ${{ steps.composer-cache.outputs.dir }}
- name: "Save vendor artifacts"
if: ${{ steps.vendor-cache-check.outputs.hit != 'true' }}
uses: actions/cache/save@v5
with:
key: ${{ runner.os }}-vendor-${{ matrix.php-version }}-${{ hashFiles('**/composer.lock') }}
path: vendor/
- name: "Download Composer Require Checker"
run: |
version=${{ matrix.composer-require-checker-version }}
echo "Downloading composer-require-checker version: $version"
curl -fsSLo composer-require-checker.phar "https://github.com/maglnet/ComposerRequireChecker/releases/download/${version}/composer-require-checker.phar"
- name: "Run Composer Require Checker"
shell: bash
run: |
if [[ -f .composer-require-checker.json ]]; then
php composer-require-checker.phar check --config-file=.composer-require-checker.json composer.json
else
php composer-require-checker.phar check composer.json
fi