Ensure publish-agent waits for publish-computer when bumping cua-computer

When bumping cua-computer, we publish both packages. However, since cua-agent
depends on cua-computer, we should publish computer FIRST, then agent. This
ensures the new computer version is available on PyPI before agent (which
depends on it) is published.

Changes:
- Reordered jobs: publish-computer before publish-agent
- Added publish-computer to publish-agent's needs list
- Updated publish-agent condition to use always() with explicit result checks
- When service is cua-agent: publishes immediately
- When service is cua-computer: waits for publish-computer to succeed first

Job execution order:
1. bump-version (bumps versions, pushes to git)
2. publish-computer (only when service == cua-computer)
3. publish-agent (waits for computer if service == cua-computer)

This prevents dependency errors where agent might be published before the
computer version it depends on is available on PyPI.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
f-trycua
2025-11-19 19:54:26 +01:00
parent c41d334109
commit 2cb9a2d71e

View File

@@ -117,14 +117,6 @@ jobs:
run: |
git push origin main --follow-tags
publish-agent:
needs: bump-version
if: ${{ inputs.service == 'cua-agent' || inputs.service == 'cua-computer' }}
uses: ./.github/workflows/pypi-publish-agent.yml
with:
version: ${{ needs.bump-version.outputs.agent_version }}
secrets: inherit
publish-computer:
needs: bump-version
if: ${{ inputs.service == 'cua-computer' }}
@@ -132,3 +124,11 @@ jobs:
with:
version: ${{ needs.bump-version.outputs.computer_version }}
secrets: inherit
publish-agent:
needs: [bump-version, publish-computer]
if: ${{ always() && (inputs.service == 'cua-agent' || inputs.service == 'cua-computer') && needs.bump-version.result == 'success' && (inputs.service == 'cua-agent' || needs.publish-computer.result == 'success') }}
uses: ./.github/workflows/pypi-publish-agent.yml
with:
version: ${{ needs.bump-version.outputs.agent_version }}
secrets: inherit