PR-5.4-dev Pending

User tests: Successful: Unsuccessful:

avatar D3S-Gaurav
D3S-Gaurav
27 Feb 2026
  • Fix YAML indentation for sleep command in integration tests run block
  • Add missing cache step ID (cache-php-windows) in Windows integration test job
  • Fix artifact name collision by including matrix variables in artifact name
  • Fix typo 'Archive test results results' -> 'Archive test results'
  • Add timeout-minutes to all 12 jobs to prevent runaway builds

This Pull Request improves CI workflow stability and fixes multiple configuration issues.

  • I read the Generative AI policy and my contribution is either not created with the help of AI or is compatible with the policy and GNU/GPL 2 or later.

Summary of Changes

This PR fixes multiple issues in .github/workflows/ci.yml related to CI reliability, caching behavior, artifact uploads, and workflow safety.

1. Fix YAML indentation in integration tests

The sleep 3 command inside a YAML literal block (|) used inconsistent indentation (9 spaces instead of 10), which could lead to readability issues and potential parsing inconsistencies.

2. Add missing cache step ID in Windows integration tests

The tests-integration-windows job referenced:

steps.cache-php-windows.outputs.cache-hit

However, the cache restore step was missing:

id: cache-php-windows

This caused Composer dependencies to reinstall on every run even when cache restoration succeeded.

3. Fix artifact name collision in system tests

The tests-system matrix job previously used a static artifact name:

system-test-output

Since actions/upload-artifact@v4 requires unique artifact names, parallel matrix executions (6 DB configs × 2 browsers) caused upload conflicts.

Artifact names now include matrix variables:

system-test-output-${{ matrix.config.test_group }}-${{ matrix.browser }}

Also fixes typo: Archive test results resultsArchive test results

4. Add timeout protection to all jobs

No jobs defined timeout-minutes, defaulting to GitHub's 360-minute limit.

Reasonable timeout limits were added to prevent runaway builds and unnecessary runner consumption:

Job Timeout
composer 10 min
npm 15 min
code-style-php 10 min
code-style-js-css 10 min
phpstan 15 min
tests-unit 15 min
tests-unit-windows 15 min
tests-integration 30 min
tests-integration-windows 30 min
tests-system-prepare 15 min
tests-system 60 min
typos 5 min

Testing Instructions

  1. Confirm workflow YAML validation passes.
  2. Run CI on a test branch.
  3. Verify:
    • System test artifacts upload successfully for all matrix runs.
    • Windows integration tests skip Composer install when cache is hit.
    • Jobs terminate correctly when exceeding timeout limits.

Actual result BEFORE applying this Pull Request

  • Inconsistent YAML indentation
  • Composer cache unused on Windows integration tests
  • Artifact upload collisions in matrix jobs
  • Jobs could run up to 6 hours

Expected result AFTER applying this Pull Request

  • Consistent YAML formatting
  • Functional Composer caching
  • Unique artifact uploads per matrix execution
  • Safe execution time limits

Link to documentations

Please select:

  • Documentation link for guide.joomla.org:

  • No documentation changes for guide.joomla.org needed

  • Pull Request link for manual.joomla.org:

  • No documentation changes for manual.joomla.org needed

avatar D3S-Gaurav D3S-Gaurav - open - 27 Feb 2026
avatar D3S-Gaurav D3S-Gaurav - change - 27 Feb 2026
Status New Pending
avatar joomla-cms-bot joomla-cms-bot - change - 27 Feb 2026
Category Repository
avatar D3S-Gaurav D3S-Gaurav - change - 27 Feb 2026
Title
[CI] Fix multiple workflow issues
[5.4] Fix CI workflow: indentation, artifact names, cache step ID, and missing timeouts
avatar D3S-Gaurav D3S-Gaurav - edited - 27 Feb 2026
avatar richard67
richard67 - comment - 27 Feb 2026

@D3S-Gaurav This PR here obviously also contains the changes from your other PR #46926 , and the description of this PR tells so. So it seems this PR here shall replace the other one. Why don't you close the other one? Having multiple concurrent PRs open causes additional work for maintainers. Every author is able to close their own PRs.

avatar laoneo
laoneo - comment - 27 Feb 2026

Thanks for your work. Unfortunately this pr does not improve the workflow so I'm closing it it to save valuable resources for maintainers.

avatar laoneo laoneo - change - 27 Feb 2026
Status Pending Closed
Closed_Date 0000-00-00 00:00:00 2026-02-27 16:59:57
Closed_By laoneo
Labels Added: PR-5.4-dev
avatar laoneo laoneo - close - 27 Feb 2026

Add a Comment

Login with GitHub to post a comment