Skip to content

fix(ci): unblock CI β€” enforce PHP 8.3 in psalm.xml + sync PHP workflow templates#1381

Merged
skjnldsv merged 2 commits into
masterfrom
fix/psalm-min-php-version
Jun 30, 2026
Merged

fix(ci): unblock CI β€” enforce PHP 8.3 in psalm.xml + sync PHP workflow templates#1381
skjnldsv merged 2 commits into
masterfrom
fix/psalm-min-php-version

Conversation

@skjnldsv

@skjnldsv skjnldsv commented Jun 29, 2026

Copy link
Copy Markdown
Member

What

Two independent CI breakages on this branch, both fixed here:

  1. psalm.xml β€” bump enforced phpVersion 8.2 β†’ 8.3.
  2. PHP workflows β€” sync from nextcloud/.github templates: shivammathur/setup-php 2.37.0 β†’ 2.37.2, actions/checkout v6 β†’ v7, fail-fast: false for phpunit matrices.

Why

Static analysis

The Static analysis job runs a guard grep 'phpVersion="8.3' psalm.xml (min PHP derived from info.xml, NC35 β‡’ 8.3). psalm.xml was pinned to 8.2, so grep matched nothing and the step failed.

All PHP jobs (psalm, php-cs, phpunit) β€” composer install failures

Every PHP job failed at Install dependencies with:

The "https://codeload.github.com/.../legacy.zip/<sha>" file could not be downloaded (HTTP/2 400)

setup-php 2.37.0 provisions a composer that resolves GitHub dist archives via the deprecated codeload.github.com/.../legacy.zip endpoint, which now returns HTTP 400. This is not transient β€” re-running keeps failing because the broken action version is pinned. Upstream nextcloud/.github already bumped to 2.37.2; this PR syncs the templates.

Testing

  • All PHP CI jobs should now reach and pass their actual steps.

AI disclosure

Assisted by Claude Code (claude-opus-4-8).

CI step "Check enforcement of minimum PHP version 8.3 in psalm.xml"
greps for phpVersion="8.3" in psalm.xml and fails when absent.
NC35 (info.xml min-version) requires PHP 8.3+, so align psalm config.

Assisted-by: ClaudeCode:claude-opus-4-8
Signed-off-by: skjnldsv <skjnldsv@protonmail.com>
@skjnldsv skjnldsv added bug Something isn't working 3. to review labels Jun 29, 2026
Bumps shivammathur/setup-php 2.37.0 -> 2.37.2 and actions/checkout
v6 -> v7 across all PHP workflows, plus fail-fast: false for phpunit.

setup-php 2.37.0 provisions a composer version that resolves GitHub
dist archives via the deprecated codeload legacy.zip endpoint, which
now returns HTTP 400 and breaks 'composer install' in every PHP job
(psalm, php-cs, phpunit). 2.37.2 fixes the download path. Re-running
does not help since the broken action is pinned.

Assisted-by: ClaudeCode:claude-opus-4-8
Signed-off-by: skjnldsv <skjnldsv@protonmail.com>
@skjnldsv skjnldsv changed the title fix(psalm): bump enforced minimum PHP version to 8.3 fix(ci): unblock CI β€” enforce PHP 8.3 in psalm.xml + sync PHP workflow templates Jun 29, 2026
@skjnldsv
skjnldsv merged commit 2c2c869 into master Jun 30, 2026
43 of 45 checks passed
@skjnldsv
skjnldsv deleted the fix/psalm-min-php-version branch June 30, 2026 07:13
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

3. to review bug Something isn't working

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant