mirror of https://github.com/PCSX2/pcsx2.git
actions: create automatic controller db updating workflow
This commit is contained in:
parent
3265c2a614
commit
dc051541bd
|
@ -0,0 +1 @@
|
||||||
|
*.txt
|
|
@ -0,0 +1,38 @@
|
||||||
|
import os
|
||||||
|
|
||||||
|
relevant_categories = [
|
||||||
|
"# Mac OS X",
|
||||||
|
"# Linux"
|
||||||
|
]
|
||||||
|
|
||||||
|
header_lines = []
|
||||||
|
new_db_contents = []
|
||||||
|
|
||||||
|
def is_relevant_category(line):
|
||||||
|
for category in relevant_categories:
|
||||||
|
if category in line:
|
||||||
|
return True
|
||||||
|
return False
|
||||||
|
|
||||||
|
with open("./game_controller_db.txt") as file:
|
||||||
|
lines = file.readlines()
|
||||||
|
finished_header = False
|
||||||
|
processing_section = False
|
||||||
|
for line in lines:
|
||||||
|
if finished_header is False:
|
||||||
|
header_lines.append(line)
|
||||||
|
if line == "\n":
|
||||||
|
finished_header = True
|
||||||
|
if processing_section and line == "\n":
|
||||||
|
processing_section = False
|
||||||
|
new_db_contents.append("\n")
|
||||||
|
if is_relevant_category(line) and processing_section is False:
|
||||||
|
processing_section = True
|
||||||
|
new_db_contents.append(line)
|
||||||
|
elif processing_section:
|
||||||
|
new_db_contents.append(line)
|
||||||
|
|
||||||
|
os.remove("./game_controller_db.txt")
|
||||||
|
with open("./game_controller_db.txt", "w") as f:
|
||||||
|
f.writelines(header_lines)
|
||||||
|
f.writelines(new_db_contents)
|
|
@ -0,0 +1,29 @@
|
||||||
|
name: 🏭 Update Controller Database
|
||||||
|
|
||||||
|
on:
|
||||||
|
schedule:
|
||||||
|
- cron: "0 16 * * 1" # every monday @ 12pm EST - https://crontab.guru/#0_16_*_*_1
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
update-controller-db:
|
||||||
|
if: github.repository == 'PCSX2/pcsx2'
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v2
|
||||||
|
|
||||||
|
- name: Get Latest DB and Prepare DB File
|
||||||
|
run: |
|
||||||
|
cd .github/workflows/scripts/controller-db/
|
||||||
|
wget -O game_controller_db.txt https://raw.githubusercontent.com/gabomdq/SDL_GameControllerDB/master/gamecontrollerdb.txt
|
||||||
|
python ./update-db.py
|
||||||
|
mv ./game_controller_db.txt ${{github.workspace}}/pcsx2/PAD/Linux/res/game_controller_db.txt
|
||||||
|
|
||||||
|
- name: Create Pull Request
|
||||||
|
uses: peter-evans/create-pull-request@v3
|
||||||
|
with:
|
||||||
|
title: "pad-linux: Update to latest controller database"
|
||||||
|
commit-message: "pad-linux: Update to latest controller database."
|
||||||
|
committer: "PCSX2 Bot <PCSX2Bot@users.noreply.github.com>"
|
||||||
|
author: "PCSX2 Bot <PCSX2Bot@users.noreply.github.com>"
|
||||||
|
body: "Weekly automatic update of SDL Controller DB for Linux / Mac OS"
|
||||||
|
reviewers: lightningterror
|
Loading…
Reference in New Issue