Backend/emails: Improve the first reference reminder email #8045
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| name: Claude Code | |
| on: | |
| issue_comment: | |
| types: [created] | |
| pull_request_review_comment: | |
| types: [created] | |
| issues: | |
| types: [opened, assigned] | |
| pull_request_review: | |
| types: [submitted] | |
| jobs: | |
| claude: | |
| if: | | |
| (github.event_name == 'issue_comment' && contains(github.event.comment.body, '@claude')) || | |
| (github.event_name == 'pull_request_review_comment' && contains(github.event.comment.body, '@claude')) || | |
| (github.event_name == 'pull_request_review' && contains(github.event.review.body, '@claude')) || | |
| (github.event_name == 'issues' && (contains(github.event.issue.body, '@claude') || contains(github.event.issue.title, '@claude'))) | |
| runs-on: ubuntu-latest | |
| permissions: | |
| contents: read | |
| pull-requests: read | |
| issues: read | |
| id-token: write | |
| actions: read # Required for Claude to read CI results on PRs | |
| services: | |
| postgres: | |
| image: postgis/postgis:18-3.6 | |
| env: | |
| POSTGRES_PASSWORD: "06b3890acd2c235c41be0bbfe22f1b386a04bf02eedf8c977486355616be2aa1" | |
| PGPORT: "6544" | |
| PGDATA: /pgdata | |
| ports: | |
| - 6544:6544 | |
| options: >- | |
| --tmpfs /pgdata | |
| --health-cmd "psql -U postgres -c 'SELECT PostGIS_Version();' || exit 1" | |
| --health-interval 1s | |
| --health-timeout 10s | |
| --health-start-period 5s | |
| --health-retries 10 | |
| steps: | |
| - name: Checkout repository | |
| uses: actions/checkout@v4 | |
| with: | |
| fetch-depth: 1 | |
| # Backend setup | |
| - name: Set up Python | |
| uses: actions/setup-python@v5 | |
| with: | |
| python-version-file: app/backend/pyproject.toml | |
| allow-prereleases: true | |
| - name: Install uv | |
| uses: astral-sh/setup-uv@v4 | |
| - name: Install backend dependencies | |
| working-directory: app/backend | |
| run: uv sync | |
| - name: Generate protobuf files | |
| working-directory: app/backend | |
| run: make protos | |
| # Frontend setup | |
| - name: Set up Node.js | |
| uses: actions/setup-node@v4 | |
| with: | |
| node-version-file: app/web/.nvmrc | |
| - name: Install web dependencies | |
| working-directory: app/web | |
| run: yarn install --frozen-lockfile | |
| # Environment variables for backend (conftest.py defaults handle DATABASE_CONNECTION_STRING) | |
| - name: Load backend environment | |
| run: grep -v '^#' app/backend.dev.env | grep '=' >> "$GITHUB_ENV" | |
| - name: Run Claude Code | |
| id: claude | |
| uses: anthropics/claude-code-action@v1 | |
| with: | |
| claude_code_oauth_token: ${{ secrets.CLAUDE_CODE_OAUTH_TOKEN }} | |
| additional_permissions: | | |
| actions: read | |
| # Allow standard development tools for formatting, type checking, testing, and proto generation | |
| claude_args: | | |
| --model opus | |
| --allowedTools "Bash(uv run ruff:*),Bash(uv run mypy:*),Bash(uv run pytest:*),Bash(uv run alembic:*),Bash(make format:*),Bash(make fmt:*),Bash(make mypy:*),Bash(make protos:*),Bash(make test:*),Bash(yarn format:*),Bash(yarn lint:*),Bash(yarn typecheck),Bash(yarn tsc),Bash(yarn build),Bash(yarn jest:*),Bash(docker:*),Bash(git status:*),Bash(git diff:*),Bash(git log:*),Bash(git show:*),Bash(gh pr:*),Bash(gh issue:*),Bash(nvm use:*),Bash(source ~/.nvm/nvm.sh:*),Bash(ls:*),Bash(pwd),Bash(cd:*),Bash(uv run --project .claude/tools ci-status:*),Bash(uv run --project .claude/tools ci-job-log:*)" |