Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
201 commits
Select commit Hold shift + click to select a range
323d32e
Multi-application Workflows (#4847)
cicoyle Sep 9, 2025
8c611f5
Update README with clearer navigation instructions
msfussell Sep 10, 2025
f65aaec
Update Alpha APIs doc
msfussell Sep 10, 2025
561b1d7
Merge pull request #4868 from msfussell/streaming-sub
marcduiker Sep 10, 2025
2c2a71b
Merge branch 'v1.16' into msfussell-patch-1
marcduiker Sep 10, 2025
ef0e7d5
Merge pull request #4867 from dapr/msfussell-patch-1
marcduiker Sep 10, 2025
62f930f
feat: conversation api toolcalling support documentation (#4769)
sicoyle Sep 10, 2025
94668b6
Workflow multi app typo (#4876)
bibryam Sep 10, 2025
79c6613
docs: add Dapr Agents references to core documentation pages (#4870)
bibryam Sep 11, 2025
95f4442
[1.16] Update Go workflow examples to use vanity client (#4874)
JoshVanL Sep 12, 2025
8d411e7
Fix for issue #4879: Added consistent code samples, instructions and …
bibryam Sep 12, 2025
23de64e
Updated conversation api docs to latest alpha v2, refresh sample requ…
bibryam Sep 12, 2025
2f7d17d
Added 'How the Outbox Works' section and expand requirements with int…
bibryam Sep 12, 2025
4867d9d
docs: update max-body-size documentation (#4873)
mikeee Sep 12, 2025
ecb9992
Update daprdocs/content/en/developing-applications/building-blocks/co…
msfussell Sep 12, 2025
af09da6
Update daprdocs/content/en/developing-applications/building-blocks/co…
msfussell Sep 12, 2025
856a1ea
Merge branch 'v1.16' into issue-4879
marcduiker Sep 12, 2025
110a88e
Merge pull request #4880 from bibryam/issue-4879
marcduiker Sep 12, 2025
9c44ff7
Order APIs and Components alphabetically (#4883)
bibryam Sep 12, 2025
d84cd60
Added prompt caching details (#4882)
bibryam Sep 12, 2025
8de08db
[1.16] Adds workflow limitations (#4865)
JoshVanL Sep 13, 2025
3671a98
Merge branch 'v1.16' into fix/4687-clean
marcduiker Sep 15, 2025
8656501
Reverting back from snake case to camel case
bibryam Sep 15, 2025
7723834
Merge pull request #4881 from bibryam/fix/4687-clean
marcduiker Sep 16, 2025
1e03ece
Multi-app workflows: improve docs and images (#4878)
cicoyle Sep 16, 2025
a283959
Prepare branch 1.16 to be latest (#4858)
marcduiker Sep 16, 2025
274cac5
Update supported version table (+ procedure) (#4890)
marcduiker Sep 16, 2025
8bb8a15
Update to download-artifact@v4
marcduiker Sep 16, 2025
173dd39
Merge branch 'v1.16' into update-root-action-checkout
marcduiker Sep 16, 2025
b15133a
[1.16] Adds configuration-overview.md section on Workflow (#4889)
JoshVanL Sep 16, 2025
a97e5ed
Merge branch 'v1.16' into update-root-action-checkout
marcduiker Sep 16, 2025
5c54c4c
Merge pull request #4891 from marcduiker/update-root-action-checkout
marcduiker Sep 16, 2025
8623168
Enhanced the OpenAI conversation component docs to include Azure seci…
bibryam Sep 16, 2025
79a4728
feat: add missing 1.15 versions (#4892)
nelson-parente Sep 17, 2025
9fe866f
Add back artifact upload for Algolia search (#4893)
marcduiker Sep 18, 2025
571a088
Change Algolia index name from 'daprdocs' to 'crawler_dapr'
marcduiker Sep 22, 2025
e4655e2
Fixed random typos from all over the docs
bibryam Sep 22, 2025
4915f3a
Merge pull request #4898 from marcduiker/update-algolia-index
marcduiker Sep 22, 2025
2ce9f67
Merge branch 'v1.16' into random-typos
msfussell Sep 23, 2025
877e2b9
Remove Algolia script, update html to use hugo yaml
marcduiker Sep 23, 2025
d9ce2af
Merge pull request #4900 from bibryam/random-typos
marcduiker Sep 23, 2025
666ec9e
Enhance AWS Secrets Manager documentation and YAML configuration to i…
MyMirelHub Sep 24, 2025
52b8ed7
Removing wait_until_ready, it has been renamed for consistency
acroca Sep 25, 2025
d6bf973
Adds documentation for `$ dapr scheduler`
JoshVanL Oct 3, 2025
773f958
Python supports multi-app calls
acroca Oct 9, 2025
3bed53c
Apply suggestion from @alicejgibbons
MyMirelHub Oct 9, 2025
5113e33
Apply suggestion from @alicejgibbons
MyMirelHub Oct 9, 2025
5378672
Apply suggestion from @alicejgibbons
MyMirelHub Oct 9, 2025
aeebcd4
Apply suggestion from @alicejgibbons
MyMirelHub Oct 9, 2025
88f924e
Apply suggestion from @alicejgibbons
MyMirelHub Oct 9, 2025
9f0afc0
Apply suggestion from @alicejgibbons
MyMirelHub Oct 9, 2025
6475f4d
Apply suggestion from @alicejgibbons
MyMirelHub Oct 9, 2025
9df106b
Updated /v1.0-alpha1/conversation to /v1.0-alpha2/conversation (#4899)
bibryam Oct 9, 2025
5512bf2
Merge branch 'v1.16' into dapr-scheduler
marcduiker Oct 9, 2025
0abf107
Add 1.16.1 version (#4915)
alicejgibbons Oct 10, 2025
c8d73de
Merge branch 'v1.16' into python-multiapp
acroca Oct 20, 2025
04e0f32
Merge pull request #4914 from acroca/python-multiapp
marcduiker Oct 20, 2025
02ef0b0
Updated token mounting docs (#4919)
alicejgibbons Oct 20, 2025
1e3eadb
Remove duplication (#4905)
marcduiker Oct 20, 2025
ad59615
Reorganize AWS Secrets Manager documentation to improve clarity on in…
MyMirelHub Oct 22, 2025
420068f
Merge branch 'v1.16' into add-multipleKeyValuesPerSecret-aws-secretstore
MyMirelHub Oct 22, 2025
35e0744
Change max-body-size to use unit in documentation (#4906)
jancespivo Oct 22, 2025
c6139ec
Merge branch 'dapr:v1.16' into add-multipleKeyValuesPerSecret-aws-sec…
MyMirelHub Oct 22, 2025
8c5ab7d
feat Jaeger v2 (#4921)
MyMirelHub Oct 22, 2025
c17cf7e
Merge branch 'v1.16' into add-multipleKeyValuesPerSecret-aws-secretstore
MyMirelHub Oct 22, 2025
318333f
Merge pull request #4903 from MyMirelHub/add-multipleKeyValuesPerSecr…
marcduiker Oct 27, 2025
a388998
Updated outbox doc to use correct sample for projection (#4913)
bibryam Oct 28, 2025
7bae07e
Merge branch 'v1.16' into remove-algolia-workflow
msfussell Oct 28, 2025
74b5258
Merge branch 'v1.16' into remove-wait_until_ready
msfussell Oct 28, 2025
cad3de1
Minor typos in the presentations page (#4902)
bibryam Oct 28, 2025
7b11e71
fix cel doc ref
FarmerChillax Oct 28, 2025
76ed1a9
Update Outbox Java example (#4924)
mcruzdev Oct 28, 2025
416d322
Merge branch 'v1.16' into remove-algolia-workflow
marcduiker Oct 28, 2025
72f3db6
Merge pull request #4901 from marcduiker/remove-algolia-workflow
marcduiker Oct 28, 2025
5830c0b
Merge branch 'v1.16' into dapr-scheduler
JoshVanL Oct 30, 2025
a0ce1cf
Adds docs for v1.16.2 (#4929)
JoshVanL Oct 30, 2025
ffc952a
Merge branch 'v1.16' into dapr-scheduler
JoshVanL Oct 30, 2025
4ca9f73
Review comments
JoshVanL Oct 30, 2025
f94773a
removing the Kapa.ai chatbot.
frasermarlow Oct 31, 2025
6bd30a4
Removing duplicate header line.
frasermarlow Oct 31, 2025
865abc1
Merge pull request #4931 from frasermarlow/fraser/remove-kapa-ai
marcduiker Oct 31, 2025
dd6424f
Merge branch 'v1.16' into dapr-scheduler
JoshVanL Oct 31, 2025
9f8bfb6
Updates CLI reference to v1.16.3 (#4932)
JoshVanL Oct 31, 2025
2bbb852
Merge branch 'v1.16' into dapr-scheduler
JoshVanL Oct 31, 2025
bfc4538
Add documentation about rawMessage for Java
mcruzdev Nov 2, 2025
d0bbb93
Merge branch 'v1.16' into fix-cel-doc-ref
msfussell Nov 4, 2025
dcdc00f
Add use-cases to the main page (#4937)
marcduiker Nov 5, 2025
a527df0
Merge branch 'v1.16' into dapr-scheduler
cicoyle Nov 5, 2025
236a4a1
Merge pull request #4909 from JoshVanL/dapr-scheduler
marcduiker Nov 6, 2025
fc7f51d
Update workflow retry docs with some clarifications (#4936)
atrauzzi Nov 7, 2025
1816a8c
Refreshed core concepts to showcase AgentRunner run/subscribe/serve m…
Cyb3rWard0g Nov 10, 2025
5c8a9c1
Added required Conversation/OpenAI component setup and updated the sa…
Cyb3rWard0g Nov 10, 2025
592008f
Modernized the Durable Agent pattern with config-class wiring plus Ag…
Cyb3rWard0g Nov 10, 2025
012b678
Split the tool-call entry into standalone vs. durable variants and hi…
Cyb3rWard0g Nov 10, 2025
3312925
Merge branch 'v1.16' into fix-cel-doc-ref
FarmerChillax Nov 10, 2025
c14f6d6
Updated getting started doc to clarify environment variable setup wit…
Cyb3rWard0g Nov 10, 2025
a6014dc
`$ dapr workflow` CLI docs (#4916)
JoshVanL Nov 10, 2025
9ae330b
Merge branch 'v1.16' into my-fix-v1.16
msfussell Nov 10, 2025
30938cb
Merge branch 'v1.16' into raw-message-java
cicoyle Nov 11, 2025
2bb8ce0
Merge pull request #4933 from mcruzdev/raw-message-java
marcduiker Nov 12, 2025
18acd01
Merge branch 'v1.16' into my-fix-v1.16
marcduiker Nov 12, 2025
f603f78
Merge branch 'v1.16' into fix-cel-doc-ref
FarmerChillax Nov 13, 2025
826973e
Merge branch 'v1.16' into remove-wait_until_ready
marcduiker Nov 19, 2025
baa686b
Merge pull request #4904 from acroca/remove-wait_until_ready
marcduiker Nov 19, 2025
688eeab
Merge branch 'v1.16' into fix-cel-doc-ref
marcduiker Nov 19, 2025
7cf5933
Merge pull request #4927 from FarmerChillax/fix-cel-doc-ref
marcduiker Nov 19, 2025
a5f77c0
Merge branch 'v1.16' into my-fix-v1.16
marcduiker Nov 19, 2025
81b62ae
update to latest dotnet ref
marcduiker Nov 20, 2025
f2837b6
Merge branch 'v1.16' into update-dotnet-sdk-ref
marcduiker Nov 20, 2025
b65769a
remove dotnet sdk docs
marcduiker Nov 20, 2025
b306473
Remove dotnet pluggable components docs
marcduiker Nov 20, 2025
b25794a
Move .NET SDK & pluggable component docs into main docs
marcduiker Nov 20, 2025
d2d0c0f
Remove localized urls
marcduiker Nov 20, 2025
9849a6b
Merge pull request #4944 from marcduiker/update-dotnet-sdk-ref
marcduiker Nov 20, 2025
65b9cb7
Merge branch 'v1.16' into remove-dotnet-submodule
marcduiker Nov 20, 2025
dd3e9e2
Merge pull request #4945 from marcduiker/remove-dotnet-submodule
marcduiker Nov 20, 2025
3b3ed2d
Remove java submodule
marcduiker Nov 21, 2025
f04f71d
Remove Java submodule
marcduiker Nov 21, 2025
a84cebd
Migrate Java SDK Docs into main Docs
marcduiker Nov 21, 2025
3cd8fb2
Remove localization in URL
marcduiker Nov 21, 2025
06637d5
Add Redis Sentinel configuration details to pubsub component document…
MyMirelHub Nov 21, 2025
3d89874
Update redisHost description to clarify multiple sentinel addresses u…
MyMirelHub Nov 21, 2025
28f4671
Remove python submodule
marcduiker Nov 21, 2025
347c5b2
Add Python SDK docs to main docs
marcduiker Nov 21, 2025
919b8be
remove js submodule
marcduiker Nov 21, 2025
3d48e07
Add JS SDK docs to main docs
marcduiker Nov 21, 2025
b9bc6d4
Fix mech markdown issue
marcduiker Nov 21, 2025
bb43567
Clarify failover configuration for Redis Sentinel, specifying that re…
MyMirelHub Nov 21, 2025
235bf6d
Remove Go SDK submodule
marcduiker Nov 21, 2025
a193f2f
Remove Go Pluggable Component submodule
marcduiker Nov 21, 2025
f33f14b
Add Go SDk & Pluggable component docs
marcduiker Nov 21, 2025
b4ff666
Remove php submodule
marcduiker Nov 21, 2025
97d27cc
Add PHP SDK docs
marcduiker Nov 21, 2025
985e4fa
Ignore link to validate
marcduiker Nov 21, 2025
5ec35c3
Enhance Redis Sentinel documentation by specifying redisType and fail…
MyMirelHub Nov 21, 2025
011050a
Add instructions for retrieving Redis password based on OS in Redis S…
MyMirelHub Nov 21, 2025
515699f
Update redisHost example to include multiple sentinel addresses for c…
MyMirelHub Nov 21, 2025
65456b0
Enhance Redis documentation to clarify usage of multiple sentinel add…
MyMirelHub Nov 21, 2025
ef13474
Remove rust submodule
marcduiker Nov 21, 2025
e47e54b
Move Rust SDK docs to main docs
marcduiker Nov 21, 2025
3ff13f0
Reorganize Redis Sentinel configuration section for clarity and redun…
MyMirelHub Nov 21, 2025
792ab3d
Fix typo in sentinelMasterName value for Redis Sentinel configuration
MyMirelHub Nov 21, 2025
bf4f7a7
Merge pull request #4946 from marcduiker/remove-java-submodule
marcduiker Nov 24, 2025
d71ab4d
Merge branch 'v1.16' into remove-python-submodule
marcduiker Nov 24, 2025
ae61beb
Merge pull request #4949 from marcduiker/remove-python-submodule
marcduiker Nov 24, 2025
b6d3cd4
Merge branch 'v1.16' into remove-js-submodule
marcduiker Nov 24, 2025
7b2a00b
Merge pull request #4950 from marcduiker/remove-js-submodule
marcduiker Nov 24, 2025
260fd27
Merge branch 'v1.16' into remove-go-sdk-submodule
marcduiker Nov 24, 2025
66e0741
Merge pull request #4951 from marcduiker/remove-go-sdk-submodule
marcduiker Nov 24, 2025
f3d50c8
Merge branch 'v1.16' into remove-php-submodule
marcduiker Nov 24, 2025
f4d9bf6
Merge branch 'v1.16' into remove-rust-submodule
marcduiker Nov 24, 2025
6ddc281
Merge pull request #4953 from marcduiker/remove-rust-submodule
marcduiker Nov 24, 2025
5be2de9
Merge branch 'v1.16' into remove-php-submodule
marcduiker Nov 24, 2025
cdb1724
Merge pull request #4952 from marcduiker/remove-php-submodule
marcduiker Nov 25, 2025
5924793
Merge branch 'v1.16' into my-fix-v1.16
marcduiker Nov 25, 2025
491511c
Merge pull request #4940 from Cyb3rWard0g/my-fix-v1.16
marcduiker Nov 25, 2025
bd6eff3
Fix main .NET SDK page, update repo README instructions
marcduiker Nov 27, 2025
44692ef
Fix repo README
marcduiker Nov 27, 2025
df96eda
Add Create a `DaprWorkflowClient` instance
marcduiker Nov 27, 2025
246b298
Add DaprWorkflow client operations
marcduiker Nov 27, 2025
894d255
Update management operations
marcduiker Nov 27, 2025
b5b036a
Add link, remove SDK how-to
marcduiker Nov 27, 2025
8a1e222
Add a page with workflow examples refs
marcduiker Nov 27, 2025
e4a3e80
Add DaprWorkflowClient injection example
marcduiker Nov 27, 2025
e9f849d
Clarify minimal API example
marcduiker Nov 27, 2025
c970d68
Fix DaprWorkflowClient injection and scope usage
marcduiker Nov 28, 2025
747d541
fix: correct yaml spec for crypto local storage (#4958)
CasperGN Nov 29, 2025
5b988e8
Update sdkdocs/dotnet/content/en/dotnet-sdk-docs/dotnet-workflow/dotn…
msfussell Nov 29, 2025
ef42344
Update sdkdocs/dotnet/content/en/dotnet-sdk-docs/dotnet-workflow/dotn…
msfussell Nov 29, 2025
e49fcce
Update sdkdocs/dotnet/content/en/dotnet-sdk-docs/dotnet-workflow/dotn…
msfussell Nov 29, 2025
48e5cf9
Merge branch 'v1.16' into add-dotnet-wf
msfussell Nov 29, 2025
0c53415
Merge pull request #4957 from marcduiker/add-dotnet-wf
marcduiker Nov 30, 2025
902d229
Merge branch 'v1.16' into redis-sentinel-multiple-addresses
marcduiker Dec 2, 2025
bcc63fb
Merge pull request #4948 from MyMirelHub/redis-sentinel-multiple-addr…
marcduiker Dec 2, 2025
45179f9
#4877 fix broken commands, updated output with tool calling and add …
bibryam Dec 3, 2025
b4dc72d
Describe new ttlInSeconds attribute in DynamoDB state store setup (#4…
ZeynelKoca Dec 4, 2025
f1988f9
Fix tab formatting for JavaScript section in Bindings How-To (#4959)
jamespegg Dec 4, 2025
3cd7e07
Update authoring workflow page with Diagrid Dashboard (#4962)
marcduiker Dec 9, 2025
405497c
Add dapr v1.16.3 + 1.16.4 (#4968)
cicoyle Dec 10, 2025
597b519
Refactor secret scope documentation for clarity (#4965)
caretak3r Dec 12, 2025
2415746
chore: update links to dapr agents quickstart changing _ to - (#4976)
CasperGN Dec 14, 2025
231433b
feat: add metadata field to Subscription spec (#4970)
FarmerChillax Dec 16, 2025
473da93
Clarify disableTls requirement in Kafka setup (#4977)
joebowbeer Dec 16, 2025
6cdb9a5
Separating Dapr Workflows documentation on Spring Boot to it's separa…
salaboy Dec 16, 2025
48fe65f
Chore: jaeger guidance (#4923)
MyMirelHub Dec 16, 2025
aaa9625
docs: add docs for integrating MCP Toolbox for Databases as tool(s) (…
CasperGN Dec 16, 2025
78c5e4c
chore: align docs with https://github.com/dapr/dapr-agents/pull/283 (…
CasperGN Dec 16, 2025
803744d
Add OpenAI integration docs (#4969)
yaron2 Dec 17, 2025
84f8a60
Add CrewAI and workflow documentation (#4973)
yaron2 Dec 17, 2025
1b59f21
Add aliases to redirect old Dapr Agent pages to new location
marcduiker Dec 17, 2025
eed9e35
update main Dapr Agents alias
marcduiker Dec 17, 2025
b485df2
Merge pull request #4981 from marcduiker/add-redirect-dapr-agents
marcduiker Dec 17, 2025
4422e1b
Remove Reo.dev script
marcduiker Dec 18, 2025
04ec6cc
Merge pull request #4983 from marcduiker/remove-reo
marcduiker Dec 18, 2025
6bb40db
add dapr 1.16.5 (#4988)
cicoyle Jan 5, 2026
39e8be6
Added documentation describing setting up multi-application workflows…
WhitWaldo Jan 12, 2026
3d37d52
Updated the multi-app documentation to reflect the new capabilities f…
WhitWaldo Jan 12, 2026
9b4dea0
Added .NET examples for multi-application support for both workflows …
WhitWaldo Jan 12, 2026
0e4c448
Updates latest version to v1.16.6 (#4998)
JoshVanL Jan 12, 2026
4b5f612
Added bot script to allow SDK maintainers to automerge non-draft PRs …
WhitWaldo Jan 13, 2026
7f22488
Merge branch 'v1.16' into dotnet-multiapp
WhitWaldo Jan 13, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
118 changes: 0 additions & 118 deletions .github/scripts/algolia.py

This file was deleted.

196 changes: 196 additions & 0 deletions .github/workflows/dapr-maintainer-merge.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,196 @@

name: Auto-approve & merge SDK docs PRs (per directory/team)

# Run on PRs (including forks) but act with repo-level permissions.
# We DO NOT check out PR code; we only read PR metadata via the API.
on:
pull_request_target:
types: [opened, synchronize, reopened, ready_for_review, edited]

# Token scopes needed: label, review, and merge.
permissions:
contents: write # required to merge
pull-requests: write # required to approve/merge
issues: write # required to create/add labels

jobs:
sdk-docs-automerge:
runs-on: ubuntu-latest
# Ignore drafts
if: ${{ github.event.pull_request.draft == false }}

steps:
- name: Evaluate PR for SDK docs eligibility & add label
id: check
uses: actions/github-script@v7
with:
# Optional: override org/merge method/colors via env
# env:
# ORG: dapr
# MERGE_METHOD: squash
# LABEL_COLOR_DEFAULT: '6A9286'
script: |
const { owner, repo } = context.repo;
const pr = context.payload.pull_request;
const number = pr.number;

// --- Mapping: directory prefixes -> team slug + label ---
// Each entry can have multiple prefixes for the same SDK if needed.
const MAPPINGS = [
{ label: 'automerge: dotnet', teamSlug: 'maintainers-dotnet-sdk', prefixes: ['sdkdocs/dotnet/'] },
{ label: 'automerge: go', teamSlug: 'maintainers-go-sdk', prefixes: ['sdkdocs/go/'] },
{ label: 'automerge: java', teamSlug: 'maintainers-java-sdk', prefixes: ['sdkdocs/java/content/en/'] },
{ label: 'automerge: js', teamSlug: 'maintainers-js-sdk', prefixes: ['sdkdocs/js/'] },
{ label: 'automerge: php', teamSlug: 'maintainers-php-sdk', prefixes: ['sdkdocs/php/'] },
{ label: 'automerge: python', teamSlug: 'maintainers-python-sdk', prefixes: ['sdkdocs/python/'] },
{ label: 'automerge: rust', teamSlug: 'maintainers-rust-sdk', prefixes: ['sdkdocs/rust/content/en/'] },
];

const org = owner;
const defaultLabelColor = '6A9286';
const username = pr.user.login;

// 1) List changed files
const files = await github.paginate(
github.rest.pulls.listFiles,
{ owner, repo, pull_number: number, per_page: 100 }
);

if (files.length === 0) {
core.info('No files changed in PR; skipping.');
core.setOutput('eligible', 'false');
return;
}

// 2) Determine which single SDK mapping the PR targets
// - All files must match ONE mapping's prefixes
// - If files touch multiple mappings or outside any mapping, skip

let currentMapping = null; // holds the mapping object we've locked onto
let ineligible = false;

for (const f of files) {
const path = f.filename;

// find the first mapping whose prefixes match this file
let matched = null;
for (const m of MAPPINGS) {
if (m.prefixes.some(p => path.startsWith(p))) {
matched = m;
break;
}
}

// if no mapping matched, we can stop: not eligible
if (!matched) {
ineligible = true;
break;
}

// if we haven't locked onto a mapping yet, set it now
if (!currentMapping) {
currentMapping = matched;
} else if (currentMapping !== matched) {
// different SDK mapping from the one already selected => not eligible
ineligible = true;
break;
}
}

if (ineligible || !currentMapping) {
core.info('PR is not eligible: outside mapped paths or touches multiple SDK directories.');
core.setOutput('eligible', 'false');
return;
}

const mapping = currentMapping;
const labelName = mapping.label;
const teamSlug = mapping.teamSlug;
const lang = mapping.label.split(': ')[1] || 'sdk';

// 3) Verify author is active in the corresponding team
// teams.getMembershipForUserInOrg: GET /orgs/{org}/teams/{team_slug}/memberships/{username}
// Requires team visibility to the token. [3](https://docs.github.com/rest/teams/members)
try {
const membership = await github.rest.teams.getMembershipForUserInOrg({
org,
team_slug: teamSlug,
username
});
if (membership.data.state !== 'active') {
core.info(`User ${username} is not active in team ${teamSlug}.`);
core.setOutput('eligible', 'false');
return;
}
} catch (err) {
if (err.status === 404) {
core.info(`User ${username} is not a member of team ${teamSlug}.`);
core.setOutput('eligible', 'false');
return;
}
throw err;
}

// 4) Ensure label exists; then add it to the PR
try {
await github.rest.issues.getLabel({ owner, repo, name: labelName });
} catch (e) {
if (e.status === 404) {
await github.rest.issues.createLabel({
owner, repo, name: labelName, color: defaultLabelColor,
description: 'Auto-merged language-specific SDK docs'
});
} else {
throw e;
}
}
await github.rest.issues.addLabels({
owner, repo, issue_number: number, labels: [labelName]
});

// 5) Expose mapping for next step
core.setOutput('eligible', 'true');
core.setOutput('label', labelName);
core.setOutput('teamSlug', teamSlug);
core.setOutput('lang', lang);

- name: Auto-approve & merge (only if eligible)
if: steps.check.outputs.eligible == 'true'
uses: actions/github-script@v7
with:
script: |
const { owner, repo } = context.repo;
const number = context.payload.pull_request.number;
const lang = core.getInput('lang') || '${{ steps.check.outputs.lang }}';
const mergeMethod = process.env.MERGE_METHOD || 'squash';

// 6) Auto-approve review
try {
await github.rest.pulls.createReview({
owner, repo, pull_number: number,
event: 'APPROVE',
body: `Auto-approval: ${lang} SDK docs`
});
} catch (e) {
core.warning(`Failed to create review: ${e.message}`);
}

// 7) Poll until PR is mergeable (clean/unstable)
const wait = ms => new Promise(r => setTimeout(r, ms));
let attempt = 0;
while (attempt < 12) { // up to ~60s
attempt++;
const pr = await github.rest.pulls.get({ owner, repo, pull_number: number });
const state = pr.data.mergeable_state;
core.info(`mergeable=${pr.data.mergeable}, mergeable_state=${state}`);
if (pr.data.mergeable && (state === 'clean' || state === 'unstable')) break;
await wait(5000);
}

// 8) Merge the PR
await github.rest.pulls.merge({
owner, repo, pull_number: number,
merge_method: mergeMethod,
commit_title: `${lang}: ${context.payload.pull_request.title}`,
commit_message: `Auto-merged by SDK maintainer merge bot (${lang})`
});
40 changes: 4 additions & 36 deletions .github/workflows/website-root.yml
Original file line number Diff line number Diff line change
Expand Up @@ -4,11 +4,11 @@ on:
workflow_dispatch:
push:
branches:
- v1.15
- v1.16
pull_request:
types: [opened, synchronize, reopened, closed]
branches:
- v1.15
- v1.16

concurrency:
# Cancel the previously triggered build for only PR build.
Expand Down Expand Up @@ -50,23 +50,17 @@ jobs:
if [ $GITHUB_EVENT_NAME == 'pull_request' ]; then
STAGING_URL="https://${SWA_BASE}-${{github.event.number}}.westus2.azurestaticapps.net/"
fi
hugo ${STAGING_URL+-b "$STAGING_URL"}
hugo ${STAGING_URL+-b "$STAGING_URL"} --minify
- name: Deploy docs site
uses: Azure/static-web-apps-deploy@v1
with:
azure_static_web_apps_api_token: ${{ secrets.AZURE_STATIC_WEB_APPS_API_TOKEN_PROUD_BAY_0E9E0E81E }}
repo_token: ${{ secrets.GITHUB_TOKEN }}
action: "upload"
app_location: "/daprdocs/public/"
app_location: "/daprdocs/public"
output_location: "/"
skip_app_build: true
skip_deploy_on_missing_secrets: true
- name: Upload Hugo artifacts
uses: actions/upload-artifact@v4
with:
name: hugo_build
path: ./daprdocs/public/
if-no-files-found: error

close_staging_site:
if: github.event_name == 'pull_request' && github.event.action == 'closed'
Expand All @@ -80,29 +74,3 @@ jobs:
azure_static_web_apps_api_token: ${{ secrets.AZURE_STATIC_WEB_APPS_API_TOKEN_PROUD_BAY_0E9E0E81E }}
action: "close"
skip_deploy_on_missing_secrets: true

algolia_index:
name: Index site for Algolia
if: github.event_name == 'push'
needs: ['build_and_deploy_job']
runs-on: ubuntu-latest
env:
ALGOLIA_APP_ID: ${{ secrets.ALGOLIA_APP_ID }}
ALGOLIA_API_WRITE_KEY: ${{ secrets.ALGOLIA_API_WRITE_KEY }}
ALGOLIA_INDEX_NAME: daprdocs
steps:
- name: Checkout docs repo
uses: actions/checkout@v4
with:
submodules: false
- name: Download Hugo artifacts
uses: actions/download-artifact@v3
with:
name: hugo_build
path: site/
- name: Install Python packages
run: |
pip install --upgrade bs4
pip install --upgrade 'algoliasearch>=2.0,<3.0'
- name: Index site
run: python ./.github/scripts/algolia.py ./site
Loading
Loading