2121 - name : ⬆️ Checkout
2222 uses : actions/checkout@v5
2323 - name : 🔧 Setup java
24- uses : actions/setup-java@v4
24+ uses : actions/setup-java@v5
2525 with :
2626 java-version : " 17"
2727 distribution : " temurin"
@@ -56,30 +56,59 @@ jobs:
5656 run : |
5757 flutter build apk -v --release --flavor nightly --dart-define=flavor=nightly
5858 cp build/app/outputs/flutter-apk/app-nightly-release.apk linwood-setonix-android.apk
59+ - name : 🏭 Build nightly (legacy packaging)
60+ if : ${{ github.ref != 'refs/tags/stable' && (github.event_name != 'release' || github.event.release.prerelease) }}
61+ run : |
62+ USE_LEGACY_PACKAGING=true flutter build apk -v --release --flavor nightly --dart-define=flavor=nightly
63+ cp build/app/outputs/flutter-apk/app-nightly-release.apk linwood-setonix-android-legacy.apk
5964 - name : 🏭 Build production
6065 if : ${{ github.ref == 'refs/tags/stable' || (github.event_name == 'release' && !github.event.release.prerelease) }}
6166 run : |
6267 flutter build apk -v --release --flavor production
6368 cp build/app/outputs/flutter-apk/app-production-release.apk linwood-setonix-android.apk
69+ - name : 🏭 Build production (legacy packaging)
70+ if : ${{ github.ref == 'refs/tags/stable' || (github.event_name == 'release' && !github.event.release.prerelease) }}
71+ run : |
72+ USE_LEGACY_PACKAGING=true flutter build apk -v --release --flavor production
73+ cp build/app/outputs/flutter-apk/app-production-release.apk linwood-setonix-android-legacy.apk
6474 - name : Archive
6575 uses : actions/upload-artifact@v4
6676 with :
6777 name : apk-build
6878 path : app/linwood-setonix-android.apk
79+ - name : Archive (legacy)
80+ uses : actions/upload-artifact@v4
81+ with :
82+ name : apk-build-legacy
83+ path : app/linwood-setonix-android-legacy.apk
6984 - name : 🏭 Build architecture nightly
7085 if : ${{ github.ref != 'refs/tags/stable' && (github.event_name != 'release' || github.event.release.prerelease) }}
7186 run : |
7287 flutter build apk -v --release --target-platform android-arm,android-arm64,android-x64 --split-per-abi --flavor nightly --dart-define=flavor=nightly
7388 cp build/app/outputs/flutter-apk/app-armeabi-v7a-nightly-release.apk linwood-setonix-android-arm.apk
7489 cp build/app/outputs/flutter-apk/app-arm64-v8a-nightly-release.apk linwood-setonix-android-arm64.apk
7590 cp build/app/outputs/flutter-apk/app-x86_64-nightly-release.apk linwood-setonix-android-x86_64.apk
91+ - name : 🏭 Build architecture nightly (legacy packaging)
92+ if : ${{ github.ref != 'refs/tags/stable' && (github.event_name != 'release' || github.event.release.prerelease) }}
93+ run : |
94+ USE_LEGACY_PACKAGING=true flutter build apk -v --release --target-platform android-arm,android-arm64,android-x64 --split-per-abi --flavor nightly --dart-define=flavor=nightly
95+ cp build/app/outputs/flutter-apk/app-armeabi-v7a-nightly-release.apk linwood-setonix-android-arm-legacy.apk
96+ cp build/app/outputs/flutter-apk/app-arm64-v8a-nightly-release.apk linwood-setonix-android-arm64-legacy.apk
97+ cp build/app/outputs/flutter-apk/app-x86_64-nightly-release.apk linwood-setonix-android-x86_64-legacy.apk
7698 - name : 🏭 Build architecture production
7799 if : ${{ github.ref == 'refs/tags/stable' || (github.event_name == 'release' && !github.event.release.prerelease) }}
78100 run : |
79101 flutter build apk -v --release --target-platform android-arm,android-arm64,android-x64 --split-per-abi --flavor production
80102 cp build/app/outputs/flutter-apk/app-armeabi-v7a-production-release.apk linwood-setonix-android-arm.apk
81103 cp build/app/outputs/flutter-apk/app-arm64-v8a-production-release.apk linwood-setonix-android-arm64.apk
82104 cp build/app/outputs/flutter-apk/app-x86_64-production-release.apk linwood-setonix-android-x86_64.apk
105+ - name : 🏭 Build architecture production (legacy packaging)
106+ if : ${{ github.ref == 'refs/tags/stable' || (github.event_name == 'release' && !github.event.release.prerelease) }}
107+ run : |
108+ USE_LEGACY_PACKAGING=true flutter build apk -v --release --target-platform android-arm,android-arm64,android-x64 --split-per-abi --flavor production
109+ cp build/app/outputs/flutter-apk/app-armeabi-v7a-production-release.apk linwood-setonix-android-arm-legacy.apk
110+ cp build/app/outputs/flutter-apk/app-arm64-v8a-production-release.apk linwood-setonix-android-arm64-legacy.apk
111+ cp build/app/outputs/flutter-apk/app-x86_64-production-release.apk linwood-setonix-android-x86_64-legacy.apk
83112 - name : Archive
84113 uses : actions/upload-artifact@v4
85114 with :
@@ -104,6 +133,21 @@ jobs:
104133 with :
105134 name : corepack
106135 path : core.stnx
136+ - name : Archive (legacy arm)
137+ uses : actions/upload-artifact@v4
138+ with :
139+ name : apk-arm-build-legacy
140+ path : app/linwood-setonix-android-arm-legacy.apk
141+ - name : Archive (legacy arm64)
142+ uses : actions/upload-artifact@v4
143+ with :
144+ name : apk-arm64-build-legacy
145+ path : app/linwood-setonix-android-arm64-legacy.apk
146+ - name : Archive (legacy x86_64)
147+ uses : actions/upload-artifact@v4
148+ with :
149+ name : apk-x86_64-build-legacy
150+ path : app/linwood-setonix-android-x86_64-legacy.apk
107151 build-windows :
108152 runs-on : windows-2025
109153 defaults :
@@ -398,9 +442,9 @@ jobs:
398442 - uses : subosito/flutter-action@v2.21.0
399443 with :
400444 flutter-version-file : app/pubspec.yaml
401- - uses : actions/setup-python@v5
445+ - uses : actions/setup-python@v6
402446 with :
403- python-version : " 3.12 "
447+ python-version : " 3.13 "
404448 - name : ✅ Enable platforms
405449 run : flutter config --enable-macos-desktop
406450 - name : 📦 Get dependencies
@@ -422,7 +466,7 @@ jobs:
422466 working-directory : app/build/macos/Build/Products/Release
423467 run : zip --symlinks -qr linwood-setonix-macos.zip setonix.app
424468 - name : Setup node
425- uses : actions/setup-node@v4
469+ uses : actions/setup-node@v5
426470 with :
427471 node-version : 24
428472 - name : Install appdmg
@@ -559,6 +603,43 @@ jobs:
559603 with :
560604 name : server-build-${{ matrix.os.label }}
561605 path : server/server-build
606+ # build-docker:
607+ # runs-on: ubuntu-24.04
608+ # if: github.event_name != 'pull_request'
609+ # steps:
610+ # - name: ⬆️ Checkout
611+ # uses: actions/checkout@v5
612+ # - name: Set Docker tag
613+ # id: docker_tag
614+ # run: |
615+ # if [[ "${GITHUB_REF}" == "refs/heads/main" ]]; then
616+ # echo "tag=latest" >> $GITHUB_ENV
617+ # elif [[ "${GITHUB_REF}" == "refs/heads/develop" ]]; then
618+ # echo "tag=dev" >> $GITHUB_ENV
619+ # elif [[ "${GITHUB_REF}" == refs/tags/v* || "${GITHUB_REF}" == "refs/tags/stable" || "${GITHUB_REF}" == "refs/tags/nightly" ]]; then
620+ # echo "tag=${GITHUB_REF#refs/tags/}" >> $GITHUB_ENV
621+ # else
622+ # echo "tag=unknown" >> $GITHUB_ENV
623+ # fi
624+ # - name: Log Docker tag
625+ # run: echo "Docker tag is ${{ env.tag }}"
626+ # - name: Login to Docker Hub
627+ # uses: docker/login-action@v3
628+ # with:
629+ # username: ${{ secrets.DOCKERHUB_USERNAME }}
630+ # password: ${{ secrets.DOCKERHUB_TOKEN }}
631+ # - name: Set up QEMU
632+ # uses: docker/setup-qemu-action@v3
633+ # - name: Set up Docker Buildx
634+ # uses: docker/setup-buildx-action@v3
635+ # - name: Build and push Docker image
636+ # uses: docker/build-push-action@v6
637+ # if: ${{ env.tag != 'unknown' }}
638+ # with:
639+ # context: .
640+ # file: ./Dockerfile
641+ # push: true
642+ # tags: linwooddev/setonix:${{ env.tag }}
562643 deploy :
563644 runs-on : ubuntu-24.04
564645 if : github.event_name != 'pull_request'
@@ -604,6 +685,18 @@ jobs:
604685 - uses : actions/download-artifact@v5
605686 with :
606687 name : apk-x86_64-build
688+ - uses : actions/download-artifact@v5
689+ with :
690+ name : apk-build-legacy
691+ - uses : actions/download-artifact@v5
692+ with :
693+ name : apk-arm-build-legacy
694+ - uses : actions/download-artifact@v5
695+ with :
696+ name : apk-arm64-build-legacy
697+ - uses : actions/download-artifact@v5
698+ with :
699+ name : apk-x86_64-build-legacy
607700 - uses : actions/download-artifact@v5
608701 with :
609702 name : windows-build
@@ -737,6 +830,10 @@ jobs:
737830 linwood-setonix-android-arm.apk
738831 linwood-setonix-android-arm64.apk
739832 linwood-setonix-android-x86_64.apk
833+ linwood-setonix-android-legacy.apk
834+ linwood-setonix-android-arm-legacy.apk
835+ linwood-setonix-android-arm64-legacy.apk
836+ linwood-setonix-android-x86_64-legacy.apk
740837 linwood-setonix-ios.ipa
741838 checksums.txt
742839 env :
@@ -773,6 +870,10 @@ jobs:
773870 linwood-setonix-android-arm.apk
774871 linwood-setonix-android-arm64.apk
775872 linwood-setonix-android-x86_64.apk
873+ linwood-setonix-android-legacy.apk
874+ linwood-setonix-android-arm-legacy.apk
875+ linwood-setonix-android-arm64-legacy.apk
876+ linwood-setonix-android-x86_64-legacy.apk
776877 linwood-setonix-ios.ipa
777878 checksums.txt
778879 env :
@@ -807,6 +908,10 @@ jobs:
807908 linwood-setonix-android-arm.apk
808909 linwood-setonix-android-arm64.apk
809910 linwood-setonix-android-x86_64.apk
911+ linwood-setonix-android-legacy.apk
912+ linwood-setonix-android-arm-legacy.apk
913+ linwood-setonix-android-arm64-legacy.apk
914+ linwood-setonix-android-x86_64-legacy.apk
810915 linwood-setonix-ios.ipa
811916 checksums.txt
812917 env :
@@ -840,7 +945,7 @@ jobs:
840945 if [[ -n "$KEY_JKS" ]] ; then echo "$KEY_JKS" | base64 --decode > key.jks ; fi
841946 echo "$PLAY_STORE_CREDENTIALS" | base64 --decode > play-store-credentials.json
842947 - name : 🔧 Setup java
843- uses : actions/setup-java@v4
948+ uses : actions/setup-java@v5
844949 with :
845950 java-version : " 17"
846951 distribution : " temurin"
@@ -861,7 +966,7 @@ jobs:
861966 - name : Setup Fastlane
862967 uses : ruby/setup-ruby@v1
863968 with :
864- ruby-version : " 3.4.5 "
969+ ruby-version : " 3.4.6 "
865970 bundler-cache : true
866971 working-directory : app/android
867972 - name : 🚀 Deploy to Play Store
0 commit comments