Sync actions from atomicqms-style deployment
Actions synced: Synced at: 2025-12-27T16:24:04Z
This commit is contained in:
67
claude-code-gitea-action-slim/README.md
Normal file
67
claude-code-gitea-action-slim/README.md
Normal file
@@ -0,0 +1,67 @@
|
||||
# Claude Code Action Slim
|
||||
|
||||
A simplified, faster version of the Claude Code Gitea Action that eliminates redundant tool installations.
|
||||
|
||||
## Key Differences from Original
|
||||
|
||||
| Feature | Original | Slim |
|
||||
|---------|----------|------|
|
||||
| Bun install | Always downloads | Skips if pre-installed |
|
||||
| Claude CLI install | Always downloads (twice!) | Skips if pre-installed |
|
||||
| Base action | Calls `anthropics/claude-code-base-action` | Runs Claude directly |
|
||||
| Dependencies | ~140KB + base-action | ~30KB |
|
||||
| Typical startup | ~5-7 minutes | ~10 seconds (with custom container) |
|
||||
|
||||
## Performance Optimization
|
||||
|
||||
This action is designed to work with custom job containers that have Bun and Claude CLI pre-installed:
|
||||
|
||||
```yaml
|
||||
# In your runner configuration
|
||||
GITEA_RUNNER_LABELS: "ubuntu-latest:docker://ghcr.io/your-org/custom-job-container:latest"
|
||||
```
|
||||
|
||||
Where your container Dockerfile includes:
|
||||
```dockerfile
|
||||
FROM catthehacker/ubuntu:act-latest
|
||||
RUN curl -fsSL https://bun.sh/install | bash
|
||||
RUN npm install -g @anthropic-ai/claude-code
|
||||
```
|
||||
|
||||
## Usage
|
||||
|
||||
```yaml
|
||||
- name: Run AtomicAI Assistant
|
||||
uses: atomicqms-service/actions/claude-code-gitea-action-slim@main
|
||||
with:
|
||||
gitea_token: ${{ secrets.QMS_GITEA_TOKEN }}
|
||||
claude_code_oauth_token: ${{ secrets.CLAUDE_CODE_OAUTH_TOKEN }}
|
||||
trigger_phrase: '@atomicai'
|
||||
```
|
||||
|
||||
## Inputs
|
||||
|
||||
| Input | Description | Default |
|
||||
|-------|-------------|---------|
|
||||
| `trigger_phrase` | Phrase to trigger the action | `@claude` |
|
||||
| `gitea_token` | Gitea API token | - |
|
||||
| `claude_code_oauth_token` | Claude OAuth token | - |
|
||||
| `model` | Claude model to use | - |
|
||||
| `timeout_minutes` | Execution timeout | `30` |
|
||||
| `max_turns` | Max conversation turns | - |
|
||||
| `allowed_tools` | Additional allowed tools | - |
|
||||
| `disallowed_tools` | Blocked tools | - |
|
||||
|
||||
## How It Works
|
||||
|
||||
1. **Check for pre-installed tools** - Skips Bun/Claude install if already present
|
||||
2. **Prepare action** - Check triggers, create tracking comment, setup branch
|
||||
3. **Run Claude directly** - No base-action wrapper, direct CLI invocation
|
||||
4. **Update comment** - Post results back to the issue/PR
|
||||
|
||||
## Files Changed from Original
|
||||
|
||||
- `action.yml` - Simplified steps, no base-action call
|
||||
- `src/entrypoints/run-claude.ts` - New direct Claude runner
|
||||
- `package.json` - Removed unused dependencies
|
||||
- Removed `base-action/` directory entirely
|
||||
Reference in New Lab Ticket
Block a user