Fix CI deprecation warnings

This commit is contained in:
2026-09-14 00:15:58 +03:00
Unverified
parent 9f9a1f9874
commit 192c2a6b38
12 changed files with 155 additions and 145 deletions
@@ -0,0 +1,18 @@
name: Cache desktop ProGuard jars
description: Restore or save the CI ProGuard export directory (speeds up release desktop-proguard job)
outputs:
cache-hit:
description: Whether ProGuard jars were restored from cache
value: ${{ steps.cache.outputs.cache-hit }}
runs:
using: composite
steps:
- uses: actions/cache@v5
id: cache
with:
path: app/desktop/build/ci/proguard
key: desktop-proguard-v1-${{ hashFiles('gradle/libs.versions.toml', 'build.gradle.kts', 'settings.gradle.kts', 'app/desktop/build.gradle.kts', 'app/desktop/proguard-rules.pro', 'app/shared/build.gradle.kts') }}
restore-keys: |
desktop-proguard-v1-
@@ -0,0 +1,18 @@
name: Cache Windows installer Rust binaries
description: Restore or save compiled windows-setup release executables
outputs:
cache-hit:
description: Whether Rust installer tools were restored from cache
value: ${{ steps.cache.outputs.cache-hit }}
runs:
using: composite
steps:
- uses: actions/cache@v5
id: cache
with:
path: app/desktop/windows-setup/target/release
key: windows-rust-tools-v1-${{ hashFiles('app/desktop/windows-setup/Cargo.lock') }}
restore-keys: |
windows-rust-tools-v1-
+3 -3
View File
@@ -10,14 +10,14 @@ inputs:
runs:
using: composite
steps:
- uses: actions/setup-java@v4
- uses: actions/setup-java@v5
with:
distribution: temurin
java-version: "17"
architecture: ${{ inputs.java-architecture }}
- uses: gradle/actions/setup-gradle@v4
- uses: gradle/actions/setup-gradle@v5
with:
gradle-version: wrapper
cache-read-only: false
add-job-summary: true
add-job-summary: on-failure
+8 -11
View File
@@ -16,26 +16,23 @@ concurrency:
cancel-in-progress: true
env:
GRADLE_OPTS: -Dorg.gradle.jvmargs=-Xmx6g -Dkotlin.daemon.jvm.options=-Xmx6g
GRADLE_OPTS: >-
-Dorg.gradle.jvmargs=-Xmx6g
-Dkotlin.daemon.jvm.options=-Xmx6g
-Dorg.gradle.parallel=true
jobs:
windows-x64:
runs-on: windows-latest
timeout-minutes: 45
steps:
- uses: actions/checkout@v4
- uses: actions/setup-java@v4
with:
distribution: temurin
java-version: "17"
- uses: gradle/actions/setup-gradle@v4
with:
gradle-version: wrapper
- uses: actions/checkout@v5
- uses: ./.github/actions/setup-java-gradle
- uses: dtolnay/rust-toolchain@stable
with:
targets: x86_64-pc-windows-msvc
- name: Cache Cargo
uses: actions/cache@v4
uses: actions/cache@v5
with:
path: |
~/.cargo/registry
@@ -62,7 +59,7 @@ jobs:
run: |
export FROMCHAT_PACKAGING_JDK="$JAVA_HOME"
./gradlew :app:desktop:packageBetaWindows -PbetaDesktop -PdesktopArch=x64 --no-daemon --console=plain
- uses: actions/upload-artifact@v4
- uses: actions/upload-artifact@v5
with:
name: windows-x64-installer
path: app/desktop/build/distributions/release/FromChat-Setup-*-beta2.exe
+73 -76
View File
@@ -24,7 +24,10 @@ concurrency:
cancel-in-progress: true
env:
GRADLE_OPTS: -Dorg.gradle.jvmargs=-Xmx6g -Dkotlin.daemon.jvm.options=-Xmx6g
GRADLE_OPTS: >-
-Dorg.gradle.jvmargs=-Xmx6g
-Dkotlin.daemon.jvm.options=-Xmx6g
-Dorg.gradle.parallel=true
jobs:
resolve-version:
@@ -55,64 +58,57 @@ jobs:
env:
FROMCHAT_PREBUILT_PROGUARD: "0"
steps:
- uses: actions/checkout@v4
- uses: actions/setup-java@v4
with:
distribution: temurin
java-version: "17"
- uses: gradle/actions/setup-gradle@v4
with:
gradle-version: wrapper
- uses: actions/checkout@v5
- uses: ./.github/actions/setup-java-gradle
- uses: ./.github/actions/set-version
with:
version: ${{ needs.resolve-version.outputs.version }}
- uses: ./.github/actions/cache-desktop-proguard
id: proguard-cache
- name: Compile and ProGuard release desktop jars
if: steps.proguard-cache.outputs.cache-hit != 'true'
run: ./gradlew :app:desktop:exportReleaseProguardForCi --no-daemon --console=plain
- uses: actions/upload-artifact@v4
- uses: actions/upload-artifact@v5
with:
name: desktop-proguard
path: app/desktop/build/ci/proguard/
if-no-files-found: error
retention-days: 7
retention-days: 3
windows-common:
needs: resolve-version
runs-on: windows-latest
timeout-minutes: 30
steps:
- uses: actions/checkout@v4
- uses: actions/setup-java@v4
with:
distribution: temurin
java-version: "17"
- uses: gradle/actions/setup-gradle@v4
with:
gradle-version: wrapper
- uses: actions/checkout@v5
- uses: ./.github/actions/setup-java-gradle
- uses: ./.github/actions/set-version
with:
version: ${{ needs.resolve-version.outputs.version }}
- uses: dtolnay/rust-toolchain@stable
with:
targets: x86_64-pc-windows-msvc
- name: Cache Cargo
uses: actions/cache@v4
- name: Cache Cargo registry
uses: actions/cache@v5
with:
path: |
~/.cargo/registry
~/.cargo/git
app/desktop/windows-setup/target
key: cargo-windows-${{ runner.os }}-${{ hashFiles('app/desktop/windows-setup/Cargo.lock') }}
key: cargo-registry-${{ runner.os }}-${{ hashFiles('app/desktop/windows-setup/Cargo.lock') }}
restore-keys: |
cargo-windows-${{ runner.os }}-
cargo-registry-${{ runner.os }}-
- uses: ./.github/actions/cache-windows-rust-tools
id: rust-tools-cache
- name: Build Windows installer Rust tooling
if: steps.rust-tools-cache.outputs.cache-hit != 'true'
shell: bash
run: ./gradlew :app:desktop:buildWindowsSetupRust --no-daemon --console=plain
- uses: actions/upload-artifact@v4
- uses: actions/upload-artifact@v5
with:
name: windows-rust-tools
path: app/desktop/windows-setup/target/release/*.exe
if-no-files-found: error
retention-days: 7
retention-days: 3
windows-package:
needs: [resolve-version, desktop-proguard, windows-common]
@@ -129,28 +125,27 @@ jobs:
runs-on: ${{ matrix.runner }}
timeout-minutes: 60
steps:
- uses: actions/checkout@v4
- uses: actions/checkout@v5
- name: Ensure ARM64 packaging JDK
if: matrix.arch == 'arm64'
shell: cmd
run: call scripts\ensure-windows-arm64-jdk.cmd
- uses: actions/setup-java@v4
- uses: ./.github/actions/setup-java-gradle
if: matrix.arch == 'x64'
with:
distribution: temurin
java-version: "17"
- uses: gradle/actions/setup-gradle@v4
- uses: gradle/actions/setup-gradle@v5
if: matrix.arch == 'arm64'
with:
gradle-version: wrapper
add-job-summary: on-failure
- uses: ./.github/actions/set-version
with:
version: ${{ needs.resolve-version.outputs.version }}
- uses: actions/download-artifact@v4
- uses: actions/download-artifact@v5
with:
name: desktop-proguard
path: app/desktop/build/prebuilt/main-release/proguard
- name: Restore Windows Rust installer tools
uses: actions/download-artifact@v4
uses: actions/download-artifact@v5
with:
name: windows-rust-tools
path: app/desktop/windows-setup/target/release
@@ -170,7 +165,7 @@ jobs:
args+=("-PwindowsArm64")
fi
./gradlew "${args[@]}"
- uses: actions/upload-artifact@v4
- uses: actions/upload-artifact@v5
with:
name: windows-${{ matrix.arch }}
path: app/desktop/build/distributions/release/*-windows-${{ matrix.arch }}.exe
@@ -189,30 +184,22 @@ jobs:
runs-on: macos-latest
timeout-minutes: 60
steps:
- uses: actions/checkout@v4
- uses: actions/setup-java@v4
- uses: actions/checkout@v5
- uses: ./.github/actions/setup-java-gradle
if: matrix.arch == 'x64'
with:
distribution: temurin
java-version: "17"
architecture: x64
- uses: actions/setup-java@v4
java-architecture: x64
- uses: ./.github/actions/setup-java-gradle
if: matrix.arch == 'arm64'
with:
distribution: temurin
java-version: "17"
- uses: gradle/actions/setup-gradle@v4
with:
gradle-version: wrapper
- uses: ./.github/actions/set-version
with:
version: ${{ needs.resolve-version.outputs.version }}
- uses: actions/download-artifact@v4
- uses: actions/download-artifact@v5
with:
name: desktop-proguard
path: app/desktop/build/prebuilt/main-release/proguard
- name: Cache DMG background tooling
uses: actions/cache@v4
uses: actions/cache@v5
with:
path: |
app/desktop/dmg-background/node_modules
@@ -226,14 +213,14 @@ jobs:
fi
DMG_DIR="app/desktop/dmg-background"
if [[ ! -f "$DMG_DIR/node_modules/playwright/package.json" ]]; then
npm --prefix "$DMG_DIR" install --no-fund --no-audit
npm --prefix "$DMG_DIR" ci --no-fund --no-audit
npm --prefix "$DMG_DIR" exec playwright install chromium
fi
- name: Package macOS ${{ matrix.arch }}
run: |
export FROMCHAT_PACKAGING_JDK="$JAVA_HOME"
./gradlew :app:desktop:packageReleaseMac -PdesktopArch=${{ matrix.arch }} --no-daemon --console=plain
- uses: actions/upload-artifact@v4
- uses: actions/upload-artifact@v5
with:
name: macos-${{ matrix.arch }}
path: app/desktop/build/distributions/release/*-macOS-${{ matrix.arch }}.dmg
@@ -256,25 +243,20 @@ jobs:
runs-on: ${{ matrix.runner }}
timeout-minutes: 45
steps:
- uses: actions/checkout@v4
- uses: actions/setup-java@v4
with:
distribution: temurin
java-version: "17"
- uses: gradle/actions/setup-gradle@v4
with:
gradle-version: wrapper
- uses: actions/checkout@v5
- uses: ./.github/actions/setup-java-gradle
- uses: ./.github/actions/set-version
with:
version: ${{ needs.resolve-version.outputs.version }}
- uses: actions/download-artifact@v4
- uses: actions/download-artifact@v5
with:
name: desktop-proguard
path: app/desktop/build/prebuilt/main-release/proguard
- name: Install Linux packaging tools
run: |
sudo apt-get update
sudo apt-get install -y fakeroot rpm binutils libfuse2 wget
sudo DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends \
fakeroot rpm binutils libfuse2 wget
CACHE_DIR="${RUNNER_TOOL_CACHE}/appimagetool"
mkdir -p "$CACHE_DIR"
TOOL="$CACHE_DIR/appimagetool-${{ matrix.arch }}.AppImage"
@@ -287,7 +269,7 @@ jobs:
run: |
export FROMCHAT_PACKAGING_JDK="$JAVA_HOME"
./gradlew :app:desktop:packageReleaseLinux -PdesktopArch=${{ matrix.arch }} --no-daemon --console=plain
- uses: actions/upload-artifact@v4
- uses: actions/upload-artifact@v5
with:
name: linux-${{ matrix.arch }}
path: |
@@ -301,20 +283,14 @@ jobs:
runs-on: ubuntu-latest
timeout-minutes: 60
steps:
- uses: actions/checkout@v4
- uses: actions/setup-java@v4
with:
distribution: temurin
java-version: "17"
- uses: gradle/actions/setup-gradle@v4
with:
gradle-version: wrapper
- uses: android-actions/setup-android@v3
- uses: actions/checkout@v5
- uses: ./.github/actions/setup-java-gradle
- uses: android-actions/setup-android@v4
- uses: ./.github/actions/set-version
with:
version: ${{ needs.resolve-version.outputs.version }}
- name: Cache Android SDK extras
uses: actions/cache@v4
uses: actions/cache@v5
with:
path: |
~/.android/build-cache
@@ -353,7 +329,7 @@ jobs:
mkdir -p release-staging
APK="$(find app/android/build/outputs/apk/release -name '*release*.apk' | head -n 1)"
cp "$APK" "release-staging/FromChat-${{ needs.resolve-version.outputs.version }}-android-universal.apk"
- uses: actions/upload-artifact@v4
- uses: actions/upload-artifact@v5
with:
name: android
path: release-staging/*.apk
@@ -371,8 +347,19 @@ jobs:
permissions:
contents: write
steps:
- uses: actions/download-artifact@v4
- uses: actions/checkout@v5
with:
sparse-checkout: |
RELEASE_NOTES.md
sparse-checkout-cone-mode: false
- uses: actions/download-artifact@v5
with:
pattern: |
windows-*
macos-*
linux-*
android
merge-multiple: true
path: artifacts
- name: Collect release assets
run: |
@@ -384,7 +371,7 @@ jobs:
-name '*.AppImage' -o \
-name '*.exe' -o \
-name '*.apk' \
\) -exec cp {} release-assets/ \;
\) -exec cp -t release-assets {} +
ls -la release-assets
VERSION="${{ needs.resolve-version.outputs.version }}"
for pattern in \
@@ -405,13 +392,23 @@ jobs:
exit 1
fi
done
- name: Prepare release notes
run: |
VERSION="${{ needs.resolve-version.outputs.version }}"
{
echo "# FromChat ${VERSION}"
echo ""
cat RELEASE_NOTES.md
} > release-body.md
- name: Publish GitHub Release
uses: softprops/action-gh-release@v2
with:
tag_name: ${{ needs.resolve-version.outputs.tag }}
name: FromChat ${{ needs.resolve-version.outputs.version }}
body_path: release-body.md
draft: false
generate_release_notes: true
prerelease: false
generate_release_notes: false
files: release-assets/*
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}