summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorxXJSONDeruloXx <danielhimebauch@gmail.com>2025-07-14 14:00:16 -0400
committerxXJSONDeruloXx <danielhimebauch@gmail.com>2025-07-14 14:00:16 -0400
commit0e3bab5ee76c8f99679a73b79b951d7ab9949c98 (patch)
tree873aeb1b1896f6d71228b54645765ce983e6a086
parent38aeda7445f48c98ca938105e3c772963dc8fb62 (diff)
downloaddecky-lsfg-vk-0e3bab5ee76c8f99679a73b79b951d7ab9949c98.tar.gz
decky-lsfg-vk-0e3bab5ee76c8f99679a73b79b951d7ab9949c98.zip
initial build workflow
-rw-r--r--.github/workflows/build.yml62
-rw-r--r--.github/workflows/release.yml64
2 files changed, 126 insertions, 0 deletions
diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml
new file mode 100644
index 0000000..0171d4b
--- /dev/null
+++ b/.github/workflows/build.yml
@@ -0,0 +1,62 @@
+name: Build Plugin
+
+on:
+ push:
+ branches: [ main, gh-workflow ]
+ pull_request:
+ branches: [ main, gh-workflow ]
+ workflow_dispatch:
+
+jobs:
+ build:
+ runs-on: ubuntu-latest
+
+ steps:
+ - name: Checkout code
+ uses: actions/checkout@v4
+
+ - name: Setup Node.js
+ uses: actions/setup-node@v4
+ with:
+ node-version: '18'
+
+ - name: Setup pnpm
+ uses: pnpm/action-setup@v4
+ with:
+ version: latest
+
+ - name: Create CLI directory
+ run: mkdir -p cli
+
+ - name: Download Decky CLI
+ run: |
+ curl -L -o cli/decky "https://github.com/SteamDeckHomebrew/cli/releases/latest/download/decky-linux-x86_64"
+ chmod +x cli/decky
+
+ - name: Verify Decky CLI
+ run: ./cli/decky --version
+
+ - name: Clean node_modules (if exists)
+ run: rm -rf node_modules
+
+ - name: Install dependencies
+ run: pnpm install
+
+ - name: Build backend (if needed)
+ run: |
+ if [ -f "backend/Makefile" ]; then
+ cd backend && make
+ fi
+
+ - name: Build plugin
+ run: ./cli/decky plugin build .
+
+ - name: Upload build artifact
+ uses: actions/upload-artifact@v4
+ with:
+ name: plugin-build
+ path: out/*.zip
+ retention-days: 30
+
+ - name: List output files
+ run: ls -la out/
diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml
new file mode 100644
index 0000000..40948b5
--- /dev/null
+++ b/.github/workflows/release.yml
@@ -0,0 +1,64 @@
+name: Release Plugin
+
+on:
+ push:
+ tags:
+ - 'v*'
+
+jobs:
+ release:
+ runs-on: ubuntu-latest
+
+ steps:
+ - name: Checkout code
+ uses: actions/checkout@v4
+
+ - name: Setup Node.js
+ uses: actions/setup-node@v4
+ with:
+ node-version: '18'
+
+ - name: Setup pnpm
+ uses: pnpm/action-setup@v4
+ with:
+ version: latest
+
+ - name: Create CLI directory
+ run: mkdir -p cli
+
+ - name: Download Decky CLI
+ run: |
+ curl -L -o cli/decky "https://github.com/SteamDeckHomebrew/cli/releases/latest/download/decky-linux-x86_64"
+ chmod +x cli/decky
+
+ - name: Clean node_modules (if exists)
+ run: rm -rf node_modules
+
+ - name: Install dependencies
+ run: pnpm install
+
+ - name: Build backend (if needed)
+ run: |
+ if [ -f "backend/Makefile" ]; then
+ cd backend && make
+ fi
+
+ - name: Build plugin
+ run: ./cli/decky plugin build .
+
+ - name: Get plugin name for artifact
+ id: plugin_name
+ run: |
+ PLUGIN_NAME=$(jq -r '.name' plugin.json)
+ echo "name=$PLUGIN_NAME" >> $GITHUB_OUTPUT
+ echo "Plugin name: $PLUGIN_NAME"
+
+ - name: Create Release
+ uses: softprops/action-gh-release@v2
+ with:
+ files: out/*.zip
+ generate_release_notes: true
+ draft: false
+ prerelease: false
+ env:
+ GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}