From be680d11e365b473d1e8797e2cf16905d1e7e9da Mon Sep 17 00:00:00 2001 From: Sergey Panteleev Date: Thu, 24 Apr 2025 22:47:13 +0300 Subject: [PATCH 1/3] Add Api for QA --- releases/release-candidates.php | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) create mode 100644 releases/release-candidates.php diff --git a/releases/release-candidates.php b/releases/release-candidates.php new file mode 100644 index 0000000000..322d18b75d --- /dev/null +++ b/releases/release-candidates.php @@ -0,0 +1,21 @@ + Date: Thu, 24 Apr 2025 23:02:26 +0300 Subject: [PATCH 2/3] Add openapi spec --- openapi.yml | 66 +++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 66 insertions(+) diff --git a/openapi.yml b/openapi.yml index 5d2d6da9cd..25bf015479 100644 --- a/openapi.yml +++ b/openapi.yml @@ -92,3 +92,69 @@ paths: type: string format: date-time + "/releases/release-candidates.php": + get: + summary: "Currently RC versions of PHP." + parameters: + - in: query + name: format + schema: + type: string + enum: [ "json", "serialize" ] + required: false + description: Output format + - in: query + name: only + schema: + type: string + enum: [ "dev_versions" ] + required: false + description: Include only dev version numbers + + responses: + "200": + description: "Actively RC per-branch versions of PHP." + content: + "application/json": + schema: + type: array + items: + type: object + properties: + active: + description: "Whether RC version is active" + type: boolean + release: + type: object + properties: + type: + description: "Unstable release type" + type: string + enum: + - alpha + - beta + - RC + number: + description: "Unstable release number" + type: integer + sha256_gz: + description: "Unstable release gz hash" + type: string + sha256_bz2: + description: "Unstable release bz2 hash" + type: string + sha256_xz: + description: "Unstable release xz hash" + type: string + date: + description: "Date of release" + type: string + baseurl: + description: "Download base URL" + type: string + enabled: + description: "enabled" + type: boolean + dev_version: + description: "dev_version" + type: string From b15c6e0f8a719ba30116faa7ec7344865f98a11f Mon Sep 17 00:00:00 2001 From: Sergey Panteleev Date: Fri, 25 Apr 2025 14:49:09 +0300 Subject: [PATCH 3/3] Update --- openapi.yml | 2 +- release-candidates.php | 27 +++++++++++++++++++++++++++ releases/release-candidates.php | 21 --------------------- 3 files changed, 28 insertions(+), 22 deletions(-) delete mode 100644 releases/release-candidates.php diff --git a/openapi.yml b/openapi.yml index 25bf015479..babc00c64d 100644 --- a/openapi.yml +++ b/openapi.yml @@ -92,7 +92,7 @@ paths: type: string format: date-time - "/releases/release-candidates.php": + "/release-candidates.php": get: summary: "Currently RC versions of PHP." parameters: diff --git a/release-candidates.php b/release-candidates.php index d3a6c46432..3985861f77 100644 --- a/release-candidates.php +++ b/release-candidates.php @@ -3,6 +3,26 @@ include_once __DIR__ . '/include/prepend.inc'; include_once __DIR__ . '/include/release-qa.php'; +if (isset($_GET["format"])) { + $output = $QA_RELEASES; + + if (($_GET['only'] ?? null) === 'dev_versions') { + $output = $output['reported']; + } + + switch ($_GET['format'] ?? null) { + case 'json': + header('Content-Type: application/json; charset=UTF-8'); + echo json_encode($output); + exit; + case 'serialize': + default: + header('Content-Type: text/plain; charset=UTF-8'); + echo serialize($output); + exit; + } +} + $SITE_UPDATE = date("D M d H:i:s Y T", filectime(__FILE__)); $SIDEBAR_DATA = ' @@ -17,6 +37,13 @@ builds, please file a report on GitHub Issues. +
+

The QA API is simple, and is based on the query string. Pass in only=dev-versions (the only type currently), along with the desired format (serialize or json).

+
    +
  • All information, serialized: https://php.net/release-candidates.php?format=serialize
  • +
  • Only dev version numbers, json: https://php.net/release-candidates.php?format=json&only=dev_versions
  • +
+
'; diff --git a/releases/release-candidates.php b/releases/release-candidates.php deleted file mode 100644 index 322d18b75d..0000000000 --- a/releases/release-candidates.php +++ /dev/null @@ -1,21 +0,0 @@ -