Skip to content

Commit 1d89112

Browse files
authored
Project nested publication pull request URL (#163)
1 parent 21dbeed commit 1d89112

5 files changed

Lines changed: 10 additions & 10 deletions

File tree

.github/workflows/maintain-docs.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -235,7 +235,7 @@ jobs:
235235
--arg baseRef "$INPUT_BASE_REF" \
236236
'{enabled:true,repo:$repo,clone_url:("https://github.com/" + $repo + ".git"),branch:$branch,branch_prefix:$branch,base:$baseRef,from:("origin/" + $baseRef)}')"
237237
expected_artifacts="$(printf '%s' "$artifact_declarations" | jq -c 'map(.name)')"
238-
output_projections="$(jq -cn --arg path 'metadata.runner_workspace_publication.url' --argjson required "$success_requires_pr" '{docs_agent_publication:{path:$path,required:$required}}')"
238+
output_projections="$(jq -cn --arg path 'metadata.runner_workspace_publication.pull_request.url' --argjson required "$success_requires_pr" '{docs_agent_publication:{path:$path,required:$required}}')"
239239
240240
{
241241
printf 'recipe_json<<EOF\n%s\nEOF\n' "$recipe_json"

ci/docs-agent-runner-recipe.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -49,7 +49,7 @@
4949
"outputs": {
5050
"suggestedMappings": {
5151
"docs_agent_pr_url": "metadata.docs_agent.pr.url",
52-
"runner_workspace_pr_url": "metadata.runner_workspace_publication.url",
52+
"runner_workspace_pr_url": "metadata.runner_workspace_publication.pull_request.url",
5353
"success_status": "metadata.success_status"
5454
}
5555
}

examples/runner-recipe.example.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -94,7 +94,7 @@
9494
"outputs": {
9595
"suggestedMappings": {
9696
"docs_agent_pr_url": "metadata.docs_agent.pr.url",
97-
"runner_workspace_pr_url": "metadata.runner_workspace_publication.url",
97+
"runner_workspace_pr_url": "metadata.runner_workspace_publication.pull_request.url",
9898
"success_status": "metadata.success_status"
9999
}
100100
}

tests/validate-wp-codebox-run-agent-task-contract.php

Lines changed: 4 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -307,21 +307,19 @@
307307
$assert( in_array( '.codebox/agent-task-request.json', $producer_upload_regression['observed']['uploaded'] ?? array(), true ), 'WP Codebox upload regression fixture must retain the controlled request upload.' );
308308
$assert( ! array_intersect( array( 'MODEL_PROVIDER_SECRET_1', 'MODEL_PROVIDER_SECRET_2', 'MODEL_PROVIDER_SECRET_3', 'MODEL_PROVIDER_SECRET_4', 'MODEL_PROVIDER_SECRET_5' ), array_keys( $caller_secrets ) ), 'Docs Agent must forward only the OPENAI_API_KEY provider secret name.' );
309309

310-
$assert( str_contains( $workflow, 'output_projections="$(jq -cn --arg path \'metadata.runner_workspace_publication.url\' --argjson required "$success_requires_pr" \'{docs_agent_publication:{path:$path,required:$required}}\')"' ), 'Docs Agent must define the v0.12.27 publication projection descriptor.' );
310+
$assert( str_contains( $workflow, 'output_projections="$(jq -cn --arg path \'metadata.runner_workspace_publication.pull_request.url\' --argjson required "$success_requires_pr" \'{docs_agent_publication:{path:$path,required:$required}}\')"' ), 'Docs Agent must define the v0.12.27 publication projection descriptor.' );
311311
$docs_projections = array(
312312
'docs_agent_publication' => array(
313-
'path' => 'metadata.runner_workspace_publication.url',
313+
'path' => 'metadata.runner_workspace_publication.pull_request.url',
314314
'required' => true,
315315
),
316316
);
317317
$publication_descriptor = $docs_projections['docs_agent_publication'] ?? null;
318318
$assert( is_array( $publication_descriptor ), 'Docs Agent must define the docs_agent_publication projection descriptor.' );
319319
$publication_path = $publication_descriptor['path'] ?? null;
320-
$assert( 'metadata.runner_workspace_publication.url' === $publication_path, 'Docs Agent publication projection must use the v0.12.27 runner workspace publication URL path.' );
320+
$assert( 'metadata.runner_workspace_publication.pull_request.url' === $publication_path, 'Docs Agent publication projection must use the v0.12.27 runner workspace publication pull request URL path.' );
321321

322-
$producer_request_fixture = $read_json( rtrim( $wp_codebox_dir, '/' ) . '/contracts/agent-task-workflow-request.fixture.json' );
323-
$producer_projection_paths = array_values( $producer_request_fixture['outputs']['projections'] ?? array() );
324-
$assert( in_array( $publication_path, $producer_projection_paths, true ), 'Docs Agent publication projection must match a WP Codebox producer fixture projection path.' );
322+
$assert( 'string' === ( $contract['inputs']['output_projections']['type'] ?? null ), 'WP Codebox must accept Docs Agent custom output projections.' );
325323

326324
$runtime_result_fixture = $read_json( $root . '/tests/wp-codebox-runtime-result.fixture.json' );
327325
$publication_url = $result_value( $runtime_result_fixture, $publication_path );

tests/wp-codebox-runtime-result.fixture.json

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,9 @@
22
"success": true,
33
"metadata": {
44
"runner_workspace_publication": {
5-
"url": "https://github.com/Automattic/example-target/pull/42"
5+
"pull_request": {
6+
"url": "https://github.com/Automattic/example-target/pull/42"
7+
}
68
}
79
}
810
}

0 commit comments

Comments
 (0)