Custom Environment Variables
You can pass custom environment variables to Bucky workflows using the env input on your caller workflow. These are written to $GITHUB_ENV after checkout, making them available to all subsequent steps including inside composite actions.
Add the env input to your caller workflow:
jobs: dispatch: uses: fetch-rewards/buck-bronson/.github/workflows/bucky-dispatch.yml@v1 with: preset: web env: | DATABASE_URL=postgres://localhost:5432/myapp REDIS_URL=redis://localhost:6379 PORT=3000 secrets: inheritUsing secrets
Section titled “Using secrets”For sensitive values, reference repository secrets using the secrets context:
env: | DATABASE_URL=${{ secrets.DATABASE_URL }} API_KEY=${{ secrets.EXTERNAL_API_KEY }}How it works
Section titled “How it works”- The
envinput is passed as a multiline string to the reusable workflow - After checkout, a shell step parses each
KEY=VALUEline and writes it to$GITHUB_ENV - All subsequent steps (preset resolution, dev setup, Claude execution) see these variables
- Variables are available inside composite actions and to MCP servers running in plugins
Common use cases
Section titled “Common use cases”| Variable | Purpose |
|---|---|
DATABASE_URL | Database connection for running tests |
REDIS_URL | Redis connection for integration tests |
PORT | Service port for local testing |
API_KEY | External API authentication |
FEATURE_FLAG_* | Feature flag overrides for testing |