Skip to content

Commit a98d7b3

Browse files
committed
ci: migrate to reusable PHP CI workflows
Replaces 10 inlined workflows with thin callers to the reusable workflows in openCoreEMR/github-workflows-public@0.0.2: - actionlint, conventional-pr-title, dclint, hadolint trivial wrappers - php-composer-script for phpstan/phpcs/rector/php-syntax-check/ composer-validate/composer-normalize/composer-require-checker - php-tests for the PHPUnit matrix No behavior change; pins to tag 0.0.2 so future reusable updates are opt-in per repo.
1 parent 325ea2f commit a98d7b3

10 files changed

Lines changed: 47 additions & 284 deletions

.github/workflows/actionlint.yml

Lines changed: 5 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -3,23 +3,15 @@ name: actionlint
33
on:
44
push:
55
branches:
6-
- main
6+
- main
77
paths:
8-
- .github/workflows/**
8+
- .github/workflows/**
99
pull_request:
1010
branches:
11-
- main
11+
- main
1212
paths:
13-
- .github/workflows/**
13+
- .github/workflows/**
1414

1515
jobs:
1616
actionlint:
17-
name: Lint GitHub Actions workflows
18-
runs-on: ubuntu-latest
19-
20-
steps:
21-
- name: Checkout code
22-
uses: actions/checkout@v6
23-
24-
- name: Run actionlint
25-
uses: rhysd/actionlint@v1.7.12
17+
uses: openCoreEMR/github-workflows-public/.github/workflows/actionlint.yml@0.0.2

.github/workflows/composer-normalize.yml

Lines changed: 5 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -3,38 +3,14 @@ name: Composer Normalize
33
on:
44
push:
55
branches:
6-
- main
6+
- main
77
pull_request:
88
branches:
9-
- main
9+
- main
1010

1111
jobs:
1212
composer-normalize:
13-
name: Normalize composer.json (check)
14-
runs-on: ubuntu-latest
15-
16-
steps:
17-
- name: Checkout code
18-
uses: actions/checkout@v6
19-
20-
- name: Setup PHP
21-
uses: shivammathur/setup-php@v2
22-
with:
23-
php-version: '8.2'
24-
extensions: json, curl
25-
coverage: none
26-
tools: composer:v2
27-
28-
- name: Cache Composer dependencies
29-
uses: actions/cache@v5
30-
with:
31-
path: vendor
32-
key: ${{ runner.os }}-composer-${{ hashFiles('**/composer.lock') }}
33-
restore-keys: |
34-
${{ runner.os }}-composer-
35-
36-
- name: Install dependencies
37-
run: composer install --prefer-dist --no-progress --no-interaction
38-
39-
- name: Normalize composer.json (check)
13+
uses: openCoreEMR/github-workflows-public/.github/workflows/php-composer-script.yml@0.0.2
14+
with:
15+
name: Normalize composer.json (check)
4016
run: composer normalize --dry-run

.github/workflows/composer-require-checker.yml

Lines changed: 6 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -3,38 +3,15 @@ name: Composer Require Checker
33
on:
44
push:
55
branches:
6-
- main
6+
- main
77
pull_request:
88
branches:
9-
- main
9+
- main
1010

1111
jobs:
1212
composer-require-checker:
13-
name: Run Composer Require Checker
14-
runs-on: ubuntu-latest
15-
16-
steps:
17-
- name: Checkout code
18-
uses: actions/checkout@v6
19-
20-
- name: Setup PHP
21-
uses: shivammathur/setup-php@v2
22-
with:
23-
php-version: '8.2'
24-
extensions: json, curl
25-
coverage: none
26-
tools: composer:v2, composer-require-checker
27-
28-
- name: Cache Composer dependencies
29-
uses: actions/cache@v5
30-
with:
31-
path: vendor
32-
key: ${{ runner.os }}-composer-${{ hashFiles('**/composer.lock') }}
33-
restore-keys: |
34-
${{ runner.os }}-composer-
35-
36-
- name: Install dependencies
37-
run: composer install --prefer-dist --no-progress --no-interaction
38-
39-
- name: Run Composer Require Checker
13+
uses: openCoreEMR/github-workflows-public/.github/workflows/php-composer-script.yml@0.0.2
14+
with:
15+
name: Run Composer Require Checker
4016
run: composer-require-checker check --config-file=.composer-require-checker.json
17+
php-tools: 'composer:v2, composer-require-checker'

.github/workflows/composer-validate.yml

Lines changed: 6 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -3,27 +3,15 @@ name: Composer Validate
33
on:
44
push:
55
branches:
6-
- main
6+
- main
77
pull_request:
88
branches:
9-
- main
9+
- main
1010

1111
jobs:
1212
composer-validate:
13-
name: Validate composer.json
14-
runs-on: ubuntu-latest
15-
16-
steps:
17-
- name: Checkout code
18-
uses: actions/checkout@v6
19-
20-
- name: Setup PHP
21-
uses: shivammathur/setup-php@v2
22-
with:
23-
php-version: '8.2'
24-
extensions: json, curl
25-
coverage: none
26-
tools: composer:v2
27-
28-
- name: Validate composer.json
13+
uses: openCoreEMR/github-workflows-public/.github/workflows/php-composer-script.yml@0.0.2
14+
with:
15+
name: Validate composer.json
2916
run: composer validate --strict
17+
install-deps: false

.github/workflows/conventional-pr-title.yml

Lines changed: 1 addition & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -4,33 +4,6 @@ on:
44
pull_request:
55
types: [opened, edited, synchronize, reopened]
66

7-
permissions:
8-
pull-requests: read
9-
107
jobs:
118
conventional-pr-title:
12-
runs-on: ubuntu-latest
13-
steps:
14-
- uses: amannn/action-semantic-pull-request@v6
15-
env:
16-
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
17-
with:
18-
types: |
19-
feat
20-
fix
21-
docs
22-
style
23-
refactor
24-
perf
25-
test
26-
build
27-
ci
28-
chore
29-
revert
30-
deps
31-
requireScope: false
32-
subjectPattern: ^(?![A-Z]).+$
33-
subjectPatternError: |
34-
The subject "{subject}" found in the pull request title "{title}"
35-
didn't match the configured pattern. Please ensure that the subject
36-
doesn't start with an uppercase character.
9+
uses: openCoreEMR/github-workflows-public/.github/workflows/conventional-pr-title.yml@0.0.2

.github/workflows/php-syntax-check.yml

Lines changed: 6 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -3,27 +3,15 @@ name: PHP Syntax Check
33
on:
44
push:
55
branches:
6-
- main
6+
- main
77
pull_request:
88
branches:
9-
- main
9+
- main
1010

1111
jobs:
1212
php-syntax-check:
13-
name: PHP Syntax Check
14-
runs-on: ubuntu-latest
15-
16-
steps:
17-
- name: Checkout code
18-
uses: actions/checkout@v6
19-
20-
- name: Setup PHP
21-
uses: shivammathur/setup-php@v2
22-
with:
23-
php-version: '8.2'
24-
extensions: json, curl
25-
coverage: none
26-
tools: composer:v2
27-
28-
- name: PHP Syntax Check
13+
uses: openCoreEMR/github-workflows-public/.github/workflows/php-composer-script.yml@0.0.2
14+
with:
15+
name: PHP Syntax Check
2916
run: composer php-lint
17+
install-deps: false

.github/workflows/phpcs.yml

Lines changed: 5 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -3,38 +3,14 @@ name: PHP CodeSniffer
33
on:
44
push:
55
branches:
6-
- main
6+
- main
77
pull_request:
88
branches:
9-
- main
9+
- main
1010

1111
jobs:
1212
phpcs:
13-
name: Run PHP CodeSniffer
14-
runs-on: ubuntu-latest
15-
16-
steps:
17-
- name: Checkout code
18-
uses: actions/checkout@v6
19-
20-
- name: Setup PHP
21-
uses: shivammathur/setup-php@v2
22-
with:
23-
php-version: '8.2'
24-
extensions: json, curl
25-
coverage: none
26-
tools: composer:v2
27-
28-
- name: Cache Composer dependencies
29-
uses: actions/cache@v5
30-
with:
31-
path: vendor
32-
key: ${{ runner.os }}-composer-${{ hashFiles('**/composer.lock') }}
33-
restore-keys: |
34-
${{ runner.os }}-composer-
35-
36-
- name: Install dependencies
37-
run: composer install --prefer-dist --no-progress --no-interaction
38-
39-
- name: Run PHP CodeSniffer
13+
uses: openCoreEMR/github-workflows-public/.github/workflows/php-composer-script.yml@0.0.2
14+
with:
15+
name: Run PHP CodeSniffer
4016
run: composer phpcs

.github/workflows/phpstan.yml

Lines changed: 5 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -3,38 +3,14 @@ name: PHPStan
33
on:
44
push:
55
branches:
6-
- main
6+
- main
77
pull_request:
88
branches:
9-
- main
9+
- main
1010

1111
jobs:
1212
phpstan:
13-
name: Run PHPStan
14-
runs-on: ubuntu-latest
15-
16-
steps:
17-
- name: Checkout code
18-
uses: actions/checkout@v6
19-
20-
- name: Setup PHP
21-
uses: shivammathur/setup-php@v2
22-
with:
23-
php-version: '8.2'
24-
extensions: json, curl
25-
coverage: none
26-
tools: composer:v2
27-
28-
- name: Cache Composer dependencies
29-
uses: actions/cache@v5
30-
with:
31-
path: vendor
32-
key: ${{ runner.os }}-composer-${{ hashFiles('**/composer.lock') }}
33-
restore-keys: |
34-
${{ runner.os }}-composer-
35-
36-
- name: Install dependencies
37-
run: composer install --prefer-dist --no-progress --no-interaction
38-
39-
- name: Run PHPStan
13+
uses: openCoreEMR/github-workflows-public/.github/workflows/php-composer-script.yml@0.0.2
14+
with:
15+
name: Run PHPStan
4016
run: composer phpstan

.github/workflows/rector.yml

Lines changed: 5 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -3,38 +3,14 @@ name: Rector
33
on:
44
push:
55
branches:
6-
- main
6+
- main
77
pull_request:
88
branches:
9-
- main
9+
- main
1010

1111
jobs:
1212
rector:
13-
name: Run Rector (dry-run)
14-
runs-on: ubuntu-latest
15-
16-
steps:
17-
- name: Checkout code
18-
uses: actions/checkout@v6
19-
20-
- name: Setup PHP
21-
uses: shivammathur/setup-php@v2
22-
with:
23-
php-version: '8.2'
24-
extensions: json, curl
25-
coverage: none
26-
tools: composer:v2
27-
28-
- name: Cache Composer dependencies
29-
uses: actions/cache@v5
30-
with:
31-
path: vendor
32-
key: ${{ runner.os }}-composer-${{ hashFiles('**/composer.lock') }}
33-
restore-keys: |
34-
${{ runner.os }}-composer-
35-
36-
- name: Install dependencies
37-
run: composer install --prefer-dist --no-progress --no-interaction
38-
39-
- name: Run Rector (dry-run)
13+
uses: openCoreEMR/github-workflows-public/.github/workflows/php-composer-script.yml@0.0.2
14+
with:
15+
name: Run Rector (dry-run)
4016
run: composer rector

0 commit comments

Comments
 (0)