Skip to content

Commit 3b286ec

Browse files
ci(server): publish agent-control-server to PyPI (#210)
## Summary The release workflow stages \`server/dist/\` and uploads it to GitHub release assets, but does not currently push the server wheel to PyPI. Models, evaluators, and the SDK are published; the server is not. This change adds a \`publish-server\` job between \`publish-evaluators\` and \`publish-sdk\`, matching the pattern of the other publish jobs. ## Scope - User-facing/API changes: \`agent-control-server\` becomes installable via \`pip install agent-control-server\` after the next release. - Internal changes: dependency chain in the workflow updated to evaluators -> server -> sdk (server depends on evaluators at runtime, so evaluators publishes first). - Out of scope: anything outside the release workflow.
1 parent 8c5c35e commit 3b286ec

1 file changed

Lines changed: 32 additions & 6 deletions

File tree

.github/workflows/release.yaml

Lines changed: 32 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -92,7 +92,7 @@ jobs:
9292
uses: actions/download-artifact@v4
9393
with:
9494
name: release-dists
95-
path: .
95+
path: release-dists
9696

9797
- name: Publish agent-control-models to PyPI
9898
uses: pypa/gh-action-pypi-publish@release/v1
@@ -113,7 +113,7 @@ jobs:
113113
uses: actions/download-artifact@v4
114114
with:
115115
name: release-dists
116-
path: .
116+
path: release-dists
117117

118118
- name: Publish evaluator distributions to PyPI
119119
uses: pypa/gh-action-pypi-publish@release/v1
@@ -122,6 +122,30 @@ jobs:
122122
user: __token__
123123
password: ${{ secrets.PYPI_API_TOKEN }}
124124

125+
publish-server:
126+
runs-on: ubuntu-latest
127+
needs: [release, publish-evaluators]
128+
if: >-
129+
always() &&
130+
needs.release.outputs.released == 'true' &&
131+
needs.publish-evaluators.result == 'success'
132+
permissions:
133+
id-token: write
134+
135+
steps:
136+
- name: Download built distributions
137+
uses: actions/download-artifact@v4
138+
with:
139+
name: release-dists
140+
path: release-dists
141+
142+
- name: Publish agent-control-server to PyPI
143+
uses: pypa/gh-action-pypi-publish@release/v1
144+
with:
145+
packages-dir: release-dists/server/dist/
146+
user: __token__
147+
password: ${{ secrets.PYPI_API_TOKEN }}
148+
125149
publish-sdk:
126150
runs-on: ubuntu-latest
127151
needs: [release, publish-evaluators]
@@ -137,7 +161,7 @@ jobs:
137161
uses: actions/download-artifact@v4
138162
with:
139163
name: release-dists
140-
path: .
164+
path: release-dists
141165

142166
- name: Publish agent-control-sdk to PyPI
143167
uses: pypa/gh-action-pypi-publish@release/v1
@@ -148,8 +172,10 @@ jobs:
148172

149173
upload-release-assets:
150174
runs-on: ubuntu-latest
151-
needs: [release, publish-sdk]
152-
if: needs.release.outputs.released == 'true'
175+
needs: [release, publish-models, publish-evaluators, publish-server, publish-sdk]
176+
if: >-
177+
always() &&
178+
needs.release.outputs.released == 'true'
153179
permissions:
154180
contents: write
155181

@@ -158,7 +184,7 @@ jobs:
158184
uses: actions/download-artifact@v4
159185
with:
160186
name: release-dists
161-
path: .
187+
path: release-dists
162188

163189
- name: Upload to GitHub Release
164190
uses: python-semantic-release/upload-to-gh-release@main

0 commit comments

Comments
 (0)