diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index c162877..7629184 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -19,12 +19,12 @@ jobs: - uses: actions/checkout@v4 with: repository: Automattic/docs-agent - ref: d1bf324154b4604099ae3209f64519386caf1f48 + ref: 305928a4ab2bddea759cf3d88077215ed687f75f path: .producer/docs-agent - uses: actions/checkout@v4 with: repository: Automattic/wp-codebox - ref: 0227ca7551d8cd98f14242b31e142b50f78dff13 + ref: a6fe2d208e990a8d04104aa74aacbb8d1539fbc1 path: .producer/wp-codebox - uses: pnpm/action-setup@v4 with: diff --git a/.github/workflows/developer-docs-agent.yml b/.github/workflows/developer-docs-agent.yml index 65b1bb9..e0e1ad4 100644 --- a/.github/workflows/developer-docs-agent.yml +++ b/.github/workflows/developer-docs-agent.yml @@ -27,7 +27,7 @@ concurrency: jobs: developer-docs-agent: name: Maintain Developer Docs - uses: Automattic/docs-agent/.github/workflows/maintain-docs.yml@d1bf324154b4604099ae3209f64519386caf1f48 + uses: Automattic/docs-agent/.github/workflows/maintain-docs.yml@305928a4ab2bddea759cf3d88077215ed687f75f with: audience: technical run_kind: ${{ github.event.inputs.run_kind || 'maintenance' }} diff --git a/.github/workflows/skills-agent.yml b/.github/workflows/skills-agent.yml index 29dcf8d..f487046 100644 --- a/.github/workflows/skills-agent.yml +++ b/.github/workflows/skills-agent.yml @@ -17,7 +17,7 @@ concurrency: jobs: skills-agent: name: Maintain Live Skills - uses: Automattic/docs-agent/.github/workflows/maintain-docs.yml@d1bf324154b4604099ae3209f64519386caf1f48 + uses: Automattic/docs-agent/.github/workflows/maintain-docs.yml@305928a4ab2bddea759cf3d88077215ed687f75f with: audience: skills base_ref: trunk diff --git a/docs/contributor-workflows.md b/docs/contributor-workflows.md index 6726e4c..4af346c 100644 --- a/docs/contributor-workflows.md +++ b/docs/contributor-workflows.md @@ -156,7 +156,7 @@ Manual documentation runs default to maintenance and should make the smallest so - `workflow_dispatch` offers `run_kind` choices of `maintenance` (the default) and `bootstrap`; pushes to `trunk` run with `run_kind: maintenance`. - `docs_branch` is `docs-agent/build-with-wordpress-developer-docs` and `base_ref` is `trunk`. - writable documentation paths are limited to `README.md`, `docs/**`, and `plugins/**/README.md`. -- Docs Agent selects its native package from the reusable workflow revision pinned in this file: `Automattic/docs-agent/.github/workflows/maintain-docs.yml@d1bf324154b4604099ae3209f64519386caf1f48`. +- Docs Agent selects its native package from the reusable workflow revision pinned in this file: `Automattic/docs-agent/.github/workflows/maintain-docs.yml@305928a4ab2bddea759cf3d88077215ed687f75f`. - maintenance is bounded to the known Figma Studio handoff diagnostics drift from [PR #100](https://github.com/Automattic/build-with-wordpress/pull/100) and requires an evidence-backed documentation update; bootstrap requires `README.md`, `docs/README.md`, at least three topic pages, and a README link to the docs index. - manual `workflow_dispatch` runs set `require_pr: true`; push-triggered maintenance runs do not require a PR and may finish with no changes when the documentation already matches source behavior. - verification commands are `pnpm install --frozen-lockfile`, `pnpm build`, and `pnpm verify`. @@ -168,7 +168,7 @@ When changing the docs workflow, keep this contract aligned with the repository `skills-agent.yml` uses the same pinned reusable Docs Agent workflow with `audience: skills`. It is triggered manually and on a weekly Monday schedule, writes only to `skills/**`, generated skill copies under `plugins/**/skills/**`, and plugin README files, and runs the same install, build, and verify commands as the developer-docs workflow. Its bounded source delta covers the live skill sources, package generator scripts, and packaged skill outputs, and permits an evidence-backed no-change result when those surfaces are current. Its drift check is intentionally broad: `git diff --exit-code`, so generated skill package output must be committed after the build. The workflow does not pass `run_kind` or `require_pr`; the native skills lane should make the smallest source-grounded skill update needed or finish with no changes when skills are current. Keep this workflow focused on live skill content; generated package structure and developer documentation belong in the technical docs workflow and the generator/verifier source. -The `CI` workflow provides automated validation for pull requests and pushes to `trunk` and `feat/native-docs-agent`. It checks out Docs Agent at `d1bf324154b4604099ae3209f64519386caf1f48` and the accepted WP Codebox reusable-workflow producer at `0227ca7551d8cd98f14242b31e142b50f78dff13`, installs pnpm 10.8.1, runs `pnpm test`, then runs `pnpm build` and `pnpm verify`. The workflow contract test rejects producer revision, reusable workflow, source-delta, bootstrap, secret forwarding, writable path, verification command, drift check, or schema drift. This repository does not currently require the workflow as a merge gate. +The `CI` workflow provides automated validation for pull requests and pushes to `trunk` and `feat/native-docs-agent`. It checks out Docs Agent at `305928a4ab2bddea759cf3d88077215ed687f75f` and the accepted WP Codebox reusable-workflow and helper revision at `a6fe2d208e990a8d04104aa74aacbb8d1539fbc1`, installs pnpm 10.8.1, runs `pnpm test`, then runs `pnpm build` and `pnpm verify`. The workflow contract test rejects producer revision, reusable workflow, source-delta, bootstrap, secret forwarding, writable path, verification command, drift check, or schema drift. This repository does not currently require the workflow as a merge gate. ## Pull request checklist diff --git a/tests/docs-agent-workflows.test.mjs b/tests/docs-agent-workflows.test.mjs index 58181ab..bd045e1 100644 --- a/tests/docs-agent-workflows.test.mjs +++ b/tests/docs-agent-workflows.test.mjs @@ -4,9 +4,9 @@ import { readFile } from "node:fs/promises" import { resolve } from "node:path" const root = resolve(new URL("..", import.meta.url).pathname) -const docsAgentRevision = "d1bf324154b4604099ae3209f64519386caf1f48" +const docsAgentRevision = "305928a4ab2bddea759cf3d88077215ed687f75f" const docsAgentPackageRevision = "a39d9db230eb9e0b72ed84465f4d61bd8dda1bab" -const wpCodeboxProducerRevision = "0227ca7551d8cd98f14242b31e142b50f78dff13" +const wpCodeboxProducerRevision = "a6fe2d208e990a8d04104aa74aacbb8d1539fbc1" const wpCodeboxWorkflowRef = wpCodeboxProducerRevision const wpCodeboxReleaseRef = "v0.12.29" const docsAgentDir = process.env.DOCS_AGENT_DIR @@ -26,6 +26,7 @@ const wpCodeboxContract = await readJson(wpCodeboxDir, "contracts/run-agent-task assert.equal(wpCodeboxContract.schema, "wp-codebox/reusable-workflow-interface/v1") assert.match(docsAgentWorkflow, new RegExp(`uses: Automattic/wp-codebox/.github/workflows/run-agent-task.yml@${wpCodeboxWorkflowRef}`)) assert.match(docsAgentWorkflow, new RegExp(`wp_codebox_release_ref: ${wpCodeboxReleaseRef}`)) +assert.match(docsAgentWorkflow, new RegExp(`wp_codebox_workflow_ref: ${wpCodeboxProducerRevision}`)) assert.match(docsAgentWorkflow, new RegExp(`DOCS_AGENT_PACKAGE_REVISION: ${docsAgentPackageRevision}`)) assert.match(docsAgentWorkflow, /OPENAI_API_KEY: \$\{\{ secrets\.OPENAI_API_KEY \}\}/) assert.match(docsAgentWorkflow, /ACCESS_TOKEN: \$\{\{ github\.token \}\}/)