Add optimized multi-platform release CI/CD pipeline.

Split Windows builds into shared x64 prep and arch-specific packaging, add comprehensive caching, verification scripts, and a PR smoke workflow.

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
2026-09-13 17:18:49 +03:00
Unverified
parent f9eb9cc438
commit 32583600d4
13 changed files with 4886 additions and 212 deletions
@@ -0,0 +1,16 @@
name: Cache Cargo (windows-setup)
description: Cache registry, git sources, and target/ for the Windows installer Rust workspace
runs:
using: composite
steps:
- name: Cache Cargo
uses: actions/cache@v4
with:
path: |
~/.cargo/registry
~/.cargo/git
app/desktop/windows-setup/target
key: cargo-windows-${{ runner.os }}-${{ hashFiles('app/desktop/windows-setup/Cargo.lock', 'app/desktop/windows-setup/**/*.rs') }}
restore-keys: |
cargo-windows-${{ runner.os }}-
+14
View File
@@ -0,0 +1,14 @@
name: Set release version
description: Writes versionName/versionCode into build.gradle.kts for CI
inputs:
version:
description: Semantic version (e.g. 1.2.3)
required: true
runs:
using: composite
steps:
- name: Set version
shell: bash
run: bash scripts/ci-set-version.sh "${{ inputs.version }}"
@@ -0,0 +1,23 @@
name: Setup Java and Gradle
description: Temurin JDK 17 + Gradle wrapper with dependency and build cache
inputs:
java-architecture:
description: Optional JDK architecture (x64, arm64, …)
required: false
default: ""
runs:
using: composite
steps:
- uses: actions/setup-java@v4
with:
distribution: temurin
java-version: "17"
architecture: ${{ inputs.java-architecture }}
- uses: gradle/actions/setup-gradle@v4
with:
gradle-version: wrapper
cache-read-only: false
add-job-summary: true