Skip to content
Merged

Release #4530

Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
50 changes: 50 additions & 0 deletions .github/ISSUE_TEMPLATE/agent-task.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,50 @@
name: "Agent Task"
description: "Structured task for coding agents"
labels: ["agent"]
body:
- type: textarea
id: goal
attributes:
label: Goal / Acceptance Criteria
description: "What does 'done' look like? Be specific."
placeholder: "Example: Add a new customizer control to the dashboard app and ensure it renders on the frontend."
validations:
required: true

- type: textarea
id: constraints
attributes:
label: Constraints / Do Not Touch
description: "List files/areas to avoid or any guardrails."
placeholder: "Example: Do not edit build outputs directly; do not change vendor/ or node_modules/."
validations:
required: false

- type: textarea
id: relevant_files
attributes:
label: Relevant Files (if known)
description: "Optional: point the agent to likely files."
placeholder: "Example: assets/apps/dashboard/src/, inc/customizer/, AGENTS.md"
validations:
required: false

- type: textarea
id: tests
attributes:
label: Tests to Run
description: "Default is PHP lint/PHPStan/PHPUnit unless explicitly scoped out. Add the JS/E2E steps when those areas are touched."
value: |
Default:
- composer run lint
- composer run phpstan
- phpunit

When JS/TS files are touched:
- yarn run lint
- yarn run build

When UI/E2E flows are touched:
- yarn run test:playwright
validations:
required: true
61 changes: 61 additions & 0 deletions .github/workflows/copilot-setup-steps.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,61 @@
name: "Copilot Setup Steps"

on:
workflow_dispatch:
push:
paths:
- .github/workflows/copilot-setup-steps.yml
pull_request:
paths:
- .github/workflows/copilot-setup-steps.yml

jobs:
# The job MUST be called `copilot-setup-steps` for the Copilot coding agent to pick it up.
copilot-setup-steps:
runs-on: ubuntu-22.04
permissions:
contents: read
services:
mysql:
image: mysql:5.7
env:
MYSQL_ROOT_PASSWORD: root
ports:
- 3306/tcp
options: --health-cmd="mysqladmin ping" --health-interval=10s --health-timeout=5s --health-retries=3

# These steps run before the agent starts, to pre-install dependencies and tools.
steps:
- name: Checkout code
uses: actions/checkout@v4

- name: Set up Node.js
uses: actions/setup-node@v4
with:
node-version: "16"
cache: "yarn"

- name: Install JavaScript dependencies
run: yarn install --frozen-lockfile

- name: Install Playwright browsers
run: npx playwright install --with-deps chromium

- name: Set up PHP
uses: shivammathur/setup-php@v2
with:
php-version: "7.4"
extensions: simplexml, mysql
tools: phpunit, phpunit-polyfills, wp-cli, phpcs, phpstan

- name: Install PHP dependencies
env:
GITHUB_TOKEN: ${{ secrets.BOT_TOKEN }}
run: COMPOSER=composer-dev.json composer install --prefer-dist --no-progress

- name: Build assets
run: yarn run build

- name: Install WordPress Test Suite
run: |
bash bin/install-wp-tests.sh wordpress_test root root 127.0.0.1:${{ job.services.mysql.ports['3306'] }}
12 changes: 9 additions & 3 deletions AGENTS.md
Original file line number Diff line number Diff line change
Expand Up @@ -49,9 +49,15 @@ yarn run format:scss
## Testing

```bash
# PHP unit tests
./vendor/bin/phpunit
./vendor/bin/phpunit tests/test-neve.php # Single test file
# PHP unit tests. Prerequisites: MySQL, the WordPress test suite, and the PHPUnit
# Polyfills. Neither PHPUnit nor the Polyfills are composer deps here: GitHub-hosted
# runners ship PHPUnit preinstalled globally, and setup-php adds the Polyfills
# (tools: phpunit-polyfills). copilot-setup-steps.yml installs both. Install the suite once:
bash bin/install-wp-tests.sh wordpress_test root root 127.0.0.1
# On macOS the suite installs under $TMPDIR; export WP_TESTS_DIR so PHPUnit finds it:
# export WP_TESTS_DIR="$TMPDIR/wordpress-tests-lib"
phpunit # phpunit is NOT a composer dep here; use the global one (CI/copilot-setup provide it)
phpunit tests/test-neve.php # Single test file

# E2E tests (Playwright, requires WordPress environment)
yarn run test:playwright
Expand Down
12 changes: 6 additions & 6 deletions composer.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

11 changes: 9 additions & 2 deletions globals/google-fonts.php
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
<?php
/**
* Updated on 15/06/26
* Updated on 22/06/26
*
* @package neve
*/
Expand Down Expand Up @@ -165,6 +165,7 @@
'BIZ UDMincho' => array( '400', '700',),
'BIZ UDPGothic' => array( '400', '700',),
'BIZ UDPMincho' => array( '400', '700',),
'BJCree' => array( '400', '500', '600', '700',),
'Babylonica' => array( '400',),
'Bacasime Antique' => array( '400',),
'Bad Script' => array( '400',),
Expand Down Expand Up @@ -434,6 +435,7 @@
'Dangrek' => array( '400',),
'Darker Grotesque' => array( '300', '400', '500', '600', '700', '800', '900',),
'Darumadrop One' => array( '400',),
'Datatype' => array( '100', '200', '300', '400', '500', '600', '700', '800', '900',),
'David Libre' => array( '400', '500', '700',),
'Dawning of a New Day' => array( '400',),
'Days One' => array( '400',),
Expand Down Expand Up @@ -736,6 +738,8 @@
'Intel One Mono' => array( '300', '400', '500', '600', '700', '300italic', '400italic', '500italic', '600italic', '700italic',),
'Inter' => array( '100', '200', '300', '400', '500', '600', '700', '800', '900', '100italic', '200italic', '300italic', '400italic', '500italic', '600italic', '700italic', '800italic', '900italic',),
'Inter Tight' => array( '100', '200', '300', '400', '500', '600', '700', '800', '900', '100italic', '200italic', '300italic', '400italic', '500italic', '600italic', '700italic', '800italic', '900italic',),
'Iosevka Charon' => array( '300', '400', '500', '700', '300italic', '400italic', '500italic', '700italic',),
'Iosevka Charon Mono' => array( '300', '400', '500', '700', '300italic', '400italic', '500italic', '700italic',),
'Irish Grover' => array( '400',),
'Island Moments' => array( '400',),
'Istok Web' => array( '400', '700', '400italic', '700italic',),
Expand Down Expand Up @@ -1489,6 +1493,8 @@
'Playwrite NO' => array( '100', '200', '300', '400',),
'Playwrite NO Guides' => array( '400',),
'Playwrite NZ' => array( '100', '200', '300', '400',),
'Playwrite NZ Basic' => array( '100', '200', '300', '400',),
'Playwrite NZ Basic Guides' => array( '400',),
'Playwrite NZ Guides' => array( '400',),
'Playwrite PE' => array( '100', '200', '300', '400',),
'Playwrite PE Guides' => array( '400',),
Expand Down Expand Up @@ -1659,7 +1665,8 @@
'Ruthie' => array( '400',),
'Ruwudu' => array( '400', '500', '600', '700',),
'Rye' => array( '400',),
'STIX Two Math' => array(),
'SN Pro' => array( '200', '300', '400', '500', '600', '700', '800', '900', '200italic', '300italic', '400italic', '500italic', '600italic', '700italic', '800italic', '900italic',),
'STIX Two Math' => array( '400',),
'STIX Two Text' => array( '400', '500', '600', '700', '400italic', '500italic', '600italic', '700italic',),
'SUSE' => array( '100', '200', '300', '400', '500', '600', '700', '800', '900', '100italic', '200italic', '300italic', '400italic', '500italic', '600italic', '700italic', '800italic', '900italic',),
'SUSE Mono' => array( '100', '200', '300', '400', '500', '600', '700', '800', '100italic', '200italic', '300italic', '400italic', '500italic', '600italic', '700italic', '800italic',),
Expand Down
10 changes: 10 additions & 0 deletions inc/compatibility/starter-content/custom-css.php
Original file line number Diff line number Diff line change
Expand Up @@ -92,6 +92,16 @@
/* Generic image rounding inside starter pages */
.folio-round img{border-radius:16px}

/* Process steps */
.folio-step{height:auto;background:var(--nv-site-bg,#fff);transition:transform .2s ease,box-shadow .2s ease;box-shadow:0 1px 2px rgba(15,23,42,.04)}
.folio-step:hover{transform:translateY(-4px);box-shadow:0 22px 48px rgba(15,23,42,.10)}
.folio-step-num{display:block;font-size:30px;font-weight:800;color:var(--nv-primary-accent,#2563EB);line-height:1;margin:0 0 4px}
@media(min-width:783px){.folio-step{height:100%}}

/* Pricing cards */
.folio-pricing-featured{box-shadow:0 24px 50px rgba(37,99,235,.18)}
.folio-pricing-featured .folio-btn-outline .wp-block-button__link{border-color:rgba(255,255,255,.5)}

/* ---- Block editor only ---- */
/* The editor renders core/html previews in a sandboxed iframe whose box stretches
to the available width, which breaks flex rows (squeezed labels) and centering.
Expand Down
Loading
Loading