diff --git a/.github/workflows/release-chromadb.yml b/.github/workflows/release-chromadb.yml index fe66cdc2b17..c8c3f5ed403 100644 --- a/.github/workflows/release-chromadb.yml +++ b/.github/workflows/release-chromadb.yml @@ -244,6 +244,37 @@ jobs: removeArtifacts: true prerelease: true + release-hosted: + name: Release to Chroma Cloud + runs-on: ubuntu-latest + needs: + - release-github + steps: + - name: Checkout + uses: actions/checkout@v4 + - name: Dispatch deploy + uses: actions/github-script@v6 + with: + github-token: ${{ secrets.HOSTED_CHROMA_WORKFLOW_DISPATCH_TOKEN }} + script: | + const result = await github.rest.actions.createWorkflowDispatch({ + owner: 'chroma-core', + repo: 'hosted-chroma', + workflow_id: 'deploy.yaml', + ref: 'main', + inputs: { + // We intentionally *do not* provide the current commit SHA of chroma-core/chroma here. The workflow we dispatch defaults to the commit tagged with "latest" (which we update above). + // If we provided the current commit here, there's a potential race condition: + // - Commit history is A -> B + // - This CI workflow runs on both commits, but the second commit finishes first + // - B is deployed to Chroma Cloud + // - This workflow finishes for A and deploys A to Chroma Cloud + // Chroma Cloud is now running A, but the last commit was B. + "environment": "staging", + "planes": "data" + } + }) + release-docs: name: Deploy docs to Vercel runs-on: ubuntu-latest