Skip to content

Closes #95: engine: claude is selectable but cannot actually be used #62

Closes #95: engine: claude is selectable but cannot actually be used

Closes #95: engine: claude is selectable but cannot actually be used #62

# This repo runs the agent on itself, so it tracks main rather than a release
# tag: a fix to the harness must be testable here before it ships to anyone.
#
# version is the triggering commit, not "main". The reusable workflow file is
# read from main's tip by GitHub, but `go install ...@main` goes through
# proxy.golang.org, which caches the branch-to-commit mapping and served a
# commit predating the workflow it was being run by. A SHA is unambiguous, so
# the workflow and the binary always come from the same commit.
# Adopters do the opposite and pin a release, which is what docs/templates/
# simplycubed-caller.yml gives them.
name: simplycubed-caller
on:
issue_comment:
types: [created]
issues:
types: [labeled]
pull_request_review:
types: [submitted]
jobs:
run:
if: ${{ github.event_name == 'issues' && github.event.label.name == 'sc:go' }}
uses: simplycubed/code/.github/workflows/simplycubed.yml@main
with:
ref: ${{ github.event.issue.number }}
github-app-client-id: ${{ vars.SIMPLYCUBED_GH_APP_CLIENT_ID }}
issue-number: ${{ github.event.issue.number }}
actor-login: ${{ github.event.sender.login }}
azure-openai-endpoint: ${{ vars.AZURE_OPENAI_ENDPOINT }}
version: ${{ github.sha }}
# model: my-gpt-5-4-deployment
secrets:
azure-openai-api-key: ${{ secrets.AZURE_OPENAI_API_KEY }}
github-app-private-key: ${{ secrets.SIMPLYCUBED_GH_APP_PRIVATE_KEY }}
address:
if: >-
github.event_name == 'pull_request_review' &&
contains(fromJSON('["OWNER","MEMBER","COLLABORATOR"]'), github.event.review.author_association)
uses: simplycubed/code/.github/workflows/simplycubed.yml@main
with:
ref: ${{ github.event.pull_request.number }}
github-app-client-id: ${{ vars.SIMPLYCUBED_GH_APP_CLIENT_ID }}
pr-number: ${{ github.event.pull_request.number }}
actor-login: ${{ github.event.review.user.login }}
azure-openai-endpoint: ${{ vars.AZURE_OPENAI_ENDPOINT }}
version: ${{ github.sha }}
# model: my-gpt-5-4-deployment
secrets:
azure-openai-api-key: ${{ secrets.AZURE_OPENAI_API_KEY }}
github-app-private-key: ${{ secrets.SIMPLYCUBED_GH_APP_PRIVATE_KEY }}
comment:
# issue_comment fires for any user on a public repository, so the command
# must be addressed to the bot AND come from someone with write access.
# author_association is checked here so an unauthorized comment never starts
# a job holding secrets; the app checks access again, because a caller is a
# file in your repository and can be edited.
if: >-
github.event_name == 'issue_comment' &&
github.event.comment.user.type != 'Bot' &&
startsWith(github.event.comment.body, '@simplycubed-code') &&
contains(fromJSON('["OWNER","MEMBER","COLLABORATOR"]'), github.event.comment.author_association)
uses: simplycubed/code/.github/workflows/simplycubed.yml@main
with:
ref: ${{ github.event.issue.number }}
github-app-client-id: ${{ vars.SIMPLYCUBED_GH_APP_CLIENT_ID }}
comment-body: ${{ github.event.comment.body }}
issue-number: ${{ github.event.issue.pull_request == null && github.event.issue.number || '' }}
pr-number: ${{ github.event.issue.pull_request != null && github.event.issue.number || '' }}
actor-login: ${{ github.event.comment.user.login }}
azure-openai-endpoint: ${{ vars.AZURE_OPENAI_ENDPOINT }}
# Same commit the other two jobs use. Without it this job installs the
# released tag, so the comment path is the one path that cannot catch a
# regression before it ships, and a version default bumped ahead of its
# tag breaks this job alone.
version: ${{ github.sha }}
secrets:
azure-openai-api-key: ${{ secrets.AZURE_OPENAI_API_KEY }}
github-app-private-key: ${{ secrets.SIMPLYCUBED_GH_APP_PRIVATE_KEY }}