Compare commits

...

5 Commits

Author SHA1 Message Date
TrainDoctor 63b25bce85 All good, code was not modified to accomodate ints 2023-03-05 18:12:31 -08:00
TrainDoctor dd0bfb4821 Int is nice but it breaks plugins 2023-03-05 18:07:17 -08:00
TrainDoctor c1055b73bb Update logic for stub check 2023-03-05 16:37:57 -08:00
Jayden 3b59542ddd Expose USER_ID and DECKY_USER_ID to plugins (#389) 2023-03-05 16:28:21 -08:00
TrainDoctor 0dd0d9f4bd Add CI to automatically update plugin stub in template 2023-03-05 16:23:17 -08:00
4 changed files with 78 additions and 1 deletions
+45
View File
@@ -0,0 +1,45 @@
name: Push Updated Plugin Stub to Template
on: push
jobs:
copy-stub:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@8230315d06ad95c617244d2f265d237a1682d445
with:
ref: ${{ github.sha }}
fetch-depth: 0
token: ${{ secrets.GITHUB_TOKEN }}
- name: Checkout
uses: actions/checkout@v2
- name: Is stub changed
id: changed-stub
run: |
STUB_CHANGED="false"
PATHS=(plugin plugin/decky_plugin.pyi)
SHA="${{ github.sha }}"
SHA_PREV=$(git rev-list --parents -n 1 $SHA)
FILES=$(git diff $SHA_PREV --name-only -- ${PATHS[@]} | jq -Rsc 'split("\n")[:-1] | join (",")')
if [[ "$FILES" == *"plugin/decky_plugin.pyi"* ]]; then
STUB_CHANGED="true"
echo "Stub has changed, pushing updated stub"
else
echo "Stub has not changed, exiting."
exit 0
fi
- name: Push updated stub
if: steps.changed-stub.outputs.has_changed == true
uses: dmnemec/copy_file_to_another_repo_action@bbebd3da22e4a37d04dca5f782edd5201cb97083
env:
API_TOKEN_GITHUB: ${{ secrets.GITHUB_TOKEN }}
with:
source_file: 'plugin/decky_plugin.pyi'
destination_repo: 'SteamDeckHomebrew/decky-plugin-template'
user_email: '11465594+TrainDoctor@users.noreply.github.com'
user_name: 'TrainDoctor'
commit_message: 'Updated template with latest plugin stub changes'
+3 -1
View File
@@ -64,8 +64,10 @@ class PluginWrapper:
# export a bunch of environment variables to help plugin developers
environ["HOME"] = helpers.get_home_path("root" if "root" in self.flags else helpers.get_user())
environ["USER"] = "root" if "root" in self.flags else helpers.get_user()
environ["USER_ID"] = "0" if "root" in self.flags else helpers.get_user_id()
environ["DECKY_VERSION"] = helpers.get_loader_version()
environ["DECKY_USER"] = helpers.get_user()
environ["DECKY_USER"] = str(helpers.get_user())
environ["DECKY_USER_ID"] = str(helpers.get_user_id())
environ["DECKY_USER_HOME"] = helpers.get_home_path()
environ["DECKY_HOME"] = helpers.get_homebrew_path()
environ["DECKY_PLUGIN_SETTINGS_DIR"] = path.join(environ["DECKY_HOME"], "settings", self.plugin_directory)
+15
View File
@@ -38,6 +38,14 @@ It would be `root` if `root` was specified in the plugin's flags otherwise the u
e.g.: `deck`
"""
USER_ID: int = int(os.getenv("USER_ID", default="-1"))
"""
The effective UID running the process.
Environment variable: `USER_ID`.
It would be `0` if `root` was specified in the plugin's flags otherwise the id of the user whose home decky resides in.
e.g.: `1000`
"""
DECKY_VERSION: str = os.getenv("DECKY_VERSION", default="")
"""
The version of the decky loader.
@@ -52,6 +60,13 @@ Environment variable: `DECKY_USER`.
e.g.: `deck`
"""
DECKY_USER_ID: int = int(os.getenv("DECKY_USER_ID", default="-1"))
"""
The UID of the user whose home decky resides in.
Environment variable: `DECKY_USER_ID`.
e.g.: `1000`
"""
DECKY_USER_HOME: str = os.getenv("DECKY_USER_HOME", default="")
"""
The home of the user where decky resides in.
+15
View File
@@ -36,6 +36,14 @@ It would be `root` if `root` was specified in the plugin's flags otherwise the u
e.g.: `deck`
"""
USER_ID: int
"""
The effective UID running the process.
Environment variable: `UID`.
It would be `0` if `root` was specified in the plugin's flags otherwise the id of the user whose home decky resides in.
e.g.: `1000`
"""
DECKY_VERSION: str
"""
The version of the decky loader.
@@ -50,6 +58,13 @@ Environment variable: `DECKY_USER`.
e.g.: `deck`
"""
DECKY_USER_ID: int
"""
The UID of the user whose home decky resides in.
Environment variable: `DECKY_USER_ID`.
e.g.: `1000`
"""
DECKY_USER_HOME: str
"""
The home of the user where decky resides in.