From 2cb9a2d71e84fbdeddc13bea4d2fc06309c87381 Mon Sep 17 00:00:00 2001 From: f-trycua Date: Wed, 19 Nov 2025 19:54:26 +0100 Subject: [PATCH] Ensure publish-agent waits for publish-computer when bumping cua-computer MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 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 --- .github/workflows/bump-version.yml | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/.github/workflows/bump-version.yml b/.github/workflows/bump-version.yml index 707bd3e5..977d80fe 100644 --- a/.github/workflows/bump-version.yml +++ b/.github/workflows/bump-version.yml @@ -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