Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
54 changes: 54 additions & 0 deletions .github/workflows/outrider.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,54 @@
name: Outrider

# Daily cron that uses remyxai/outrider to pick a paper from
# engine.remyx.ai for this research interest and open a draft PR with a
# Claude-Code-scaffolded integration.
#
# Secrets needed (set in Settings → Secrets and variables → Actions):
# REMYX_API_KEY — engine.remyx.ai token
# ANTHROPIC_API_KEY — model-provider token (e.g. Anthropic, for the agent)
#
# The workflow's built-in GITHUB_TOKEN handles PR / Issue creation on
# this repo — no PAT required since the action runs in the target.

on:
schedule:
# Daily at 14:00 UTC
- cron: '0 14 * * *'
workflow_dispatch:

jobs:
recommend:
runs-on: ubuntu-latest
timeout-minutes: 60
permissions:
contents: write
pull-requests: write
issues: write
env:
REMYX_API_KEY: ${{ secrets.REMYX_API_KEY }}
ANTHROPIC_API_KEY: ${{ secrets.ANTHROPIC_API_KEY }}
steps:
# Mint a remyx[bot] token from Remyx so the PR / Issue is authored by
# the Remyx GitHub App (not github-actions[bot]). The App private key
# stays on Remyx's side; this uses the REMYX_API_KEY already in secrets.
# If it can't be minted (e.g. App not installed), the token is empty and
# the action falls back to the workflow's built-in GITHUB_TOKEN.
- name: Mint Remyx bot token
id: remyx-bot
shell: bash
run: |
token="$(curl -sf -X POST -H "Authorization: Bearer ${{ secrets.REMYX_API_KEY }}" -H "Content-Type: application/json" -d "{\"repo\": \"${{ github.repository }}\"}" "https://engine.remyx.ai/api/v1.0/github/installation-token" | python3 -c "import sys, json; print(json.load(sys.stdin).get('token', ''))")" || token=""
echo "::add-mask::$token"
echo "token=$token" >> "$GITHUB_OUTPUT"
- uses: remyxai/outrider@v1
with:
interest-id: 6998975a-5301-43f0-bb61-9560ad933cb0
# remyx[bot] token (empty → action falls back to GITHUB_TOKEN).
github-token: ${{ steps.remyx-bot.outputs.token }}
# Disable the per-repo rate-limit window so manual and scheduled
# runs always evaluate the latest recommendation. Without this the
# default 7-day floor short-circuits runs at skipped_rate_limit
# (e.g. a manual re-run after the first auto-PR). Per-paper dedup
# (open PR / Issue for the same arxiv_id) still prevents duplicates.
rate-limit-days: '0'
Loading