Files
inventory-plus-plus/.gitea/workflows/gitea-claude.yaml
T
angel ed401adc68
Gitea Actions Demo / Explore-Gitea-Actions (push) Successful in 4s
Tests / Go tests (push) Successful in 14s
claude bot: db: consolidate pg vars
2026-08-22 01:03:02 -06:00

112 lines
4.0 KiB
YAML

name: Claude Assistant for Gitea
env:
PGUSER: postgres
PGPASSWORD: pgpass
DATABASE_URL: "postgres://${PGUSER}:${PGPASSWORD}@postgres:5432/inventory_2?sslmode=disable"
TEST_DATABASE_URL: "postgres://${PGUSER}:${PGPASSWORD}@postgres:5432/inventory_2_test?sslmode=disable"
POSTGRES_PASSWORD: "$PGPASSWORD"
on:
# Trigger on issue comments (works on both issues and pull requests in Gitea)
issue_comment:
types: [created]
# Trigger on issues being opened or assigned
issues:
types: [opened, assigned]
# Note: pull_request_review_comment has limited support in Gitea
# Use issue_comment instead which covers PR comments
jobs:
claude-assistant:
# Basic trigger detection - check for @claude in comments or issue body
if: |
(github.event_name == 'issue_comment' && contains(github.event.comment.body, '@claude')) ||
(github.event_name == 'issues' && (contains(github.event.issue.body, '@claude') || github.event.action == 'assigned'))
runs-on: ubuntu-latest
permissions:
contents: write
pull-requests: write
issues: write
# Note: Gitea Actions may not require id-token: write for basic functionality
services:
postgres:
image: postgres
#env:
# POSTGRES_PASSWORD: "$PGPASSWORD"
options: >-
--health-cmd pg_isready
--health-interval 10s
--health-timeout 5s
--health-retries 5
steps:
- name: Checkout repository
uses: actions/checkout@v4
with:
fetch-depth: 0
- name: Setup golang environment
uses: actions/setup-go@v7
with:
go-version: 'stable'
check-latest: true
token: ${{ gitea.token }}
permissions:
contents: read
- name: Install psql and initialize the db
run: |
sudo apt-get update
sudo apt-get install -y postgresql-client
PGUSER="$PGUSER" PGPASSWORD="$PGPASSWORD" psql postgres -h postgres -c "CREATE DATABASE inventory_2"
- name: Install golang-migrate
run: |
go install -tags 'postgres' github.com/golang-migrate/migrate/v4/cmd/migrate@latest
- name: Migrate schema up
run: |
migrate -path database_migrations -database "$DATABASE_URL" up
- name: Run Claude Assistant
uses: markwylde/claude-code-gitea-action@gitea
with:
allowed_tools: |
penpot-self-hosted__execute_code
penpot-self-hosted__high_level_overview
penpot-self-hosted__penpot_api_info
penpot-self-hosted__export_shape
penpot_self_hosted__execute_code
penpot_self_hosted__high_level_overview
penpot_self_hosted__penpot_api_info
penpot_self_hosted__export_shape
Bash(go:*)
Bash(gofmt:*)
Bash(./tailwind.sh)
Bash(node -v)
Bash(npm install)
Bash(psql:*)
gitea_api_url: "https://gitea.inventory-plus-plus.com/api/v1"
gitea_token: ${{ secrets.GITEA_TOKEN }} # Use standard workflow token
# anthropic_api_key: ${{ secrets.ANTHROPIC_API_KEY }}
# Prefer claude_code_oauth_token over anthropic_api_key (cheaper!)
claude_code_oauth_token: ${{ secrets.CLAUDE_CODE_OAUTH_TOKEN }}
timeout_minutes: "60"
trigger_phrase: "@claude"
assignee_trigger: "@claude"
# Needed due to bug: https://github.com/anthropics/claude-code-action/issues/1416
model: "claude-sonnet-5"
# Optional: Customize for Gitea environment
custom_instructions: |
You are working in a Gitea environment. Be aware that:
- Some GitHub Actions features may behave differently
- Focus on core functionality and avoid advanced GitHub-specific features
- Use standard git operations when possible
env:
GITEA_SERVER_URL: "https://gitea.inventory-plus-plus.com"
NODE_VERSION: 24.x
POSTGRES_HOST: postgres
POSTGRES_PORT: 5432