From 0e3bab5ee76c8f99679a73b79b951d7ab9949c98 Mon Sep 17 00:00:00 2001 From: xXJSONDeruloXx Date: Mon, 14 Jul 2025 14:00:16 -0400 Subject: initial build workflow --- .github/workflows/build.yml | 62 +++++++++++++++++++++++++++++++++++++++++ .github/workflows/release.yml | 64 +++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 126 insertions(+) create mode 100644 .github/workflows/build.yml create mode 100644 .github/workflows/release.yml (limited to '.github') 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 }} -- cgit v1.2.3 From 6f96925a780ba533983dc4363cb36b75bca9f24f Mon Sep 17 00:00:00 2001 From: xXJSONDeruloXx Date: Mon, 14 Jul 2025 14:02:19 -0400 Subject: artifact name tweak --- .github/workflows/build.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to '.github') diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 0171d4b..8521aae 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -54,7 +54,7 @@ jobs: - name: Upload build artifact uses: actions/upload-artifact@v4 with: - name: plugin-build + name: lossless-scaling path: out/*.zip retention-days: 30 -- cgit v1.2.3