Skip to content

security-audit.yml pins PHP to an exact stale patch version (8.3.30), unlike the other workflows #152

Description

@morcen

Problem

.github/workflows/security-audit.yml pins PHP to an exact patch release:

# .github/workflows/security-audit.yml:23
- name: Setup PHP
  uses: shivammathur/setup-php@v2
  with:
    php-version: '8.3.30'

while run-tests.yml and test-matrix.yml use floating minor versions ('8.2', '8.3', '8.4').

Where

.github/workflows/security-audit.yml:23

Why it matters

This is the workflow whose entire job is running composer audit on a schedule (weekly, per the cron trigger) to catch newly disclosed vulnerabilities. Pinning it to a specific patch version means it silently drifts out of date as new 8.3.x patch releases ship — nothing bumps it automatically, since Dependabot's github-actions ecosystem update only tracks action version tags (e.g. shivammathur/setup-php@v2), not inline php-version strings, and the composer ecosystem doesn't touch workflow YAML at all. Over time the audit job runs against an increasingly outdated PHP patch, which is a minor but real gap in a job specifically meant to catch security issues.

Suggested fix

Use a floating minor version consistent with the other workflows (e.g. '8.3'), or if pinning to an exact patch is intentional (e.g. for reproducibility), add an explicit Dependabot/Renovate rule that can bump it, or a periodic manual review note.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    tech-debtFrom the technical debt register

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions