Skip to content

Unreal Engine Update Tracker #242

Unreal Engine Update Tracker

Unreal Engine Update Tracker #242

Workflow file for this run

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