Skip to content

[feature] Add transition for ListDetailSceneStrategy.detailPane() pag… #330

[feature] Add transition for ListDetailSceneStrategy.detailPane() pag…

[feature] Add transition for ListDetailSceneStrategy.detailPane() pag… #330

Workflow file for this run

name: Pre-Release
# Trigger
on:
workflow_dispatch:
push:
branches:
- 'master'
paths-ignore:
- '**.md'
- 'doc/**'
- 'image/**'
jobs:
build:
name: Build for ${{ matrix.target-platform }}
runs-on: ${{ matrix.os }}
strategy:
matrix:
include:
- os: ubuntu-latest
target-platform: Android
build-command: ./gradlew assembleGitHubRelease
artifact-path: [ platform/android/app/build/outputs/apk/GitHub/release/*arm64-v8a*.apk,
platform/android/app/build/outputs/apk/GitHub/release/*armeabi-v7a*.apk,
platform/android/app/build/outputs/apk/GitHub/release/*x86_64*.apk,
'platform/android/app/build/outputs/apk/GitHub/release/*x86_[!6]*.apk',
platform/android/app/build/outputs/apk/GitHub/release/*universal*.apk,
platform/android/app/build/outputs/mapping/GitHubRelease/mapping.txt ]
artifact-name: [ Pre-Release Android APK (arm64-v8a),
Pre-Release Android APK (armeabi-v7a),
Pre-Release Android APK (x86_64),
Pre-Release Android APK (x86),
Pre-Release Android APK (universal),
Pre-Release Android Mapping ]
- os: macos-26
target-platform: Jvm macOS arm64
build-command: ./gradlew packageReleaseDistributionForCurrentOS
artifact-path: [ shared/build/compose/binaries/main-release/dmg/*.dmg ]
artifact-name: [ Pre-Release macOS DMG (Jvm arm64), Skipped, Skipped, Skipped, Skipped, Skipped ]
- os: macos-26-intel
target-platform: Jvm macOS x64
build-command: ./gradlew packageReleaseDistributionForCurrentOS
artifact-path: [ shared/build/compose/binaries/main-release/dmg/*.dmg ]
artifact-name: [ Pre-Release macOS DMG (Jvm x64), Skipped, Skipped, Skipped, Skipped, Skipped ]
- os: windows-latest
target-platform: Jvm Windows x64
build-command: ./gradlew createReleaseDistributable
artifact-path: [ shared/build/compose/binaries/main-release/app/ ]
artifact-name: [ Pre-Release Windows Portable ZIP (Jvm x64), Skipped, Skipped, Skipped, Skipped, Skipped ]
- os: windows-11-arm
target-platform: Jvm Windows arm64
build-command: ./gradlew createReleaseDistributable
artifact-path: [ shared/build/compose/binaries/main-release/app/ ]
artifact-name: [ Pre-Release Windows Portable ZIP (Jvm arm64), Skipped, Skipped, Skipped, Skipped, Skipped ]
- os: macos-26
target-platform: Native macOS arm64
build-command: ./gradlew packageDmgNativeReleaseMacosArm64
artifact-path: [ shared/build/compose/binaries/main/native-macosArm64-release-dmg/*.dmg ]
artifact-name: [ Pre-Release macOS DMG (Native arm64), Skipped, Skipped, Skipped, Skipped, Skipped ]
steps:
- name: Checkout Repository
uses: actions/checkout@v6
- name: Setup JDK 21
uses: actions/setup-java@v5
with:
distribution: temurin
java-version: 21
- name: Setup Gradle
uses: gradle/actions/setup-gradle@v6
- name: Checkout Secret
if: matrix.target-platform == 'Android'
uses: actions/checkout@v6
with:
repository: ${{ secrets.SECRET_REPO }}
token: ${{ secrets.TOKEN }} # Repo token
path: secret
- name: Copy Secret Files
if: matrix.target-platform == 'Android'
run: |
cp secret/PodAura/key.jks ./
cp secret/PodAura/signing.properties ./
rm -rf ./secret
# Build
- name: Build with Gradle
run: ${{ matrix.build-command }}
- name: Upload Artifact - ${{ matrix.artifact-name[0] }}
uses: actions/upload-artifact@v7
with:
name: ${{ matrix.artifact-name[0] }}
path: ${{ matrix.artifact-path[0] }}
compression-level: 9
- name: Upload Artifact - ${{ matrix.artifact-name[1] }}
if: matrix.artifact-path[1] != null
uses: actions/upload-artifact@v7
with:
name: ${{ matrix.artifact-name[1] }}
path: ${{ matrix.artifact-path[1] }}
compression-level: 9
- name: Upload Artifact - ${{ matrix.artifact-name[2] }}
if: matrix.artifact-path[2] != null
uses: actions/upload-artifact@v7
with:
name: ${{ matrix.artifact-name[2] }}
path: ${{ matrix.artifact-path[2] }}
compression-level: 9
- name: Upload Artifact - ${{ matrix.artifact-name[3] }}
if: matrix.artifact-path[3] != null
uses: actions/upload-artifact@v7
with:
name: ${{ matrix.artifact-name[3] }}
path: ${{ matrix.artifact-path[3] }}
compression-level: 9
- name: Upload Artifact - ${{ matrix.artifact-name[4] }}
if: matrix.artifact-path[4] != null
uses: actions/upload-artifact@v7
with:
name: ${{ matrix.artifact-name[4] }}
path: ${{ matrix.artifact-path[4] }}
compression-level: 9
- name: Upload Artifact - ${{ matrix.artifact-name[5] }}
if: matrix.artifact-path[5] != null
uses: actions/upload-artifact@v7
with:
name: ${{ matrix.artifact-name[5] }}
path: ${{ matrix.artifact-path[5] }}
compression-level: 9
- name: Get File Path
if: success() && matrix.target-platform == 'Android' && github.ref == 'refs/heads/master' && contains(github.event.head_commit.message, '[skip_post]') == false
run: |
echo "PRE_RELEASE_APK_ARM64_V8=$(find platform/android/app/build/outputs/apk/GitHub/release -name '*arm64-v8a*.apk' -type f | head -1)" >> $GITHUB_ENV
# Send to Telegram
- name: Post to Telegram Channel
if: success() && matrix.target-platform == 'Android' && github.ref == 'refs/heads/master' && contains(github.event.head_commit.message, '[skip_post]') == false
env:
CHANNEL_ID: ${{ secrets.TELEGRAM_TO }}
BOT_TOKEN: ${{ secrets.TELEGRAM_TOKEN }}
PRE_RELEASE_ARM64_V8: ${{ env.PRE_RELEASE_APK_ARM64_V8 }}
COMMIT_MESSAGE: |+
GitHub New CI: PodAura
`${{ github.event.head_commit.message }}`
by `${{ github.event.head_commit.author.name }}`
Workflow run [here](${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }})
Commit details [here](${{ github.event.head_commit.url }})
run: |
ESCAPED=`python3 -c 'import json,os,urllib.parse; print(urllib.parse.quote(json.dumps(os.environ["COMMIT_MESSAGE"])))'`
curl -v "https://api.telegram.org/bot${BOT_TOKEN}/sendMediaGroup?chat_id=${CHANNEL_ID}&media=%5B%7B%22type%22%3A%22document%22%2C%20%22media%22%3A%22attach%3A%2F%2Fpre_release_arm64_v8%22%2C%22parse_mode%22%3A%22MarkdownV2%22%2C%22caption%22%3A${ESCAPED}%7D%5D" -F pre_release_arm64_v8="@$PRE_RELEASE_ARM64_V8"