diff options
| author | K900 <me@0upti.me> | 2023-11-14 00:40:37 +0300 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2023-11-13 23:40:37 +0200 |
| commit | 5a633fdd8284dd1a2b6f3c95806f033ef4a4becf (patch) | |
| tree | b89f3660d3b8918484e6bc153003a84b95207045 /.github | |
| parent | 8ce4a7679e9f0abb67e85822fefe08237ec9d82e (diff) | |
| download | decky-loader-marios8543/async-plugin-method-requests.tar.gz decky-loader-marios8543/async-plugin-method-requests.zip | |
Packaging rework (#531)marios8543/async-plugin-method-requests
* fix: get rid of title view jank on latest beta
* Count the number of installs for each plugin (#557)
* Bump aiohttp from 3.8.4 to 3.8.5 in /backend (#558)
* fix: include Decky version in request for index.js
This avoids the If-Modified-Since logic in aiohttp and ensures Steam doesn't cache old JS,
even if the timestamps are normalized.
* fix: clean up shellcheck warnings in act runner script
* fix: gitignore settings/
* fix: ensure state directories exist when running without the installer
* feat: determine root directory correctly when running from in-tree
* fix: fix typo in CI script
* refactor: build a proper Python package with poetry
* refactor: move decky_plugin under the poetry structure
There's no need to special case it anymore, just treat it like any other Python module.
* sandboxed_plugin: better fix, attempt 2
---------
Co-authored-by: AAGaming <aagaming@riseup.net>
Co-authored-by: Party Wumpus <48649272+PartyWumpus@users.noreply.github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Diffstat (limited to '.github')
| -rw-r--r-- | .github/workflows/build-win.yml | 22 | ||||
| -rw-r--r-- | .github/workflows/build.yml | 23 | ||||
| -rw-r--r-- | .github/workflows/edit-check.yml | 10 | ||||
| -rw-r--r-- | .github/workflows/typecheck.yml | 16 |
4 files changed, 43 insertions, 28 deletions
diff --git a/.github/workflows/build-win.yml b/.github/workflows/build-win.yml index d532bbc2..5de21402 100644 --- a/.github/workflows/build-win.yml +++ b/.github/workflows/build-win.yml @@ -25,13 +25,15 @@ jobs: uses: actions/setup-python@v4 with: python-version: "3.11.4" + + - name: Install Poetry + uses: snok/install-poetry@v1 + with: + virtualenvs-create: false - name: Install Python dependencies ⬇️ working-directory: ./backend - run: | - python -m pip install --upgrade pip - pip install pyinstaller==5.13.0 - pip install -r requirements.txt + run: C:\Users\runneradmin\.local\bin\poetry install --no-interaction - name: Install JS dependencies ⬇️ working-directory: ./frontend @@ -44,16 +46,18 @@ jobs: run: pnpm run build - name: Build Python Backend 🛠️ - run: pyinstaller --noconfirm --onefile --name "PluginLoader" --add-data "./backend/static;/static" --add-data "./backend/locales;/locales" --add-data "./plugin;/plugin" --hidden-import=logging.handlers --hidden-import=sqlite3 ./backend/main.py + working-directory: ./backend + run: C:\Users\runneradmin\.local\bin\poetry run pyinstaller pyinstaller.spec - name: Build Python Backend (noconsole) 🛠️ - run: pyinstaller --noconfirm --noconsole --onefile --name "PluginLoader_noconsole" --add-data "./backend/static;/static" --add-data "./backend/locales;/locales" --add-data "./plugin;/plugin" --hidden-import=logging.handlers --hidden-import=sqlite3 ./backend/main.py - + working-directory: ./backend + run: $env:DECKY_NOCONSOLE = 1; C:\Users\runneradmin\.local\bin\poetry run pyinstaller pyinstaller.spec + - name: Upload package artifact ⬆️ uses: actions/upload-artifact@v3 with: name: PluginLoader Win path: | - ./dist/PluginLoader.exe - ./dist/PluginLoader_noconsole.exe + ./backend/dist/PluginLoader.exe + ./backend/dist/PluginLoader_noconsole.exe diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 25d9fe9f..4333e87e 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -69,12 +69,14 @@ jobs: sudo cp /usr/lib/libsqlite3.so.0.8.6 /usr/lib/x86_64-linux-gnu/ && rm -r /tmp/sqlite-autoconf-3420000 + - name: Install Poetry + uses: snok/install-poetry@v1 + with: + virtualenvs-create: false + - name: Install Python dependencies ⬇️ working-directory: ./backend - run: | - python -m pip install --upgrade pip - pip install pyinstaller==5.13.0 - pip install -r requirements.txt + run: poetry install --no-interaction - name: Install JS dependencies ⬇️ working-directory: ./frontend @@ -87,20 +89,21 @@ jobs: run: pnpm run build - name: Build Python Backend 🛠️ - run: pyinstaller --noconfirm --onefile --name "PluginLoader" --add-data ./backend/static:/static --add-data ./backend/locales:/locales --add-data ./plugin:/plugin --hidden-import=logging.handlers --hidden-import=sqlite3 ./backend/main.py - + working-directory: ./backend + run: pyinstaller pyinstaller.spec + - name: Upload package artifact ⬆️ if: ${{ !env.ACT }} uses: actions/upload-artifact@v3 with: name: PluginLoader - path: ./dist/PluginLoader + path: ./backend/dist/PluginLoader - name: Download package artifact locally if: ${{ env.ACT }} uses: actions/upload-artifact@v3 with: - path: ./dist/PluginLoader + path: ./backend/dist/PluginLoader release: name: Release stable version of the package @@ -177,7 +180,7 @@ jobs: with: name: Release ${{ steps.ready_tag.outputs.tag_name }} tag_name: ${{ steps.ready_tag.outputs.tag_name }} - files: ./dist/PluginLoader + files: ./backend/dist/PluginLoader prerelease: false generate_release_notes: true @@ -264,6 +267,6 @@ jobs: with: name: Prerelease ${{ steps.ready_tag.outputs.tag_name }} tag_name: ${{ steps.ready_tag.outputs.tag_name }} - files: ./dist/PluginLoader + files: ./backend/dist/PluginLoader prerelease: true generate_release_notes: true diff --git a/.github/workflows/edit-check.yml b/.github/workflows/edit-check.yml index 59ed0fac..bba5588f 100644 --- a/.github/workflows/edit-check.yml +++ b/.github/workflows/edit-check.yml @@ -22,18 +22,18 @@ jobs: with: separator: "," files: | - plugin/* + backend/decky_plugin.pyi - name: Is stub changed id: changed-stub run: | STUB_CHANGED="false" - PATHS=(plugin plugin/decky_plugin.pyi) + PATHS=(backend backend/decky_plugin.pyi) SHA=${{ github.sha }} SHA_PREV=HEAD^ FILES=$(git diff $SHA_PREV..$SHA --name-only -- ${PATHS[@]} | jq -Rsc 'split("\n")[:-1] | join (",")') - if [[ "$FILES" == *"plugin/decky_plugin.pyi"* ]]; then - $STUB_CHANGED="true" + if [[ "$FILES" == *"backend/decky_plugin.pyi"* ]]; then + STUB_CHANGED="true" echo "Stub has changed, pushing updated stub" else echo "Stub has not changed, exiting." @@ -48,7 +48,7 @@ jobs: env: API_TOKEN_GITHUB: ${{ secrets.GITHUB_TOKEN }} with: - source_file: 'plugin/decky_plugin.pyi' + source_file: 'backend/decky_plugin.pyi' destination_repo: 'SteamDeckHomebrew/decky-plugin-template' user_email: '11465594+TrainDoctor@users.noreply.github.com' user_name: 'TrainDoctor' diff --git a/.github/workflows/typecheck.yml b/.github/workflows/typecheck.yml index 16239bdf..181a4211 100644 --- a/.github/workflows/typecheck.yml +++ b/.github/workflows/typecheck.yml @@ -12,11 +12,19 @@ jobs: steps: - uses: actions/checkout@v3 # Check out the repository first. - - name: Install Python dependencies + - name: Set up Python 3.10.6 🐍 + uses: actions/setup-python@v4 + with: + python-version: "3.10.6" + + - name: Install Poetry + uses: snok/install-poetry@v1 + with: + virtualenvs-create: false + + - name: Install Python dependencies ⬇️ working-directory: backend - run: | - python -m pip install --upgrade pip - [ -f requirements.txt ] && pip install -r requirements.txt + run: poetry install --no-interaction - name: Install TypeScript dependencies working-directory: frontend |
