Unreal Engine Update Tracker #226
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: Unreal Engine Update Tracker | |
| on: | |
| workflow_dispatch: | |
| inputs: | |
| commit_scan_limit: | |
| description: 'Number of recent commits to scan. If empty, the script defaults to the last 24 hours.' | |
| required: false | |
| default: '' | |
| report_language: | |
| description: 'Language for the report (e.g., Japanese, English). Default: Japanese' | |
| required: false | |
| default: '' | |
| discussion_category: | |
| description: 'GitHub Discussion category to post to. Default: Daily Reports' | |
| required: false | |
| default: '' | |
| gemini_model: | |
| description: 'The Gemini model to use for analysis. Default: gemini-2.5-pro' | |
| required: false | |
| default: '' | |
| slack_webhook_url: | |
| description: 'Slack Webhook URL for notifications. Overrides secret.' | |
| required: false | |
| default: '' | |
| slack_channel: | |
| description: 'Slack channel to post to. Overrides secret.' | |
| required: false | |
| default: '' | |
| discord_webhook_url: | |
| description: 'Discord Webhook URL for notifications. Overrides secret.' | |
| required: false | |
| default: '' | |
| schedule: | |
| # Runs every day at 23:00 UTC (which is 8:00 AM JST) | |
| - cron: '0 23 * * *' | |
| jobs: | |
| run-update-check: | |
| runs-on: ubuntu-latest | |
| # Run on schedule or if manually triggered by the repository owner | |
| if: github.event_name == 'schedule' || github.actor == github.repository_owner | |
| permissions: | |
| contents: write # To update the state file (e.g., last_processed_commit.txt) | |
| issues: write # To create issues for error reporting | |
| discussions: write # To post the daily summary reports | |
| env: | |
| # --- Secrets (Must be configured in repository settings) --- | |
| UE_REPO_PAT: ${{ secrets.UE_REPO_PAT }} | |
| GEMINI_API_KEY: ${{ secrets.GEMINI_API_KEY }} | |
| DISCUSSION_REPO: ${{ secrets.DISCUSSION_REPO || github.repository }} | |
| DISCUSSION_REPO_PAT: ${{ secrets.DISCUSSION_REPO_PAT }} | |
| GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
| # --- Dynamic Configuration --- | |
| # The script will use the following environment variables. | |
| # Priority: Manual Input > Repository Variable > Workflow Default | |
| REPORT_LANGUAGE: ${{ github.event.inputs.report_language || vars.REPORT_LANGUAGE || 'Japanese' }} | |
| GEMINI_MODEL: ${{ github.event.inputs.gemini_model || vars.GEMINI_MODEL || 'gemini-2.5-pro' }} | |
| DISCUSSION_CATEGORY: ${{ github.event.inputs.discussion_category || vars.DISCUSSION_CATEGORY || 'Daily Reports' }} | |
| COMMIT_SCAN_LIMIT: ${{ github.event.inputs.commit_scan_limit }} | |
| SLACK_WEBHOOK_URL: ${{ github.event.inputs.slack_webhook_url || secrets.SLACK_WEBHOOK_URL }} | |
| SLACK_CHANNEL: ${{ github.event.inputs.slack_channel || secrets.SLACK_CHANNEL }} | |
| DISCORD_WEBHOOK_URL: ${{ github.event.inputs.discord_webhook_url || secrets.DISCORD_WEBHOOK_URL }} | |
| steps: | |
| - name: Checkout repository | |
| uses: actions/checkout@v4 | |
| - name: Set up Python | |
| uses: actions/setup-python@v5 | |
| with: | |
| python-version: '3.11' | |
| - name: Install dependencies | |
| run: | | |
| python -m pip install --upgrade pip | |
| if [ -f requirements.txt ]; then pip install -r requirements.txt; fi | |
| - name: Run update check script | |
| run: python scripts/main.py |