From ec8a658cfeeab382b66be56610ab3336cae28396 Mon Sep 17 00:00:00 2001 From: Steve Gontzes Date: Fri, 27 Feb 2026 13:56:51 -0800 Subject: [PATCH 1/4] Add doc automation workflows and enhance pr-review skill - publish-docs.yaml: scaffolded reusable workflow for publishing connector docs to registry on release (blocked by registry deployment) - sync-stable-docs.yaml: scaffolded reusable workflow for syncing stable channel docs from registry to ConductorOne/docs - release.yaml: add commented publish-docs job block - pr-review skill: add Step 5 for auto-updating AUTO-GENERATED sections in docs/connector.mdx when docs-reviewer detects staleness - pr-review.yaml: contents: write permission, expanded allowed tools for doc auto-update capability --- .github/workflows/pr-review.yaml | 4 +- .github/workflows/publish-docs.yaml | 53 ++++++++++++++++ .github/workflows/release.yaml | 10 +++ .github/workflows/sync-stable-docs.yaml | 62 ++++++++++++++++++ skills/pr-review.md | 84 ++++++++++++++++++++++++- 5 files changed, 210 insertions(+), 3 deletions(-) create mode 100644 .github/workflows/publish-docs.yaml create mode 100644 .github/workflows/sync-stable-docs.yaml diff --git a/.github/workflows/pr-review.yaml b/.github/workflows/pr-review.yaml index cc85b72..e502bac 100644 --- a/.github/workflows/pr-review.yaml +++ b/.github/workflows/pr-review.yaml @@ -5,7 +5,7 @@ jobs: if: github.repository != 'ConductorOne/github-workflows' runs-on: ubuntu-latest permissions: - contents: read + contents: write pull-requests: write issues: write steps: @@ -34,6 +34,6 @@ jobs: use_sticky_comment: true track_progress: true include_fix_links: true - claude_args: --model claude-opus-4-6 --max-turns 100 --allowedTools "mcp__github_inline_comment__create_inline_comment,Bash(gh pr comment:*),Bash(gh pr diff:*),Bash(gh pr view:*)" + claude_args: --model claude-opus-4-6 --max-turns 100 --allowedTools "mcp__github_inline_comment__create_inline_comment,Bash(gh pr comment:*),Bash(gh pr diff:*),Bash(gh pr view:*),Bash(go build:*),Bash(./connector:*),Bash(git add:*),Bash(git commit:*),Bash(git push:*),Edit,Write,Read,Glob,Grep" prompt: | Use the /pr-review skill to review this PR. diff --git a/.github/workflows/publish-docs.yaml b/.github/workflows/publish-docs.yaml new file mode 100644 index 0000000..60264fd --- /dev/null +++ b/.github/workflows/publish-docs.yaml @@ -0,0 +1,53 @@ +# Reusable workflow: Publish connector docs to registry on release. +# BLOCKED: Registry deployment required before activation. +name: Publish Connector Docs + +on: + workflow_call: + inputs: + tag: + required: true + type: string + description: "Release tag (semver)" + secrets: + RELENG_GITHUB_TOKEN: + required: true + # TODO: Add registry API authentication secret when deployed + # REGISTRY_API_TOKEN: + # required: true + +jobs: + publish-docs: + runs-on: ubuntu-latest + steps: + - name: Checkout connector repo + uses: actions/checkout@v5 + with: + repository: ${{ github.event.repository.full_name }} + ref: ${{ inputs.tag }} + + - name: Check for connector docs + id: check-docs + run: | + if [ -f docs/connector.mdx ]; then + echo "has_docs=true" >> "$GITHUB_OUTPUT" + else + echo "has_docs=false" >> "$GITHUB_OUTPUT" + echo "::notice::No docs/connector.mdx found. Skipping doc publishing." + fi + + - name: Publish docs to registry + if: steps.check-docs.outputs.has_docs == 'true' + env: + CONNECTOR_NAME: ${{ github.event.repository.name }} + TAG: ${{ inputs.tag }} + # TODO: Set REGISTRY_API_URL when registry is deployed + # REGISTRY_API_URL: https://registry-api.conductorone.com + run: | + echo "::notice::Doc publishing is not yet active. Registry deployment required." + echo "Would publish docs/connector.mdx for ${CONNECTOR_NAME}@${TAG}" + # TODO: Implement registry API call when deployed: + # curl -X POST "${REGISTRY_API_URL}/v1/connectors/${CONNECTOR_NAME}/versions/${TAG}/docs" \ + # -H "Authorization: Bearer ${REGISTRY_API_TOKEN}" \ + # -H "Content-Type: application/json" \ + # -d @<(jq -n --arg doc "$(cat docs/connector.mdx)" '{"documentation": $doc}') diff --git a/.github/workflows/release.yaml b/.github/workflows/release.yaml index bbd5173..662d864 100644 --- a/.github/workflows/release.yaml +++ b/.github/workflows/release.yaml @@ -823,6 +823,16 @@ jobs: run: | ./scripts/validate-release-artifacts.sh "$ORG_REPO" "$VERSION" + # TODO: Activate when registry is deployed. Currently scaffolded only. + # publish-docs: + # needs: [record-connector-registry] + # if: always() && needs.record-connector-registry.result == 'success' + # uses: ConductorOne/github-workflows/.github/workflows/publish-docs.yaml@main + # with: + # tag: ${{ inputs.tag }} + # secrets: + # RELENG_GITHUB_TOKEN: ${{ secrets.RELENG_GITHUB_TOKEN }} + notify-release-failure: needs: [ diff --git a/.github/workflows/sync-stable-docs.yaml b/.github/workflows/sync-stable-docs.yaml new file mode 100644 index 0000000..3a0e2c1 --- /dev/null +++ b/.github/workflows/sync-stable-docs.yaml @@ -0,0 +1,62 @@ +# Reusable workflow: Sync stable channel docs from registry to ConductorOne/docs. +# BLOCKED: Registry deployment required before activation. +name: Sync Stable Docs + +on: + workflow_call: + inputs: + connector: + description: 'Connector name to sync (e.g., baton-okta). Leave empty to sync all.' + required: false + type: string + default: '' + secrets: + RELENG_GITHUB_TOKEN: + required: true + # TODO: Add registry API authentication secret + + # TODO: Uncomment schedule when ready to activate + # schedule: + # - cron: '0 12 * * *' # Daily at noon UTC + +jobs: + sync-docs: + runs-on: ubuntu-latest + steps: + - name: Checkout ConductorOne/docs + uses: actions/checkout@v5 + with: + repository: ConductorOne/docs + token: ${{ secrets.RELENG_GITHUB_TOKEN }} + + - name: Fetch stable docs from registry + env: + CONNECTOR: ${{ inputs.connector }} + # TODO: REGISTRY_API_URL when deployed + run: | + echo "::notice::Stable docs sync is not yet active. Registry deployment required." + # TODO: Implement when registry is deployed: + # + # For each connector (or just $CONNECTOR if set): + # 1. GET /v1/connectors/{name}/channels/stable -> get stable version + # 2. GET /v1/connectors/{name}/versions/{version}/docs -> get MDX content + # 3. Write to baton/{slug}.mdx + # 4. Run scripts/sync-docs-nav.py to update docs.json if new connector added + + # TODO: Uncomment when registry is deployed + # - name: Create PR with synced docs + # uses: peter-evans/create-pull-request@v7 + # with: + # token: ${{ secrets.RELENG_GITHUB_TOKEN }} + # commit-message: "docs: sync stable connector docs from registry" + # committer: "conductorone-bot " + # author: "conductorone-bot " + # title: "Sync stable connector docs" + # body: | + # Auto-synced from connector registry stable channel. + # Connector: ${{ inputs.connector || 'all' }} + # branch: docs/sync-stable-docs + # base: main + # delete-branch: true + - name: Placeholder + run: echo "Sync not yet active" diff --git a/skills/pr-review.md b/skills/pr-review.md index 989028c..836a630 100644 --- a/skills/pr-review.md +++ b/skills/pr-review.md @@ -7,7 +7,7 @@ description: Review a baton connector PR in CI. Performs a structured, read-only Perform a structured code review of a baton connector PR. -This skill runs in CI — do NOT write files, create commits, or run build/test commands. +This skill runs in CI. Code review is read-only. The only files this skill may modify are auto-generated sections in docs/connector.mdx (Step 5). **You MUST complete ALL of the following steps in order. Do NOT skip any step. Each step has a deliverable — produce it before moving on.** @@ -17,6 +17,7 @@ This skill runs in CI — do NOT write files, create commits, or run build/test | 2. Spawn Review Agents | All agent tasks launched (including docs-reviewer) | | 3. Validate and Aggregate | Merged findings list | | 4. Post Results | Summary comment with ALL required sections | +| 5. Auto-Update Docs | Updated docs/connector.mdx (if stale) | --- @@ -280,3 +281,84 @@ Post findings directly as PR comments: ``` Do NOT include a "Files Reviewed" section, a "Verdict" section, or a "Breaking Changes" section. Do NOT repeat findings that were already posted as inline comments — just reference them briefly in the summary. Keep the entire summary comment short. + +--- + +## Step 5: Auto-Update Documentation (conditional) + +**Run this step ONLY when ALL of these conditions are true:** +- The docs-reviewer (Agent 4) returned `{"status": "stale"}` with findings +- The staleness involves auto-generated sections (D1: capabilities or D4: config) +- `docs/connector.mdx` exists in the repo + +If docs-reviewer returned "up_to_date", "no_docs", or "docs_updated", skip this step. + +### Procedure + +1. **Build the connector** to generate current metadata: + ```bash + CONNECTOR_NAME=$(ls cmd/ | head -1) + go build -o connector "./cmd/${CONNECTOR_NAME}" + ./connector capabilities > /tmp/proposed_capabilities.json 2>/dev/null || true + ./connector config > /tmp/proposed_config.json 2>/dev/null || true + ``` + +2. **Read docs/connector.mdx** and locate the auto-generated marker sections: + - `{/* AUTO-GENERATED:START - capabilities */}` ... `{/* AUTO-GENERATED:END - capabilities */}` + - `{/* AUTO-GENERATED:START - config-params */}` ... `{/* AUTO-GENERATED:END - config-params */}` + +3. **Generate the capabilities table** from `/tmp/proposed_capabilities.json`: + - Parse `resourceTypeCapabilities` array + - For each resource type, check for `CAPABILITY_SYNC` and `CAPABILITY_PROVISION` + - Map type names to title case display names (e.g., `user` -> `Accounts`, `group` -> `Groups`, `role` -> `Roles`) + - Generate MDX table rows. Checkmark icon: `` + - Empty cell if capability not present + + Example output: + ``` + | Resource | Sync | Provision | + | :--- | :--- | :--- | + | Accounts | | | + | Groups | | | + ``` + +4. **Generate config params list** from `/tmp/proposed_config.json`: + - Parse the JSON schema `properties` object + - For each property, create a bullet: `- **Field Name**: Description` + - Mark required fields (from `required` array) with "(required)" suffix + - Wrap in a `` tag: + ``` + + Enter the required configuration: + + - **api-key** (required): API key for authentication + - **domain**: Your instance domain + + ``` + +5. **Replace the auto-generated sections** using the Edit tool: + - Find the content between `AUTO-GENERATED:START - capabilities` and `AUTO-GENERATED:END - capabilities` + - Replace with the new capabilities section (keep the marker comments) + - Same for `config-params` section + - **Never modify content outside the markers** + +6. **Commit and push** the changes: + ```bash + git add docs/connector.mdx + git commit -m "docs: auto-update connector documentation from metadata" + git push + ``` + +### If markers don't exist + +If `docs/connector.mdx` exists but has no `AUTO-GENERATED` markers, do NOT restructure the file. Instead: +- Add a note in the summary comment recommending the markers be added +- List the specific changes that need manual attention + +### If build fails + +If the connector binary fails to build, skip auto-update entirely. Report in the summary comment: +``` +### Documentation +Build failed — could not generate proposed metadata for doc auto-update. Manual update may be needed. +``` From 934b36a8a15af49a463894ba5d3c6a847bde8696 Mon Sep 17 00:00:00 2001 From: Steve Gontzes Date: Fri, 27 Feb 2026 14:50:44 -0800 Subject: [PATCH 2/4] Uncomment scaffolded workflow sections Assume PR won't merge until registry is live. Removed commented-out patterns from publish-docs, sync-stable-docs, and release.yaml. Kept TODO comments for registry endpoint configuration. --- .github/workflows/publish-docs.yaml | 16 +++++------ .github/workflows/release.yaml | 16 +++++------ .github/workflows/sync-stable-docs.yaml | 36 +++++++++++-------------- 3 files changed, 31 insertions(+), 37 deletions(-) diff --git a/.github/workflows/publish-docs.yaml b/.github/workflows/publish-docs.yaml index 60264fd..1dbdc7c 100644 --- a/.github/workflows/publish-docs.yaml +++ b/.github/workflows/publish-docs.yaml @@ -13,8 +13,8 @@ on: RELENG_GITHUB_TOKEN: required: true # TODO: Add registry API authentication secret when deployed - # REGISTRY_API_TOKEN: - # required: true + REGISTRY_API_TOKEN: + required: true jobs: publish-docs: @@ -44,10 +44,8 @@ jobs: # TODO: Set REGISTRY_API_URL when registry is deployed # REGISTRY_API_URL: https://registry-api.conductorone.com run: | - echo "::notice::Doc publishing is not yet active. Registry deployment required." - echo "Would publish docs/connector.mdx for ${CONNECTOR_NAME}@${TAG}" - # TODO: Implement registry API call when deployed: - # curl -X POST "${REGISTRY_API_URL}/v1/connectors/${CONNECTOR_NAME}/versions/${TAG}/docs" \ - # -H "Authorization: Bearer ${REGISTRY_API_TOKEN}" \ - # -H "Content-Type: application/json" \ - # -d @<(jq -n --arg doc "$(cat docs/connector.mdx)" '{"documentation": $doc}') + # TODO: Set REGISTRY_API_URL when registry is deployed + curl -X POST "${REGISTRY_API_URL}/v1/connectors/${CONNECTOR_NAME}/versions/${TAG}/docs" \ + -H "Authorization: Bearer ${REGISTRY_API_TOKEN}" \ + -H "Content-Type: application/json" \ + -d @<(jq -n --arg doc "$(cat docs/connector.mdx)" '{"documentation": $doc}') diff --git a/.github/workflows/release.yaml b/.github/workflows/release.yaml index 662d864..f5b8899 100644 --- a/.github/workflows/release.yaml +++ b/.github/workflows/release.yaml @@ -824,14 +824,14 @@ jobs: ./scripts/validate-release-artifacts.sh "$ORG_REPO" "$VERSION" # TODO: Activate when registry is deployed. Currently scaffolded only. - # publish-docs: - # needs: [record-connector-registry] - # if: always() && needs.record-connector-registry.result == 'success' - # uses: ConductorOne/github-workflows/.github/workflows/publish-docs.yaml@main - # with: - # tag: ${{ inputs.tag }} - # secrets: - # RELENG_GITHUB_TOKEN: ${{ secrets.RELENG_GITHUB_TOKEN }} + publish-docs: + needs: [record-connector-registry] + if: always() && needs.record-connector-registry.result == 'success' + uses: ConductorOne/github-workflows/.github/workflows/publish-docs.yaml@main + with: + tag: ${{ inputs.tag }} + secrets: + RELENG_GITHUB_TOKEN: ${{ secrets.RELENG_GITHUB_TOKEN }} notify-release-failure: needs: diff --git a/.github/workflows/sync-stable-docs.yaml b/.github/workflows/sync-stable-docs.yaml index 3a0e2c1..c4ef57c 100644 --- a/.github/workflows/sync-stable-docs.yaml +++ b/.github/workflows/sync-stable-docs.yaml @@ -15,9 +15,8 @@ on: required: true # TODO: Add registry API authentication secret - # TODO: Uncomment schedule when ready to activate - # schedule: - # - cron: '0 12 * * *' # Daily at noon UTC + schedule: + - cron: '0 12 * * *' # Daily at noon UTC jobs: sync-docs: @@ -43,20 +42,17 @@ jobs: # 3. Write to baton/{slug}.mdx # 4. Run scripts/sync-docs-nav.py to update docs.json if new connector added - # TODO: Uncomment when registry is deployed - # - name: Create PR with synced docs - # uses: peter-evans/create-pull-request@v7 - # with: - # token: ${{ secrets.RELENG_GITHUB_TOKEN }} - # commit-message: "docs: sync stable connector docs from registry" - # committer: "conductorone-bot " - # author: "conductorone-bot " - # title: "Sync stable connector docs" - # body: | - # Auto-synced from connector registry stable channel. - # Connector: ${{ inputs.connector || 'all' }} - # branch: docs/sync-stable-docs - # base: main - # delete-branch: true - - name: Placeholder - run: echo "Sync not yet active" + - name: Create PR with synced docs + uses: peter-evans/create-pull-request@v7 + with: + token: ${{ secrets.RELENG_GITHUB_TOKEN }} + commit-message: "docs: sync stable connector docs from registry" + committer: "conductorone-bot " + author: "conductorone-bot " + title: "Sync stable connector docs" + body: | + Auto-synced from connector registry stable channel. + Connector: ${{ inputs.connector || 'all' }} + branch: docs/sync-stable-docs + base: main + delete-branch: true From 42368b8d5de529c9358d2fde492816b30328d453 Mon Sep 17 00:00:00 2001 From: Steve Gontzes Date: Fri, 27 Feb 2026 15:08:32 -0800 Subject: [PATCH 3/4] Revert pr-review to read-only, remove Step 5 Doc freshness enforcement moves to CI check (check-doc-freshness job in generate-baton-metadata) instead of agent-push. This avoids git history pollution and keeps the pr-review agent read-only. --- .github/workflows/pr-review.yaml | 4 +- skills/pr-review.md | 84 +------------------------------- 2 files changed, 3 insertions(+), 85 deletions(-) diff --git a/.github/workflows/pr-review.yaml b/.github/workflows/pr-review.yaml index e502bac..cc85b72 100644 --- a/.github/workflows/pr-review.yaml +++ b/.github/workflows/pr-review.yaml @@ -5,7 +5,7 @@ jobs: if: github.repository != 'ConductorOne/github-workflows' runs-on: ubuntu-latest permissions: - contents: write + contents: read pull-requests: write issues: write steps: @@ -34,6 +34,6 @@ jobs: use_sticky_comment: true track_progress: true include_fix_links: true - claude_args: --model claude-opus-4-6 --max-turns 100 --allowedTools "mcp__github_inline_comment__create_inline_comment,Bash(gh pr comment:*),Bash(gh pr diff:*),Bash(gh pr view:*),Bash(go build:*),Bash(./connector:*),Bash(git add:*),Bash(git commit:*),Bash(git push:*),Edit,Write,Read,Glob,Grep" + claude_args: --model claude-opus-4-6 --max-turns 100 --allowedTools "mcp__github_inline_comment__create_inline_comment,Bash(gh pr comment:*),Bash(gh pr diff:*),Bash(gh pr view:*)" prompt: | Use the /pr-review skill to review this PR. diff --git a/skills/pr-review.md b/skills/pr-review.md index 836a630..989028c 100644 --- a/skills/pr-review.md +++ b/skills/pr-review.md @@ -7,7 +7,7 @@ description: Review a baton connector PR in CI. Performs a structured, read-only Perform a structured code review of a baton connector PR. -This skill runs in CI. Code review is read-only. The only files this skill may modify are auto-generated sections in docs/connector.mdx (Step 5). +This skill runs in CI — do NOT write files, create commits, or run build/test commands. **You MUST complete ALL of the following steps in order. Do NOT skip any step. Each step has a deliverable — produce it before moving on.** @@ -17,7 +17,6 @@ This skill runs in CI. Code review is read-only. The only files this skill may m | 2. Spawn Review Agents | All agent tasks launched (including docs-reviewer) | | 3. Validate and Aggregate | Merged findings list | | 4. Post Results | Summary comment with ALL required sections | -| 5. Auto-Update Docs | Updated docs/connector.mdx (if stale) | --- @@ -281,84 +280,3 @@ Post findings directly as PR comments: ``` Do NOT include a "Files Reviewed" section, a "Verdict" section, or a "Breaking Changes" section. Do NOT repeat findings that were already posted as inline comments — just reference them briefly in the summary. Keep the entire summary comment short. - ---- - -## Step 5: Auto-Update Documentation (conditional) - -**Run this step ONLY when ALL of these conditions are true:** -- The docs-reviewer (Agent 4) returned `{"status": "stale"}` with findings -- The staleness involves auto-generated sections (D1: capabilities or D4: config) -- `docs/connector.mdx` exists in the repo - -If docs-reviewer returned "up_to_date", "no_docs", or "docs_updated", skip this step. - -### Procedure - -1. **Build the connector** to generate current metadata: - ```bash - CONNECTOR_NAME=$(ls cmd/ | head -1) - go build -o connector "./cmd/${CONNECTOR_NAME}" - ./connector capabilities > /tmp/proposed_capabilities.json 2>/dev/null || true - ./connector config > /tmp/proposed_config.json 2>/dev/null || true - ``` - -2. **Read docs/connector.mdx** and locate the auto-generated marker sections: - - `{/* AUTO-GENERATED:START - capabilities */}` ... `{/* AUTO-GENERATED:END - capabilities */}` - - `{/* AUTO-GENERATED:START - config-params */}` ... `{/* AUTO-GENERATED:END - config-params */}` - -3. **Generate the capabilities table** from `/tmp/proposed_capabilities.json`: - - Parse `resourceTypeCapabilities` array - - For each resource type, check for `CAPABILITY_SYNC` and `CAPABILITY_PROVISION` - - Map type names to title case display names (e.g., `user` -> `Accounts`, `group` -> `Groups`, `role` -> `Roles`) - - Generate MDX table rows. Checkmark icon: `` - - Empty cell if capability not present - - Example output: - ``` - | Resource | Sync | Provision | - | :--- | :--- | :--- | - | Accounts | | | - | Groups | | | - ``` - -4. **Generate config params list** from `/tmp/proposed_config.json`: - - Parse the JSON schema `properties` object - - For each property, create a bullet: `- **Field Name**: Description` - - Mark required fields (from `required` array) with "(required)" suffix - - Wrap in a `` tag: - ``` - - Enter the required configuration: - - - **api-key** (required): API key for authentication - - **domain**: Your instance domain - - ``` - -5. **Replace the auto-generated sections** using the Edit tool: - - Find the content between `AUTO-GENERATED:START - capabilities` and `AUTO-GENERATED:END - capabilities` - - Replace with the new capabilities section (keep the marker comments) - - Same for `config-params` section - - **Never modify content outside the markers** - -6. **Commit and push** the changes: - ```bash - git add docs/connector.mdx - git commit -m "docs: auto-update connector documentation from metadata" - git push - ``` - -### If markers don't exist - -If `docs/connector.mdx` exists but has no `AUTO-GENERATED` markers, do NOT restructure the file. Instead: -- Add a note in the summary comment recommending the markers be added -- List the specific changes that need manual attention - -### If build fails - -If the connector binary fails to build, skip auto-update entirely. Report in the summary comment: -``` -### Documentation -Build failed — could not generate proposed metadata for doc auto-update. Manual update may be needed. -``` From c46d1a96027914f3ebc608a37ac7f021880cc3f3 Mon Sep 17 00:00:00 2001 From: Steve Gontzes Date: Fri, 27 Feb 2026 15:41:01 -0800 Subject: [PATCH 4/4] Remove sync-stable-docs.yaml Moved to baton-admin where it runs as a cron job using the existing baton-admin GitHub App for cross-repo commits to ConductorOne/docs. --- .github/workflows/sync-stable-docs.yaml | 58 ------------------------- 1 file changed, 58 deletions(-) delete mode 100644 .github/workflows/sync-stable-docs.yaml diff --git a/.github/workflows/sync-stable-docs.yaml b/.github/workflows/sync-stable-docs.yaml deleted file mode 100644 index c4ef57c..0000000 --- a/.github/workflows/sync-stable-docs.yaml +++ /dev/null @@ -1,58 +0,0 @@ -# Reusable workflow: Sync stable channel docs from registry to ConductorOne/docs. -# BLOCKED: Registry deployment required before activation. -name: Sync Stable Docs - -on: - workflow_call: - inputs: - connector: - description: 'Connector name to sync (e.g., baton-okta). Leave empty to sync all.' - required: false - type: string - default: '' - secrets: - RELENG_GITHUB_TOKEN: - required: true - # TODO: Add registry API authentication secret - - schedule: - - cron: '0 12 * * *' # Daily at noon UTC - -jobs: - sync-docs: - runs-on: ubuntu-latest - steps: - - name: Checkout ConductorOne/docs - uses: actions/checkout@v5 - with: - repository: ConductorOne/docs - token: ${{ secrets.RELENG_GITHUB_TOKEN }} - - - name: Fetch stable docs from registry - env: - CONNECTOR: ${{ inputs.connector }} - # TODO: REGISTRY_API_URL when deployed - run: | - echo "::notice::Stable docs sync is not yet active. Registry deployment required." - # TODO: Implement when registry is deployed: - # - # For each connector (or just $CONNECTOR if set): - # 1. GET /v1/connectors/{name}/channels/stable -> get stable version - # 2. GET /v1/connectors/{name}/versions/{version}/docs -> get MDX content - # 3. Write to baton/{slug}.mdx - # 4. Run scripts/sync-docs-nav.py to update docs.json if new connector added - - - name: Create PR with synced docs - uses: peter-evans/create-pull-request@v7 - with: - token: ${{ secrets.RELENG_GITHUB_TOKEN }} - commit-message: "docs: sync stable connector docs from registry" - committer: "conductorone-bot " - author: "conductorone-bot " - title: "Sync stable connector docs" - body: | - Auto-synced from connector registry stable channel. - Connector: ${{ inputs.connector || 'all' }} - branch: docs/sync-stable-docs - base: main - delete-branch: true