Skip to content

Commit 4bae1be

Browse files
authored
Merge branch 'main' into workflows-respect-timeouts
2 parents 6bbfa19 + 0ab9f0e commit 4bae1be

6 files changed

Lines changed: 29 additions & 66 deletions

File tree

.github/workflows/build-tag.yaml

Lines changed: 0 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -4,12 +4,6 @@ on:
44
push:
55
tags:
66
- v*
7-
- workflow-v*
8-
- grpc-v*
9-
- flask-v*
10-
- fastapi-v*
11-
- langgraph-v*
12-
- strands-v*
137
workflow_dispatch:
148

159
jobs:
@@ -79,54 +73,47 @@ jobs:
7973
python -m pip install --upgrade pip
8074
pip install setuptools wheel twine tox
8175
- name: Build and publish Dapr Python SDK
82-
if: startsWith(github.ref_name, 'v')
8376
env:
8477
TWINE_PASSWORD: ${{ secrets.PYPI_UPLOAD_PASS }}
8578
run: |
8679
python setup.py sdist bdist_wheel
8780
twine upload dist/*
8881
- name: Build and publish dapr-ext-workflow
89-
if: startsWith(github.ref_name, 'workflow-v')
9082
env:
9183
TWINE_PASSWORD: ${{ secrets.PYPI_UPLOAD_PASS }}
9284
run: |
9385
cd ext/dapr-ext-workflow
9486
python setup.py sdist bdist_wheel
9587
twine upload dist/*
9688
- name: Build and publish Dapr Flask Extension
97-
if: startsWith(github.ref_name, 'flask-v')
9889
env:
9990
TWINE_PASSWORD: ${{ secrets.PYPI_UPLOAD_PASS }}
10091
run: |
10192
cd ext/flask_dapr
10293
python setup.py sdist bdist_wheel
10394
twine upload dist/*
10495
- name: Build and publish dapr-ext-grpc
105-
if: startsWith(github.ref_name, 'grpc-v')
10696
env:
10797
TWINE_PASSWORD: ${{ secrets.PYPI_UPLOAD_PASS }}
10898
run: |
10999
cd ext/dapr-ext-grpc
110100
python setup.py sdist bdist_wheel
111101
twine upload dist/*
112102
- name: Build and publish dapr-ext-fastapi
113-
if: startsWith(github.ref_name, 'fastapi-v')
114103
env:
115104
TWINE_PASSWORD: ${{ secrets.PYPI_UPLOAD_PASS }}
116105
run: |
117106
cd ext/dapr-ext-fastapi
118107
python setup.py sdist bdist_wheel
119108
twine upload dist/*
120109
- name: Build and publish dapr-ext-langgraph
121-
if: startsWith(github.ref_name, 'langgraph-v')
122110
env:
123111
TWINE_PASSWORD: ${{ secrets.PYPI_UPLOAD_PASS }}
124112
run: |
125113
cd ext/dapr-ext-langgraph
126114
python setup.py sdist bdist_wheel
127115
twine upload dist/*
128116
- name: Build and publish dapr-ext-strands
129-
if: startsWith(github.ref_name, 'strands-v')
130117
env:
131118
TWINE_PASSWORD: ${{ secrets.PYPI_UPLOAD_PASS }}
132119
run: |

.github/workflows/fossa.yaml

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -22,12 +22,6 @@ on:
2222
- feature/*
2323
tags:
2424
- v*
25-
- workflow-v*
26-
- grpc-v*
27-
- flask-v*
28-
- fastapi-v*
29-
- langgraph-v*
30-
- strands-v*
3125
pull_request:
3226
branches:
3327
- main

.github/workflows/validate_examples.yaml

Lines changed: 0 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -7,12 +7,6 @@ on:
77
- feature/*
88
tags:
99
- v*
10-
- workflow-v*
11-
- grpc-v*
12-
- fastapi-v*
13-
- flask-v*
14-
- langgraph-v*
15-
- strands-v*
1610
pull_request:
1711
branches:
1812
- main
@@ -64,7 +58,6 @@ jobs:
6458
with:
6559
repository: ${{ env.CHECKOUT_REPO }}
6660
ref: ${{ env.CHECKOUT_REF }}
67-
- uses: azure/setup-helm@v4
6861
- name: Determine latest Dapr Runtime version (including prerelease)
6962
env:
7063
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}

AGENTS.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -157,7 +157,7 @@ MyPy is configured to check: `dapr/actor/`, `dapr/clients/`, `dapr/conf/`, `dapr
157157
- **DCO required**: Every commit must include a `Signed-off-by` line. Use `git commit -s` to add it automatically.
158158
- **CI checks**: Linting (ruff), unit tests (Python 3.10-3.14), type checking (mypy), and DCO verification run on all PRs.
159159
- **Branch targets**: PRs go to `main` or `release-*` branches.
160-
- **Tag-based releases**: Tags like `v*`, `workflow-v*`, `grpc-v*`, `fastapi-v*`, `flask-v*`, `langgraph-v*`, `strands-v*` trigger PyPI publishing for the corresponding package.
160+
- **Tag-based releases**: A single `v*` tag triggers PyPI publishing for all packages (core SDK and all extensions).
161161

162162
## Agent task checklist
163163

RELEASE.md

Lines changed: 27 additions & 38 deletions
Original file line numberDiff line numberDiff line change
@@ -1,17 +1,21 @@
11
# Release process
22

33
This document describes the release process for the Dapr Python SDK.
4-
It covers all packages published from this repository:
5-
6-
| Tag prefix | PyPI package |
7-
|---|---|
8-
| `v*` | `dapr` (core SDK) |
9-
| `workflow-v*` | `dapr-ext-workflow` |
10-
| `grpc-v*` | `dapr-ext-grpc` |
11-
| `fastapi-v*` | `dapr-ext-fastapi` |
12-
| `flask-v*` | `flask_dapr` |
13-
| `langgraph-v*` | `dapr-ext-langgraph` |
14-
| `strands-v*` | `dapr-ext-strands` |
4+
5+
A single tag (`v*`) triggers the release of **all packages** published from this repository:
6+
7+
| PyPI package |
8+
|---|
9+
| `dapr` (core SDK) |
10+
| `dapr-ext-workflow` |
11+
| `dapr-ext-grpc` |
12+
| `dapr-ext-fastapi` |
13+
| `flask_dapr` |
14+
| `dapr-ext-langgraph` |
15+
| `dapr-ext-strands` |
16+
17+
You can also create the tag via a **GitHub Release**, which auto-creates the tag and provides
18+
a changelog UI.
1519

1620
## Overview
1721

@@ -102,26 +106,20 @@ Open a PR targeting `main` to align it with the new release version:
102106
- In all seven version files: change the previous dev version to `X.Y.0.dev`
103107
- In all six extension `setup.cfg` files: change the previous `dapr >= ...dev` to `dapr >= X.Y.0.dev`
104108

105-
### 4. Push the tags
109+
### 4. Push the tag
106110

107-
Once the version bump PR on `release-X.Y` is merged, create and push the tags from the
111+
Once the version bump PR on `release-X.Y` is merged, create and push the tag from the
108112
**tip of `release-X.Y`**:
109113

110114
```bash
111115
git checkout release-X.Y
112116
git pull upstream release-X.Y
113117

114-
git tag vX.Y.0rc0 && git push upstream vX.Y.0rc0
115-
git tag workflow-vX.Y.0rc0 && git push upstream workflow-vX.Y.0rc0
116-
git tag grpc-vX.Y.0rc0 && git push upstream grpc-vX.Y.0rc0
117-
git tag flask-vX.Y.0rc0 && git push upstream flask-vX.Y.0rc0
118-
git tag fastapi-vX.Y.0rc0 && git push upstream fastapi-vX.Y.0rc0
119-
git tag langgraph-vX.Y.0rc0 && git push upstream langgraph-vX.Y.0rc0
120-
git tag strands-vX.Y.0rc0 && git push upstream strands-vX.Y.0rc0
118+
git tag vX.Y.0rc0 && git push upstream vX.Y.0rc0
121119
```
122120

123-
Each tag push triggers the `dapr-python-release` workflow which builds and uploads the
124-
corresponding package to PyPI.
121+
The tag push triggers the `dapr-python-release` workflow which builds and uploads
122+
all packages to PyPI.
125123

126124
## Scenario B — Ship a new release candidate
127125

@@ -134,21 +132,15 @@ Open a PR **targeting `release-X.Y`** that does:
134132
- In all seven version files: change `X.Y.0rc(N-1)``X.Y.0rcN`
135133
- In all six extension `setup.cfg` files: change `dapr >= X.Y.0rc(N-1)``dapr >= X.Y.0rcN`
136134

137-
### 2. Push the tags
135+
### 2. Push the tag
138136

139137
Once the PR is merged:
140138

141139
```bash
142140
git checkout release-X.Y
143141
git pull upstream release-X.Y
144142

145-
git tag vX.Y.0rcN && git push upstream vX.Y.0rcN
146-
git tag workflow-vX.Y.0rcN && git push upstream workflow-vX.Y.0rcN
147-
git tag grpc-vX.Y.0rcN && git push upstream grpc-vX.Y.0rcN
148-
git tag flask-vX.Y.0rcN && git push upstream flask-vX.Y.0rcN
149-
git tag fastapi-vX.Y.0rcN && git push upstream fastapi-vX.Y.0rcN
150-
git tag langgraph-vX.Y.0rcN && git push upstream langgraph-vX.Y.0rcN
151-
git tag strands-vX.Y.0rcN && git push upstream strands-vX.Y.0rcN
143+
git tag vX.Y.0rcN && git push upstream vX.Y.0rcN
152144
```
153145

154146
## Scenario C — Ship the stable release (and patch releases)
@@ -163,23 +155,20 @@ Open a PR **targeting `release-X.Y`** that does:
163155
- In all seven version files: change `X.Y.ZrcN``X.Y.Z` (drop the `rcN` suffix)
164156
- In all six extension `setup.cfg` files: change `dapr >= X.Y.ZrcN``dapr >= X.Y.Z`
165157

166-
### 2. Push the tags
158+
### 2. Push the tag
167159

168160
Once the PR is merged:
169161

170162
```bash
171163
git checkout release-X.Y
172164
git pull upstream release-X.Y
173165

174-
git tag vX.Y.Z && git push upstream vX.Y.Z
175-
git tag workflow-vX.Y.Z && git push upstream workflow-vX.Y.Z
176-
git tag grpc-vX.Y.Z && git push upstream grpc-vX.Y.Z
177-
git tag flask-vX.Y.Z && git push upstream flask-vX.Y.Z
178-
git tag fastapi-vX.Y.Z && git push upstream fastapi-vX.Y.Z
179-
git tag langgraph-vX.Y.Z && git push upstream langgraph-vX.Y.Z
180-
git tag strands-vX.Y.Z && git push upstream strands-vX.Y.Z
166+
git tag vX.Y.Z && git push upstream vX.Y.Z
181167
```
182168

169+
Alternatively, create a **GitHub Release** targeting `release-X.Y` with tag `vX.Y.Z` — this
170+
creates the tag and triggers the publish workflow automatically.
171+
183172
## Backporting changes
184173

185174
Bug fixes and small improvements that should appear in both `main` and an active release

ext/dapr-ext-grpc/setup.cfg

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@ packages = find_namespace:
2525
include_package_data = True
2626
install_requires =
2727
dapr >= 1.17.0.dev
28-
cloudevents >= 1.0.0
28+
cloudevents >= 1.0.0, < 2.0.0
2929

3030
[options.packages.find]
3131
include =

0 commit comments

Comments
 (0)