mirror of
https://github.com/anthropics/claude-code-action.git
synced 2026-01-22 22:44:13 +08:00
* feat: integrate claude-code-base-action as local subaction
- Copy claude-code-base-action into base-action/ directory
- Update action.yml to reference ./base-action instead of external repo
- Preserve complete base action structure for future refactoring
This eliminates the external dependency while maintaining modularity.
* feat: consolidate CI workflows and add version bump workflow
- Move base-action test workflows to main .github/workflows/
- Update workflow references to use ./base-action
- Add CI jobs for base-action (test, typecheck, prettier)
- Add bump-claude-code-version workflow for base-action
- Remove redundant .github directory from base-action
This consolidates all CI workflows in one place while maintaining
full test coverage for both the main action and base-action.
* tsc
* copy again
* fix tests
* fix: use absolute path for base-action reference
Replace relative path ./base-action with ${{ github.action_path }}/base-action
to ensure the action works correctly when used in other repositories.
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
* fix: inline base-action execution to support usage in other repos
Replace uses: ./base-action with direct shell execution since GitHub Actions
doesn't support dynamic paths in composite actions. This ensures the action
works correctly when used in other repositories.
Changes:
- Install Claude Code globally before execution
- Run base-action's index.ts directly with bun
- Pass all required INPUT_* environment variables
- Maintain base-action for future separate publishing
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
---------
Co-authored-by: Claude <noreply@anthropic.com>
1.9 KiB
1.9 KiB
CLAUDE.md
Common Commands
Development Commands
- Build/Type check:
bun run typecheck - Format code:
bun run format - Check formatting:
bun run format:check - Run tests:
bun test - Install dependencies:
bun install
Action Testing
- Test action locally:
./test-local.sh - Test specific file:
bun test test/prepare-prompt.test.ts
Architecture Overview
This is a GitHub Action that allows running Claude Code within GitHub workflows. The action consists of:
Core Components
- Action Definition (
action.yml): Defines inputs, outputs, and the composite action steps - Prompt Preparation (
src/index.ts): Runs Claude Code with specified arguments
Key Design Patterns
- Uses Bun runtime for development and execution
- Named pipes for IPC between prompt input and Claude process
- JSON streaming output format for execution logs
- Composite action pattern to orchestrate multiple steps
- Provider-agnostic design supporting Anthropic API, AWS Bedrock, and Google Vertex AI
Provider Authentication
- Anthropic API (default): Requires API key via
anthropic_api_keyinput - AWS Bedrock: Uses OIDC authentication when
use_bedrock: true - Google Vertex AI: Uses OIDC authentication when
use_vertex: true
Testing Strategy
Local Testing
- Use
acttool to run GitHub Actions workflows locally test-local.shscript automates local testing setup- Requires
ANTHROPIC_API_KEYenvironment variable
Test Structure
- Unit tests for configuration logic
- Integration tests for prompt preparation
- Full workflow tests in
.github/workflows/test-action.yml
Important Technical Details
- Uses
mkfifoto create named pipes for prompt input - Outputs execution logs as JSON to
/tmp/claude-execution-output.json - Timeout enforcement via
timeoutcommand wrapper - Strict TypeScript configuration with Bun-specific settings