Skip to content

Update GitHub Actions, Node LTS and PHP pin - #4

Merged
eleshar merged 14 commits into
developfrom
chore/update-actions-node-php
Jul 29, 2026
Merged

Update GitHub Actions, Node LTS and PHP pin#4
eleshar merged 14 commits into
developfrom
chore/update-actions-node-php

Conversation

@eleshar

@eleshar eleshar commented Jul 29, 2026

Copy link
Copy Markdown
Contributor
  • actions/checkout: v4 -> v7
  • actions/setup-node: v4 -> v7
  • actions/cache: v4 -> v6
  • shivammathur/setup-php: v2 (unchanged, still current major)
  • softprops/action-gh-release: v2 -> v3
  • Node LTS (.nvmrc): 20 -> 24
  • PHP pin (php-version): 8.2 -> 8.5
  • package.json name: {{THEME_SLUG}} -> ls-starter-theme (valid npm default, no longer a placeholder)
  • composer.json name: {{GITHUB_ORG}}/{{REPO_NAME}} -> lightspeedwp/ls-starter-theme; authors[0].homepage: {{AUTHOR_URI}} -> https://lightspeedwp.agency (was failing the composer.json schema)
  • package.json engines.node: >=20.0.0 -> >=24.0.0 (matches .nvmrc)
  • package-lock.json regenerated for the new package name and engines.node
  • code-quality.yml: removed the placeholder-detection skip step so Composer install/lint/phpcs run unconditionally again
  • README.md: customise-placeholders table no longer lists {{THEME_SLUG}}/{{PACKAGE_NAME}}-style tokens for package.json/composer.json name; added a note that name fields ship with a valid default
  • theme.json: removed invalid settings.spacing.spacingScale.customScale property (not in the WP theme.json schema)
  • functions.php: replaced the {{TEXT_DOMAIN}}_setup / {{TEXT_DOMAIN}}_enqueue_assets placeholder function names (invalid PHP) with real identifiers under a ls_starter_ prefix, so the template parses; {{TEXT_DOMAIN}} itself is unchanged as the text-domain string. README updated to document the ls_starter_ / LS_STARTER_ prefix alongside the {{...}} tokens.

Closes #3

Summary by CodeRabbit

  • Chores

    • Updated CI and release automation to use newer GitHub Actions and caching components.
    • Increased minimum supported Node.js version to 24.
    • Updated the PHP quality environment to 8.5.
  • Refactor

    • Updated theme setup and asset-enqueue wiring to align with starter-prefixed defaults.
  • Documentation

    • Expanded placeholder customization guidance and clarified which fields already have valid defaults.
  • UI/Theme Settings

    • Adjusted spacing scale settings in the theme configuration.

@coderabbitai

coderabbitai Bot commented Jul 29, 2026

Copy link
Copy Markdown

Review Change Stack

Note

.coderabbit.yml has unrecognized properties

CodeRabbit is using all valid settings from your configuration. Unrecognized properties (listed below) have been ignored and may indicate typos or deprecated fields that can be removed.

⚠️ Parsing warnings (1)
Validation error: Unrecognized key: "version"
⚙️ Configuration instructions
  • Please see the configuration documentation for more information.
  • You can also validate your configuration using the online YAML validator.
  • If your editor has YAML language server enabled, you can add the path at the top of this file to enable auto-completion and validation: # yaml-language-server: $schema=https://coderabbit.ai/integrations/schema.v2.json
📝 Walkthrough

Walkthrough

The change updates workflow action versions, PHP and Node.js requirements, concrete theme metadata, WordPress function prefixes, placeholder guidance, and spacing-scale configuration.

Changes

Starter theme updates

Layer / File(s) Summary
Workflow and runtime version alignment
.github/workflows/ci.yml, .github/workflows/code-quality.yml, .github/workflows/release.yml, .nvmrc, package.json
GitHub Actions, PHP, Node.js, Composer cache, and release action versions are updated.
Theme identifier and metadata concretization
package.json, composer.json, functions.php
Placeholder package metadata and WordPress function names are replaced with concrete starter values and prefixes.
Template guidance and theme configuration
README.md, theme.json
Placeholder customization guidance is expanded and the spacing scale custom setting is removed.

Estimated code review effort: 2 (Simple) | ~10 minutes

Possibly related issues

  • lightspeedwp/ls-starter-plugin#4 — Covers similar GitHub Actions, Node.js, and PHP version update objectives.

Suggested reviewers: ashleyshaw

🚥 Pre-merge checks | ✅ 3 | ❌ 2

❌ Failed checks (1 warning, 1 inconclusive)

Check name Status Explanation Resolution
Out of Scope Changes check ⚠️ Warning The PR includes README, package, Composer, functions.php, and theme.json changes that go beyond the linked issue's Actions/Node/PHP scope. Split the template-default, docs, and validation fixes into a separate PR or add a linked issue covering them.
Linked Issues check ❓ Inconclusive The Actions and Node updates align with #3, but the PHP fleet/version and lowest-supported-version coverage can't be verified from the summary. Provide the diff or test evidence for the PHP matrix and the fleet-targeted pin.
✅ Passed checks (3 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title is concise and accurately reflects the main changes to Actions, Node, and PHP pins.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
✨ Finishing Touches
📝 Generate docstrings
  • Create stacked PR
  • Commit on current branch
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch chore/update-actions-node-php

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.

@eleshar eleshar added area:ci Build and CI pipelines area:dependencies Composer/npm dependency work labels Jul 29, 2026
@mergify

mergify Bot commented Jul 29, 2026

Copy link
Copy Markdown

Tick the box to add this pull request to the merge queue (same as @mergifyio queue).

  • Queue this pull request

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Actionable comments posted: 1

🤖 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/release.yml:
- Around line 20-24: Remove the cache: npm input from the actions/setup-node
step in the release workflow, while preserving the existing Node.js version-file
configuration and release behavior.
🪄 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: Path: .coderabbit.yml

Review profile: CHILL

Plan: Pro Plus

Run ID: 05321590-ce89-4eb5-a935-03851a44b5a2

📥 Commits

Reviewing files that changed from the base of the PR and between c062919 and 9a67159.

📒 Files selected for processing (4)
  • .github/workflows/ci.yml
  • .github/workflows/code-quality.yml
  • .github/workflows/release.yml
  • .nvmrc

Comment thread .github/workflows/release.yml
@eleshar

eleshar commented Jul 29, 2026

Copy link
Copy Markdown
Contributor Author

@coderabbitai review

@coderabbitai

coderabbitai Bot commented Jul 29, 2026

Copy link
Copy Markdown
✅ Action performed

Review finished.

Note: CodeRabbit is an incremental review system and does not re-review already reviewed commits. This command is applicable only when automatic reviews are paused.

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Actionable comments posted: 1

🤖 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 `@README.md`:
- Around line 184-187: Update the README prefix replacement table so the
`ls_starter_` row uses a generic prefix example such as `my_theme_` and shows
`my_theme_setup` as the resulting function name, clearly distinguishing the
prefix from the complete example. Review the surrounding README guidance for
consistency and accuracy.
🪄 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: Path: .coderabbit.yml

Review profile: CHILL

Plan: Pro Plus

Run ID: 4367e7a7-32d0-437f-beb0-3f4db5e53a24

📥 Commits

Reviewing files that changed from the base of the PR and between 9a67159 and d1c4e76.

⛔ Files ignored due to path filters (1)
  • package-lock.json is excluded by !**/package-lock.json
📒 Files selected for processing (5)
  • README.md
  • composer.json
  • functions.php
  • package.json
  • theme.json

Comment thread README.md
Comment on lines +184 to +187
| Prefix | Replace with |
|------------------|-----------------------------------------------------------|
| `ls_starter_` | Function prefix, e.g. `ls_starter_setup` (snake_case slug) |
| `LS_STARTER_` | Constant prefix, if any constants are added (SCREAMING_SNAKE_CASE slug) |

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

📐 Maintainability & Code Quality | 🟡 Minor | ⚡ Quick win

Clarify the PHP prefix replacement example.

ls_starter_ is the prefix, but ls_starter_setup is a complete function name. A scaffolder following this literally could produce duplicated suffixes. Use an example such as my_theme_, yielding my_theme_setup.

As per path instructions, README.md must be reviewed for accuracy and completeness.

🤖 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 `@README.md` around lines 184 - 187, Update the README prefix replacement table
so the `ls_starter_` row uses a generic prefix example such as `my_theme_` and
shows `my_theme_setup` as the resulting function name, clearly distinguishing
the prefix from the complete example. Review the surrounding README guidance for
consistency and accuracy.

Source: Path instructions

@eleshar
eleshar merged commit 5d2b76f into develop Jul 29, 2026
7 checks passed
@eleshar
eleshar deleted the chore/update-actions-node-php branch July 29, 2026 10:52
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

area:ci Build and CI pipelines area:dependencies Composer/npm dependency work

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Update GitHub Actions and move Node off EOL 20

1 participant