Skip to content

Fleet Dispatch

Fleet Dispatch #27

# Generated by @google/jules-fleet init
# https://github.com/google-labs-code/jules-sdk
name: Fleet Dispatch
on:
schedule:
- cron: '0 3-23/6 * * *'
workflow_dispatch:
inputs:
milestone:
description: 'Milestone ID to dispatch (leave empty to dispatch all)'
type: string
required: false
concurrency:
group: fleet-dispatch
cancel-in-progress: false
jobs:
dispatch:
runs-on: ubuntu-latest
permissions:
contents: read
issues: write
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
node-version: '22'
- name: Decode private key
id: decode-key
run: |
echo "${{ secrets.FLEET_APP_PRIVATE_KEY_BASE64 }}" | base64 -d > /tmp/fleet-app-key.pem
{
echo "pem<<PEMEOF"
cat /tmp/fleet-app-key.pem
echo "PEMEOF"
} >> "$GITHUB_OUTPUT"
rm /tmp/fleet-app-key.pem
- name: Generate Fleet App token
id: app-token
uses: actions/create-github-app-token@v1
with:
app-id: ${{ secrets.FLEET_APP_ID }}
private-key: ${{ steps.decode-key.outputs.pem }}
- run: |
npm install --prefix /tmp/fleet @google/jules-fleet
/tmp/fleet/node_modules/.bin/jules-fleet dispatch --milestone ${{ inputs.milestone }}
env:
GITHUB_TOKEN: ${{ steps.app-token.outputs.token }}
JULES_API_KEY: ${{ secrets.JULES_API_KEY }}
GITHUB_APP_ID: ${{ secrets.FLEET_APP_ID }}
GITHUB_APP_PRIVATE_KEY_BASE64: ${{ secrets.FLEET_APP_PRIVATE_KEY_BASE64 }}
GITHUB_APP_INSTALLATION_ID: ${{ secrets.FLEET_APP_INSTALLATION_ID }}