name: "opencode GitHub Action"
description: "Run opencode in GitHub Actions workflows"
branding:
  icon: "code"
  color: "orange"

inputs:
  model:
    description: "Model to use"
    required: false

  share:
    description: "Share the opencode session (defaults to true for public repos)"
    required: false

outputs:
  share_url:
    description: "URL to share the opencode execution"
    value: ${{ steps.run_opencode.outputs.share_url }}

runs:
  using: "composite"
  steps:
    - name: Setup Node.js
      uses: actions/setup-node@v4
      with:
        node-version: 22

    - name: Install Bun
      uses: oven-sh/setup-bun@v2
      with:
        bun-version: 1.2.16

    - name: Install Dependencies
      shell: bash
      run: |
        cd ${GITHUB_ACTION_PATH}
        bun install

    - name: Install opencode
      shell: bash
      run: curl -fsSL https://opencode.ai/install | bash

    - name: Run opencode
      shell: bash
      id: run_opencode
      run: |
        bun run ${GITHUB_ACTION_PATH}/src/index.ts
      env:
        INPUT_MODEL: ${{ inputs.model }}
        INPUT_SHARE: ${{ inputs.share }}

    #- name: Testing
    #  shell: bash
    #  run: |
    #    gh pr comment ${{ github.event.number }} --body "This is an automated comment"
    #  env:
    #    GH_TOKEN: ${{ github.token }}
