Skip to content

Generic Open AI API compatible provider. (Deepseek, Helicone, LiteLLM etc) #918

Generic Open AI API compatible provider. (Deepseek, Helicone, LiteLLM etc)

Generic Open AI API compatible provider. (Deepseek, Helicone, LiteLLM etc) #918

# This workflow is triggered by a comment on an issue or PR with the text ".bundle"
# It bundles the Desktop App, then creates a PR comment with a link to download the app.
# IMPORTANT: issue_comment workflows only use files found on "main" branch to run.
# Do NOT allow on: pull_request since that allows a user to alter a file in a PR and exfil secrets for example.
# Only using issue_comment is the suggested workflow type. Comments on pull requests, and issues will trigger the issue_comment workflow event.
on:
issue_comment:
types: [created]
# permissions needed for reacting to IssueOps commands on PRs
permissions:
pull-requests: write
checks: read
# issues: write
name: Workflow to Bundle Desktop App
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
jobs:
trigger-on-command:
name: Trigger on ".bundle" PR comment
runs-on: ubuntu-latest
outputs:
continue: ${{ steps.command.outputs.continue }}
# Cannot use github.event.pull_request.number since the trigger is 'issue_comment'
pr_number: ${{ steps.command.outputs.issue_number }}
steps:
- uses: github/[email protected]
id: command
with:
command: ".bundle"
skip_reviews: true
reaction: "eyes"
allowed_contexts: pull_request
bundle-desktop:
# Only run this if ".bundle" command is detected.
needs: [trigger-on-command]
if: ${{ needs.trigger-on-command.outputs.continue == 'true' }}
uses: ./.github/workflows/bundle-desktop.yml
with:
signing: true
secrets:
CERTIFICATE_OSX_APPLICATION: ${{ secrets.CERTIFICATE_OSX_APPLICATION }}
CERTIFICATE_PASSWORD: ${{ secrets.CERTIFICATE_PASSWORD }}
APPLE_ID: ${{ secrets.APPLE_ID }}
APPLE_ID_PASSWORD: ${{ secrets.APPLE_ID_PASSWORD }}
APPLE_TEAM_ID: ${{ secrets.APPLE_TEAM_ID }}
bundle-desktop-windows:
# Only run this if ".bundle" command is detected.
needs: [trigger-on-command]
if: ${{ needs.trigger-on-command.outputs.continue == 'true' }}
uses: ./.github/workflows/bundle-desktop-windows.yml
with:
signing: true
secrets:
WINDOWS_CERTIFICATE: ${{ secrets.WINDOWS_CERTIFICATE }}
WINDOWS_CERTIFICATE_PASSWORD: ${{ secrets.WINDOWS_CERTIFICATE_PASSWORD }}
pr-comment:
name: PR Comment with Desktop App
runs-on: ubuntu-latest
needs: [trigger-on-command, bundle-desktop, bundle-desktop-windows]
permissions:
pull-requests: write
steps:
- name: Download all artifacts
uses: actions/download-artifact@v4
with:
merge-multiple: true
- name: Comment on PR with download link
uses: peter-evans/create-or-update-comment@v4
with:
issue-number: ${{ needs.trigger-on-command.outputs.pr_number }}
body: |
### Desktop App for this PR
The following builds are available for testing:
- [📱 macOS Desktop App (arm64, signed)](https://nightly.link/${{ github.repository }}/actions/runs/${{ github.run_id }}/Goose-darwin-arm64.zip)
- [🪟 Windows Desktop App (x64, signed)](https://nightly.link/${{ github.repository }}/actions/runs/${{ github.run_id }}/desktop-windows-dist.zip)
**macOS Instructions:**
After downloading, unzip the file and drag the Goose.app to your Applications folder. The app is signed and notarized for macOS.
**Windows Instructions:**
After downloading, unzip the file and run Goose.exe. The app is signed for Windows.
These links are provided by nightly.link and will work even if you're not logged into GitHub.