Skip to content
Merged
Show file tree
Hide file tree
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 0 additions & 2 deletions .github/codecov.yml

This file was deleted.

23 changes: 23 additions & 0 deletions .github/workflows/audit.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
name: Audit

on:
workflow_dispatch:
schedule:
- cron: '12 3 * * 1' # Weekly on Monday
pull_request:
branches:
- main
push:
branches:
- main

concurrency:
group: ${{ github.workflow }}-${{ github.ref_name }}
cancel-in-progress: true

permissions:
contents: read

jobs:
php:
uses: typisttech/.github/.github/workflows/audit-php.yml@v3
30 changes: 0 additions & 30 deletions .github/workflows/composer-audit.yml

This file was deleted.

23 changes: 0 additions & 23 deletions .github/workflows/composer-normalize.yml

This file was deleted.

9 changes: 4 additions & 5 deletions .github/workflows/dependabot-auto-merge.yml
Original file line number Diff line number Diff line change
Expand Up @@ -9,14 +9,13 @@ concurrency:
group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.run_id }}
cancel-in-progress: true

permissions: {}
permissions:
contents: write
pull-requests: write

jobs:
dependabot:
permissions:
contents: write
pull-requests: write
uses: typisttech/.github/.github/workflows/dependabot-auto-merge.yml@v2
uses: typisttech/.github/.github/workflows/dependabot-auto-merge.yml@v3
with:
minor: true
patch: true
20 changes: 20 additions & 0 deletions .github/workflows/format.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
name: Format

on:
workflow_dispatch:
push:
branches:
- main

concurrency:
group: ${{ github.workflow }}-${{ github.ref_name }}
cancel-in-progress: true

permissions:
contents: write
pull-requests: write

jobs:
php:
uses: typisttech/.github/.github/workflows/format-php.yml@v3
secrets: inherit
23 changes: 23 additions & 0 deletions .github/workflows/lint.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
name: Lint

on:
workflow_dispatch:
pull_request:
branches:
- main
push:
branches:
- main

concurrency:
group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref_name }}-${{ github.event.pull_request.number || github.sha }}
cancel-in-progress: true

permissions:
contents: read

jobs:
php:
uses: typisttech/.github/.github/workflows/lint-php.yml@v3
with:
phpstan: false
27 changes: 0 additions & 27 deletions .github/workflows/pint.yml

This file was deleted.

6 changes: 5 additions & 1 deletion .github/workflows/release-drafter.yml
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,11 @@

jobs:
release-drafter:
uses: typisttech/.github/.github/workflows/release-drafter.yml@v2
runs-on: ubuntu-latest
permissions:
contents: write
pull-requests: read
steps:
- uses: release-drafter/release-drafter@v6

Check warning

Code scanning / CodeQL

Unpinned tag for a non-immutable Action in workflow Medium

Unpinned 3rd party Action 'Release Drafter' step
Uses Step
uses 'release-drafter/release-drafter' with ref 'v6', not a pinned commit hash
env:
GITHUB_TOKEN: ${{ github.token }} # Not a typo.
52 changes: 31 additions & 21 deletions .github/workflows/test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,8 @@
push:
branches:
- main
tags:
- '**'

concurrency:
group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref_name }}-${{ github.event.pull_request.number || github.sha }}
Expand All @@ -17,42 +19,43 @@

jobs:
php-matrix:
uses: typisttech/.github/.github/workflows/php-matrix.yml@v2
permissions:
contents: read
runs-on: ubuntu-latest
outputs:
versions: ${{ steps.php-matrix.outputs.versions }}
highest: ${{ steps.php-matrix.outputs.highest }}
steps:
- uses: actions/checkout@v5
with:
sparse-checkout: composer.json
sparse-checkout-cone-mode: false

- uses: typisttech/php-matrix-action@v2

Check warning

Code scanning / CodeQL

Unpinned tag for a non-immutable Action in workflow Medium test

Unpinned 3rd party Action 'Test' step
Uses Step: php-matrix
uses 'typisttech/php-matrix-action' with ref 'v2', not a pinned commit hash
id: php-matrix

pest:
runs-on: ubuntu-latest
needs: php-matrix
strategy:
matrix:
php: ${{ fromJSON(needs.php-matrix.outputs.versions) }}
dependency-versions: [lowest, highest]
coverage: [none]
php-version: ${{ fromJSON(needs.php-matrix.outputs.versions) }}
coverage: ['none']
Comment on lines +39 to +40
Copy link

Copilot AI Oct 26, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The matrix no longer tests with 'lowest' dependency versions, only the versions specified in php-matrix. This reduces test coverage across different dependency combinations. Consider whether testing only with default/locked dependencies is sufficient, or if lowest dependency testing should be retained to catch compatibility issues.

Copilot uses AI. Check for mistakes.
exclude:
- php: ${{ needs.php-matrix.outputs.highest }}
dependency-versions: highest
coverage: none
- php-version: ${{ needs.php-matrix.outputs.highest }}
coverage: 'none'
include:
- php: ${{ needs.php-matrix.outputs.highest }}
dependency-versions: highest
- php-version: ${{ needs.php-matrix.outputs.highest }}
coverage: xdebug
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v5

- uses: shivammathur/setup-php@v2
with:
php-version: ${{ matrix.php }}
php-version: ${{ matrix.php-version }}
coverage: ${{ matrix.coverage }}
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}

- uses: ramsey/composer-install@v3
with:
dependency-versions: ${{ matrix.dependency-versions }}
composer-options: --no-audit --optimize-autoloader

- run: composer pest:unit -- --ci --coverage-clover coverage.xml
- run: composer pest:unit -- --ci --coverage-clover coverage-unit.xml
if: ${{ matrix.coverage == 'xdebug' }}

- run: composer pest:unit -- --ci
Expand All @@ -65,17 +68,24 @@
if: ${{ matrix.coverage == 'xdebug' }}
with:
name: coverage
path: coverage.xml
path: coverage-unit.xml

codecov:
needs: pest
runs-on: ubuntu-latest
permissions:
id-token: write
steps:
- uses: actions/checkout@v5

- uses: actions/download-artifact@v5
with:
name: coverage

- uses: codecov/codecov-action@v5
with:
use_oidc: ${{ !(github.event_name == 'pull_request' && github.event.pull_request.head.repo.fork) }}
use_oidc: true
Copy link

Copilot AI Oct 26, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Setting use_oidc: true unconditionally will fail for pull requests from forks, as they cannot use OIDC tokens. The original conditional logic ${{ !(github.event_name == 'pull_request' && github.event.pull_request.head.repo.fork) }} prevented this issue. This change will cause codecov uploads to fail for forked PRs.

Suggested change
use_oidc: true
use_oidc: ${{ !(github.event_name == 'pull_request' && github.event.pull_request.head.repo.fork) }}

Copilot uses AI. Check for mistakes.
fail_ci_if_error: true
disable_search: true
files: coverage-unit.xml
flags: unit