From ac133fd5b69ff42bb5d4bb5b96f556cb2ffba04f Mon Sep 17 00:00:00 2001 From: Richard Toth Date: Fri, 4 Sep 2026 18:33:50 +0200 Subject: [PATCH] feat(git): add github release yml --- .github/workflows/release.yml | 95 +++++++++++++++++++++++++++++++++++ package.json | 2 +- src-tauri/tauri.conf.json | 2 +- 3 files changed, 97 insertions(+), 2 deletions(-) create mode 100644 .github/workflows/release.yml diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml new file mode 100644 index 0000000..67a4976 --- /dev/null +++ b/.github/workflows/release.yml @@ -0,0 +1,95 @@ +name: Build and Release Court Pilot + +on: + push: + tags: + - 'v*' + + workflow_dispatch: + +concurrency: + group: ${{ github.workflow }}-${{ github.ref }} + cancel-in-progress: true + +env: + CN_APPLICATION: "trweb/court-pilot" + +jobs: + draft: + runs-on: ubuntu-22.04 + + steps: + - uses: actions/checkout@v4 + + - name: Create CrabNebula draft release + uses: crabnebula-dev/cloud-release@v0 + with: + command: release draft ${{ env.CN_APPLICATION }} --framework tauri + api-key: ${{ secrets.CN_API_KEY }} + + build: + needs: draft + + strategy: + fail-fast: false + + matrix: + os: + - ubuntu-22.04 + - windows-latest + + runs-on: ${{ matrix.os }} + + steps: + - name: Checkout + uses: actions/checkout@v4 + + - name: Setup Node + uses: actions/setup-node@v4 + with: + node-version: 22 + cache: npm + + - name: Setup Rust + uses: actions-rust-lang/setup-rust-toolchain@v1 + with: + toolchain: stable + cache: true + + - name: Install Linux dependencies + if: matrix.os == 'ubuntu-22.04' + run: | + sudo apt-get update + sudo apt-get install -y \ + webkit2gtk-4.1 \ + libappindicator3-dev \ + librsvg2-dev \ + patchelf + + - name: Install dependencies + run: npm ci + + - name: Build Tauri app + env: + TAURI_SIGNING_PRIVATE_KEY: ${{ secrets.TAURI_SIGNING_PRIVATE_KEY }} + TAURI_SIGNING_PRIVATE_KEY_PASSWORD: ${{ secrets.TAURI_SIGNING_PRIVATE_KEY_PASSWORD }} + run: npm run tauri build + + - name: Upload release assets to CrabNebula + uses: crabnebula-dev/cloud-release@v0 + with: + command: release upload ${{ env.CN_APPLICATION }} --framework tauri + api-key: ${{ secrets.CN_API_KEY }} + path: ./src-tauri + + publish: + needs: build + + runs-on: ubuntu-22.04 + + steps: + - name: Publish CrabNebula release + uses: crabnebula-dev/cloud-release@v0 + with: + command: release publish ${{ env.CN_APPLICATION }} --framework tauri + api-key: ${{ secrets.CN_API_KEY }} diff --git a/package.json b/package.json index 3e43c2b..10d0dd5 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "court-pilot", - "version": "0.0.1", + "version": "1.1.0", "author": "Ionic Framework", "homepage": "https://ionicframework.com/", "scripts": { diff --git a/src-tauri/tauri.conf.json b/src-tauri/tauri.conf.json index 1413810..4fedd13 100644 --- a/src-tauri/tauri.conf.json +++ b/src-tauri/tauri.conf.json @@ -1,7 +1,7 @@ { "$schema": "../node_modules/@tauri-apps/cli/config.schema.json", "productName": "court-pilot", - "version": "1.0.0", + "version": "1.1.0", "identifier": "com.courtpilot.dev", "build": { "frontendDist": "../www",