Adopt reusable CI standard + PHPUnit conversion (#22)

Squash-merge of PR #22: adopt shared reusable CI workflow, convert PHPUnit to stubs, update branch-protection contexts.

QA-approved at 05d8094a1d. All required CI checks green.

Agent-Session: 2026-06-17-prcore-ci-deploy
This commit is contained in:
peptiderepo
2026-06-17 01:12:00 +07:00
committed by GitHub
parent d0b5875fd8
commit 665d7fa9e1
72 changed files with 4604 additions and 1212 deletions

View File

@@ -1,9 +1,15 @@
<?php
/**
* Part of the Peptide Repo Core plugin.
*
* @package Peptide_Repo_Core
*/
/**
* Plugin Name: Peptide Repo Core
* Plugin URI: https://peptiderepo.com
* Description: Canonical peptide schema — shared data layer for the peptiderepo.com ecosystem. Provides the peptide CPT, dosing rows, legal status cells, AI candidate queue, disclaimer component, and JSON-LD output.
* Version: 0.6.2
* Version: 0.7.0
* Author: peptiderepo
* Author URI: https://peptiderepo.com
* License: GPL-2.0-or-later
@@ -12,6 +18,7 @@
*
* @see ARCHITECTURE.md — Full data flow and file tree.
* @see CONVENTIONS.md — Naming patterns and extension guides.
* @package Peptide_Repo_Core
*/
declare(strict_types=1);
@@ -22,7 +29,7 @@ if ( ! defined( 'ABSPATH' ) ) {
/* ── Constants ────────────────────────────────────────────────────────── */
define( 'PR_CORE_VERSION', '0.6.2' );
define( 'PR_CORE_VERSION', '0.7.0' );
define( 'PR_CORE_PLUGIN_FILE', __FILE__ );
define( 'PR_CORE_PLUGIN_DIR', plugin_dir_path( __FILE__ ) );
define( 'PR_CORE_PLUGIN_URL', plugin_dir_url( __FILE__ ) );
@@ -33,19 +40,22 @@ define( 'PR_CORE_TARGET_SCHEMA_VERSION', 4 );
require_once PR_CORE_PLUGIN_DIR . 'includes/class-pr-core-autoloader.php';
PR_Core_Autoloader::register();
// The main orchestrator class is loaded explicitly because its name (PR_Core)
// equals the autoloader prefix exactly — stripping "PR_Core_" yields an empty
// The main orchestrator class is loaded explicitly because its name (PR_Core).
// equals the autoloader prefix exactly — stripping "PR_Core_" yields an empty.
// suffix, producing "class-pr-core-.php" instead of "class-pr-core.php".
require_once PR_CORE_PLUGIN_DIR . 'includes/class-pr-core.php';
/* ── Activation / Deactivation ────────────────────────────────────────── */
register_activation_hook( __FILE__, [ 'PR_Core_Activator', 'activate' ] );
register_deactivation_hook( __FILE__, [ 'PR_Core_Deactivator', 'deactivate' ] );
register_activation_hook( __FILE__, array( 'PR_Core_Activator', 'activate' ) );
register_deactivation_hook( __FILE__, array( 'PR_Core_Deactivator', 'deactivate' ) );
/* ── Boot ──────────────────────────────────────────────────────────────── */
add_action( 'plugins_loaded', static function (): void {
$plugin = new PR_Core();
$plugin->init();
} );
add_action(
'plugins_loaded',
static function (): void {
$plugin = new PR_Core();
$plugin->init();
}
);