From 1cdbe79b3419569583460bf292accd3b7f86730f Mon Sep 17 00:00:00 2001 From: Greyson LaLonde Date: Wed, 17 Dec 2025 08:40:14 -0500 Subject: [PATCH] chore: add deployment action, trigger for releases --- .github/workflows/publish.yml | 23 +++++++++++++++++-- .../workflows/trigger-deployment-tests.yml | 18 +++++++++++++++ 2 files changed, 39 insertions(+), 2 deletions(-) create mode 100644 .github/workflows/trigger-deployment-tests.yml diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml index 74c3fc74a..04284c7fe 100644 --- a/.github/workflows/publish.yml +++ b/.github/workflows/publish.yml @@ -1,9 +1,14 @@ name: Publish to PyPI on: - release: - types: [ published ] + repository_dispatch: + types: [deployment-tests-passed] workflow_dispatch: + inputs: + release_tag: + description: 'Release tag to publish' + required: false + type: string jobs: build: @@ -12,7 +17,21 @@ jobs: permissions: contents: read steps: + - name: Determine release tag + id: release + run: | + # Priority: workflow_dispatch input > repository_dispatch payload > default branch + if [ -n "${{ inputs.release_tag }}" ]; then + echo "tag=${{ inputs.release_tag }}" >> $GITHUB_OUTPUT + elif [ -n "${{ github.event.client_payload.release_tag }}" ]; then + echo "tag=${{ github.event.client_payload.release_tag }}" >> $GITHUB_OUTPUT + else + echo "tag=" >> $GITHUB_OUTPUT + fi + - uses: actions/checkout@v4 + with: + ref: ${{ steps.release.outputs.tag || github.ref }} - name: Set up Python uses: actions/setup-python@v5 diff --git a/.github/workflows/trigger-deployment-tests.yml b/.github/workflows/trigger-deployment-tests.yml new file mode 100644 index 000000000..eaad490a5 --- /dev/null +++ b/.github/workflows/trigger-deployment-tests.yml @@ -0,0 +1,18 @@ +name: Trigger Deployment Tests + +on: + release: + types: [published] + +jobs: + trigger: + name: Trigger deployment tests + runs-on: ubuntu-latest + steps: + - name: Trigger deployment tests + uses: peter-evans/repository-dispatch@v3 + with: + token: ${{ secrets.CREWAI_DEPLOYMENTS_PAT }} + repository: ${{ secrets.CREWAI_DEPLOYMENTS_REPOSITORY }} + event-type: crewai-release + client-payload: '{"release_tag": "${{ github.event.release.tag_name }}", "release_name": "${{ github.event.release.name }}"}'