Skip to content

support is for CI 4.3.5 and higher#15

Merged
olajideolamide merged 10 commits into
mainfrom
feature/change-support-for-ci-4.3.5
May 22, 2026
Merged

support is for CI 4.3.5 and higher#15
olajideolamide merged 10 commits into
mainfrom
feature/change-support-for-ci-4.3.5

Conversation

@olajideolamide
Copy link
Copy Markdown
Owner

support CI from v4.3.5 and higher

@coderabbitai
Copy link
Copy Markdown

coderabbitai Bot commented May 22, 2026

Review Change Stack

Warning

Rate limit exceeded

@olajideolamide has exceeded the limit for the number of commits that can be reviewed per hour. Please wait 38 minutes and 8 seconds before requesting another review.

You’ve run out of usage credits. Purchase more in the billing tab.

⌛ How to resolve this issue?

After the wait time has elapsed, a review can be triggered using the @coderabbitai review command as a PR comment. Alternatively, push new commits to this PR.

We recommend that you space out your commits to avoid hitting the rate limit.

🚦 How do rate limits work?

CodeRabbit enforces hourly rate limits for each developer per organization.

Our paid plans have higher rate limits than the trial, open-source and free plans. In all cases, we re-allow further reviews after a brief timeout.

Please see our FAQ for further information.

ℹ️ Review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro

Run ID: 4ea79c72-3e67-4784-9617-5db5a402eeae

📥 Commits

Reviewing files that changed from the base of the PR and between 50798d9 and 71e899f.

📒 Files selected for processing (2)
  • src/Services/Issues/IssueShowViewPrepService.php
  • src/Support/RequestSnapshot.php

Hidden review stack artifact

Walkthrough

Expands CI to run PHPStan and PHPUnit across PHP versions and dependency modes using a shared install script, adds an advisory PHP 8.5 PHPUnit job, tightens composer validation, and updates composer + docs to require CodeIgniter 4.6.2.

Changes

CI/CD Infrastructure & Testing Expansion

Layer / File(s) Summary
Dependency Installation Script
.github/scripts/install-dependencies.sh
New Bash script with strict shell options and a dependencies mode argument (lowest/highest/locked) that runs mode-appropriate Composer commands.
PHPStan Workflow Modernization
.github/workflows/phpstan.yml
Converts PHPStan job to a matrix (PHP versions × dependency modes), limits job permissions, uses matrix PHP setup/extensions, validates composer with --strict --no-check-lock, delegates dependency install to the repo script, and runs composer phpstan.
PHPUnit Workflow Expansion
.github/workflows/phpunit.yml
Reconfigures sqlite/mysql/mariadb jobs to a 2D matrix (PHP 8.2–8.4 × lowest/highest), uses the shared install script, expands Setup-PHP extensions, secures DB credentials via ${{ github.run_id }}, adjusts health checks, prints resolved versions, and adds an advisory PHP 8.5 SQLite job.
Version constraints and docs
composer.json, CONTRIBUTING.md, README.md, docs/content/getting-started/installation.md
Composer constraint and documentation updated to CodeIgniter 4.6.2 minimum; CONTRIBUTING adds testing instructions (including lowest/highest dependency checks).
Test-support and metadata tidy-ups
tests/Support/Config/Registrar.php, tests/Support/DexTestCase.php, .github/copilot-instructions.md
Removes an inline doc comment, adds EOF newline, replaces Services superglobals unset with direct unset($_SERVER[$key]) (with phpstan ignore), and adds an invisible leading character to copilot instructions heading.
PHPCS workflow labels
.github/workflows/phpcs.yml
Updates PHPCS dispatch run-name format and adds an explicit step name for the advisory PHPCS job.

Estimated code review effort

🎯 3 (Moderate) | ⏱️ ~25 minutes

Poem

🐰 A bash script hums, modes set to test,
Matrices spin PHP versions the best.
Composer resolves low to high,
Docs updated — CI watches the sky.
Rabbit hops—CI runs—then takes a rest.

🚥 Pre-merge checks | ✅ 2 | ❌ 3

❌ Failed checks (3 warnings)

Check name Status Explanation Resolution
Title check ⚠️ Warning The title claims support for CI 4.3.5+ but the changeset updates requirements to 4.6.2+, which contradicts the stated support. Update the title to accurately reflect that support now requires CodeIgniter 4.6.2 or higher, not 4.3.5.
Description check ⚠️ Warning The description is vague and does not follow the repository template; it lacks Summary, Changes list, How to test, and Checklist sections. Expand the description to follow the provided template with detailed Summary, Changes, testing instructions, and checklist items.
Docstring Coverage ⚠️ Warning Docstring coverage is 0.00% which is insufficient. The required threshold is 80.00%. Write docstrings for the functions missing them to satisfy the coverage threshold.
✅ Passed checks (2 passed)
Check name Status Explanation
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch feature/change-support-for-ci-4.3.5

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

Copy link
Copy Markdown

@coderabbitai coderabbitai Bot left a comment

Choose a reason for hiding this comment

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

Actionable comments posted: 4

🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In @.github/workflows/phpstan.yml:
- Line 24: The workflow currently uses tag-pinned actions; replace the two
occurrences "uses: actions/checkout@v4" and "uses: shivammathur/setup-php@v2"
with their corresponding full commit SHAs (e.g.,
actions/checkout@<full-commit-sha> and shivammathur/setup-php@<full-commit-sha>)
so the workflow is pinned to immutable revisions; locate the uses: lines for
actions/checkout and shivammathur/setup-php in the YAML and substitute the tag
with the exact commit SHA from each action's repository.

In @.github/workflows/phpunit.yml:
- Line 24: The workflow uses tag-based action references (e.g.,
actions/checkout@v4 and shivammathur/setup-php@v2), which should be replaced
with immutable commit SHAs to satisfy supply-chain/policy requirements; update
each occurrence (actions/checkout@v4, shivammathur/setup-php@v2 and the other
listed uses at lines 30, 83, 89, 142, 148, 175, 181) to the corresponding action
repository commit SHA (found in the action's GitHub repo releases or tags),
replacing the tag with the full SHA for each uses: entry so the workflow
references a fixed immutable version.

In `@docs/content/getting-started/installation.md`:
- Line 12: The markdown bold syntax for the dependency line is missing the
trailing marker; locate the text string "**CodeIgniter 4.3.5 or higher" in the
getting-started installation content and add the closing "**" so it reads
"**CodeIgniter 4.3.5 or higher**".

In `@tests/Support/Config/Registrar.php`:
- Line 109: The file tests/Support/Config/Registrar.php ends with two blank
lines which violates PSR-12/PSR-2; open Registrar.php and remove the extra
trailing blank line so the file ends with exactly one newline character (single
blank line at EOF), save, and re-run PHPCS/CI to confirm the formatting fix.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro

Run ID: 5194cf70-465a-48b9-83a2-ab84edc6921f

📥 Commits

Reviewing files that changed from the base of the PR and between 7cdd4c2 and 3e48f90.

📒 Files selected for processing (8)
  • .github/scripts/install-dependencies.sh
  • .github/workflows/phpstan.yml
  • .github/workflows/phpunit.yml
  • CONTRIBUTING.md
  • README.md
  • composer.json
  • docs/content/getting-started/installation.md
  • tests/Support/Config/Registrar.php

Comment thread .github/workflows/phpstan.yml
Comment thread .github/workflows/phpunit.yml
Comment thread docs/content/getting-started/installation.md Outdated
Comment thread tests/Support/Config/Registrar.php Outdated
Copy link
Copy Markdown

@coderabbitai coderabbitai Bot left a comment

Choose a reason for hiding this comment

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

♻️ Duplicate comments (2)
.github/workflows/phpstan.yml (1)

25-25: ⚠️ Potential issue | 🟠 Major | ⚡ Quick win

Pin action references to immutable commit SHAs.

Both uses: entries are tag-pinned and mutable. Pin them to full SHAs to harden the workflow supply chain.

#!/bin/bash
set -euo pipefail

FILE=".github/workflows/phpstan.yml"
echo "Checking $FILE"
rg -n '^\s*-\s*uses:\s*' "$FILE"

python3 - <<'PY'
import re, pathlib
p = pathlib.Path(".github/workflows/phpstan.yml")
uses_re = re.compile(r'^\s*-\s*uses:\s*([^\s#]+)')
sha_re = re.compile(r'@[0-9a-fA-F]{40}$')

for i, line in enumerate(p.read_text().splitlines(), 1):
    m = uses_re.match(line)
    if not m:
        continue
    ref = m.group(1)
    status = "SHA_PINNED" if sha_re.search(ref) else "NOT_PINNED"
    print(f"{i}: {status} -> {ref}")
PY

Expected result: every uses: line reports SHA_PINNED.

Also applies to: 31-31

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In @.github/workflows/phpstan.yml at line 25, The workflow uses entries are
pinned to mutable tags (e.g., "actions/checkout@v4") instead of immutable commit
SHAs; update each "uses:" entry in the phpstan.yml workflow (including the line
referencing actions/checkout@v4 and the other uses entry around line 31) to the
corresponding full 40-character commit SHA (replace the `@tag` with
@<40-char-sha>) so every uses: reference is SHA_PINNED.
.github/workflows/phpunit.yml (1)

25-25: ⚠️ Potential issue | 🟠 Major | ⚡ Quick win

Pin all action references to immutable commit SHAs.

These uses: entries are tag-pinned and can drift. Replace them with full commit SHAs for deterministic and safer CI runs.

#!/bin/bash
set -euo pipefail

FILE=".github/workflows/phpunit.yml"
echo "Checking $FILE"
rg -n '^\s*-\s*uses:\s*' "$FILE"

python3 - <<'PY'
import re, pathlib
p = pathlib.Path(".github/workflows/phpunit.yml")
uses_re = re.compile(r'^\s*-\s*uses:\s*([^\s#]+)')
sha_re = re.compile(r'@[0-9a-fA-F]{40}$')

for i, line in enumerate(p.read_text().splitlines(), 1):
    m = uses_re.match(line)
    if not m:
        continue
    ref = m.group(1)
    status = "SHA_PINNED" if sha_re.search(ref) else "NOT_PINNED"
    print(f"{i}: {status} -> {ref}")
PY

Expected result: every uses: line reports SHA_PINNED.

Also applies to: 31-31, 84-84, 90-90, 143-143, 149-149, 176-176, 182-182

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In @.github/workflows/phpunit.yml at line 25, Replace all tag-pinned GitHub
Action references in the workflow's uses: lines (e.g., uses:
actions/checkout@v4) with immutable full 40-character commit SHAs (e.g.,
actions/checkout@<40-char-SHA>); find every uses: entry (including the ones
flagged like actions/checkout and other actions around the reported lines) and
update the ref to the exact commit SHA for that action repository so CI runs are
deterministic.
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Duplicate comments:
In @.github/workflows/phpstan.yml:
- Line 25: The workflow uses entries are pinned to mutable tags (e.g.,
"actions/checkout@v4") instead of immutable commit SHAs; update each "uses:"
entry in the phpstan.yml workflow (including the line referencing
actions/checkout@v4 and the other uses entry around line 31) to the
corresponding full 40-character commit SHA (replace the `@tag` with
@<40-char-sha>) so every uses: reference is SHA_PINNED.

In @.github/workflows/phpunit.yml:
- Line 25: Replace all tag-pinned GitHub Action references in the workflow's
uses: lines (e.g., uses: actions/checkout@v4) with immutable full 40-character
commit SHAs (e.g., actions/checkout@<40-char-SHA>); find every uses: entry
(including the ones flagged like actions/checkout and other actions around the
reported lines) and update the ref to the exact commit SHA for that action
repository so CI runs are deterministic.

ℹ️ Review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro

Run ID: 6ca4abd5-e55c-4643-84b7-fa2e34f5f8ea

📥 Commits

Reviewing files that changed from the base of the PR and between 8b90cb0 and 50798d9.

📒 Files selected for processing (10)
  • .github/scripts/install-dependencies.sh
  • .github/workflows/phpcs.yml
  • .github/workflows/phpstan.yml
  • .github/workflows/phpunit.yml
  • CONTRIBUTING.md
  • README.md
  • composer.json
  • docs/content/getting-started/installation.md
  • tests/Support/Config/Registrar.php
  • tests/Support/DexTestCase.php
💤 Files with no reviewable changes (1)
  • tests/Support/Config/Registrar.php
✅ Files skipped from review due to trivial changes (3)
  • README.md
  • CONTRIBUTING.md
  • docs/content/getting-started/installation.md

@olajideolamide
Copy link
Copy Markdown
Owner Author

@coderabbitai resolve

@coderabbitai
Copy link
Copy Markdown

coderabbitai Bot commented May 22, 2026

✅ Actions performed

Comments resolved and changes approved.

@olajideolamide olajideolamide merged commit 33c47f0 into main May 22, 2026
25 checks passed
@olajideolamide olajideolamide deleted the feature/change-support-for-ci-4.3.5 branch May 22, 2026 17:12
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant