VoxCaster: every on-demand Darktide voice line on the com wheel or a keybind
- 98 commands across com wheel, item, enemy, ability and blitz groups - shared command table drives wheel dropdowns, keybinds and localization - tools/check_upstream.py validates triggers against the game source dump - weekly GitHub Action opens an issue when triggers change upstream
This commit is contained in:
@@ -0,0 +1,42 @@
|
||||
name: Check Darktide source for VO changes
|
||||
|
||||
on:
|
||||
schedule:
|
||||
- cron: "0 9 * * 1" # every Monday 09:00 UTC
|
||||
workflow_dispatch: # "Run workflow" button in the Actions tab
|
||||
|
||||
permissions:
|
||||
contents: read
|
||||
issues: write
|
||||
|
||||
jobs:
|
||||
check:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
- uses: actions/setup-python@v5
|
||||
with:
|
||||
python-version: "3.x"
|
||||
|
||||
- name: Compare mod commands against game source
|
||||
id: check
|
||||
env:
|
||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
run: |
|
||||
set +e
|
||||
python3 tools/check_upstream.py --json report.json | tee report.txt
|
||||
echo "changed=$?" >> "$GITHUB_OUTPUT"
|
||||
|
||||
- name: Open / update issue if something changed
|
||||
if: steps.check.outputs.changed == '1'
|
||||
env:
|
||||
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
run: |
|
||||
TITLE="VO triggers changed in Darktide source"
|
||||
BODY="$(printf '%s\n\n```\n%s\n```\n\nRun `python3 tools/check_upstream.py` locally, add the new triggers to `VoxCaster_commands.lua` + `_localization.lua`, and re-run until it says *Up to date*.' "Automated check on $(date -u +%F)." "$(cat report.txt)")"
|
||||
EXISTING=$(gh issue list --state open --search "$TITLE in:title" --json number --jq '.[0].number')
|
||||
if [ -n "$EXISTING" ]; then
|
||||
gh issue comment "$EXISTING" --body "$BODY"
|
||||
else
|
||||
gh issue create --title "$TITLE" --body "$BODY" --label "upstream"
|
||||
fi
|
||||
Reference in New Issue
Block a user