Files
ThordekkCore/.github/labeler.yml
T
agathoandClaude Opus 4.5 7f64d4a8d6 feat(ci): Comprehensive GitHub Actions workflow enhancement
This commit overhauls the CI/CD infrastructure with enterprise-grade workflows:

## Workflow Changes

### Removed
- issue-labeler.yml (TrinityCore-specific, won't run on fork)
- win-x64-build.yml (consolidated into windows-build.yml)

### Added
- codeql-analysis.yml: Security scanning with CodeQL, Trivy, TruffleHog
- release.yml: Multi-platform automated releases (Windows, Linux, macOS)
- upstream-sync.yml: Weekly TrinityCore upstream synchronization
- docs-validation.yml: Markdown lint, link check, spell check
- stale.yml: Automated stale issue/PR management
- notifications.yml: Discord/Slack integration for build status
- windows-build.yml: Enhanced Windows build with tests

### Enhanced
- linux-build.yml: Added timeouts, artifact uploads, improved formatting
- macos-arm-build.yml: Added ccache, timeouts, artifact uploads
- playerbot-nightly-review.yml: Full trend analysis, metrics collection
- pr-labeler.yml: File-based labels, size labels, auto-assign

### Configuration Files
- labeler.yml: Path-based PR label mappings
- auto-assign.yml: Automatic reviewer assignment

## Trigger Schedule (UTC)
- 01:00 Daily: Stale issue management
- 02:00 Daily: Nightly review with trend analysis
- 03:00 Sunday: Upstream sync
- 04:00 Monday: CodeQL security analysis
- 00:00 Sunday: Dependency updates

## Features
- Multi-platform builds with parallel execution
- Automated security scanning and vulnerability detection
- Historical metrics and trend analysis
- Discord/Slack notifications (webhook-based)
- Automated release creation with changelogs
- PR size labeling and auto-assignment

Co-Authored-By: Claude Opus 4.5 <[email protected]>
Signed-off-by: luis <[email protected]>
2026-01-23 19:57:26 -03:00

136 lines
3.1 KiB
YAML

# PR Labeler Configuration
# Labels are automatically applied based on files changed in the PR
# Playerbot Module
playerbot:
- changed-files:
- any-glob-to-any-file: 'src/modules/Playerbot/**'
# AI System
ai:
- changed-files:
- any-glob-to-any-file:
- 'src/modules/Playerbot/AI/**'
- 'src/modules/Playerbot/**/AI*.cpp'
- 'src/modules/Playerbot/**/AI*.h'
# Combat System
combat:
- changed-files:
- any-glob-to-any-file:
- 'src/modules/Playerbot/Combat/**'
- 'src/modules/Playerbot/**/Combat*.cpp'
- 'src/modules/Playerbot/**/Combat*.h'
# Navigation/Pathfinding
navigation:
- changed-files:
- any-glob-to-any-file:
- 'src/modules/Playerbot/Navigation/**'
- 'src/modules/Playerbot/Travel/**'
- 'src/modules/Playerbot/**/Path*.cpp'
- 'src/modules/Playerbot/**/Path*.h'
# Social/Interaction Systems
social:
- changed-files:
- any-glob-to-any-file:
- 'src/modules/Playerbot/Social/**'
- 'src/modules/Playerbot/Interaction/**'
# Database/SQL
database:
- changed-files:
- any-glob-to-any-file:
- '**/*.sql'
- 'src/modules/Playerbot/**/Database*.cpp'
- 'src/modules/Playerbot/**/Database*.h'
# Configuration
config:
- changed-files:
- any-glob-to-any-file:
- 'src/modules/Playerbot/**/Config*.cpp'
- 'src/modules/Playerbot/**/Config*.h'
- '**/*.conf'
- '**/*.conf.dist'
# Tests
tests:
- changed-files:
- any-glob-to-any-file:
- 'tests/**'
- '**/*test*.cpp'
- '**/*Test*.cpp'
# Build System
build:
- changed-files:
- any-glob-to-any-file:
- '**/CMakeLists.txt'
- '**/*.cmake'
- '.github/workflows/**'
# CI/CD
ci:
- changed-files:
- any-glob-to-any-file: '.github/**'
# Documentation
documentation:
- changed-files:
- any-glob-to-any-file:
- '**/*.md'
- 'docs/**'
- '.claude/**'
# Core Changes (requires extra review)
core:
- changed-files:
- any-glob-to-any-file:
- 'src/server/game/**'
- 'src/server/scripts/**'
- 'src/common/**'
# Dependencies
dependencies:
- changed-files:
- any-glob-to-any-file:
- 'dep/**'
- '**/requirements.txt'
- '**/package.json'
# Scripts
scripts:
- changed-files:
- any-glob-to-any-file:
- 'src/server/scripts/**'
- '**/*.py'
- '**/*.ps1'
- '**/*.sh'
- '**/*.bat'
# Performance Critical
performance:
- changed-files:
- any-glob-to-any-file:
- 'src/modules/Playerbot/**/Perf*.cpp'
- 'src/modules/Playerbot/**/Perf*.h'
- 'src/modules/Playerbot/**/Cache*.cpp'
- 'src/modules/Playerbot/**/Cache*.h'
# Security Sensitive
security:
- changed-files:
- any-glob-to-any-file:
- 'src/server/bnetserver/**'
- '**/*Auth*.cpp'
- '**/*Auth*.h'
- '**/*Security*.cpp'
- '**/*Security*.h'
# Tools
tools:
- changed-files:
- any-glob-to-any-file: 'src/tools/**'