21
21
- name : ⬆️ Checkout
22
22
uses : actions/checkout@v5
23
23
- name : 🔧 Setup java
24
- uses : actions/setup-java@v4
24
+ uses : actions/setup-java@v5
25
25
with :
26
26
java-version : " 17"
27
27
distribution : " temurin"
@@ -56,30 +56,59 @@ jobs:
56
56
run : |
57
57
flutter build apk -v --release --flavor nightly --dart-define=flavor=nightly
58
58
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
59
64
- name : 🏭 Build production
60
65
if : ${{ github.ref == 'refs/tags/stable' || (github.event_name == 'release' && !github.event.release.prerelease) }}
61
66
run : |
62
67
flutter build apk -v --release --flavor production
63
68
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
64
74
- name : Archive
65
75
uses : actions/upload-artifact@v4
66
76
with :
67
77
name : apk-build
68
78
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
69
84
- name : 🏭 Build architecture nightly
70
85
if : ${{ github.ref != 'refs/tags/stable' && (github.event_name != 'release' || github.event.release.prerelease) }}
71
86
run : |
72
87
flutter build apk -v --release --target-platform android-arm,android-arm64,android-x64 --split-per-abi --flavor nightly --dart-define=flavor=nightly
73
88
cp build/app/outputs/flutter-apk/app-armeabi-v7a-nightly-release.apk linwood-setonix-android-arm.apk
74
89
cp build/app/outputs/flutter-apk/app-arm64-v8a-nightly-release.apk linwood-setonix-android-arm64.apk
75
90
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
76
98
- name : 🏭 Build architecture production
77
99
if : ${{ github.ref == 'refs/tags/stable' || (github.event_name == 'release' && !github.event.release.prerelease) }}
78
100
run : |
79
101
flutter build apk -v --release --target-platform android-arm,android-arm64,android-x64 --split-per-abi --flavor production
80
102
cp build/app/outputs/flutter-apk/app-armeabi-v7a-production-release.apk linwood-setonix-android-arm.apk
81
103
cp build/app/outputs/flutter-apk/app-arm64-v8a-production-release.apk linwood-setonix-android-arm64.apk
82
104
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
83
112
- name : Archive
84
113
uses : actions/upload-artifact@v4
85
114
with :
@@ -104,6 +133,21 @@ jobs:
104
133
with :
105
134
name : corepack
106
135
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
107
151
build-windows :
108
152
runs-on : windows-2025
109
153
defaults :
@@ -398,9 +442,9 @@ jobs:
398
442
-
uses :
subosito/[email protected]
399
443
with :
400
444
flutter-version-file : app/pubspec.yaml
401
- - uses : actions/setup-python@v5
445
+ - uses : actions/setup-python@v6
402
446
with :
403
- python-version : " 3.12 "
447
+ python-version : " 3.13 "
404
448
- name : ✅ Enable platforms
405
449
run : flutter config --enable-macos-desktop
406
450
- name : 📦 Get dependencies
@@ -422,7 +466,7 @@ jobs:
422
466
working-directory : app/build/macos/Build/Products/Release
423
467
run : zip --symlinks -qr linwood-setonix-macos.zip setonix.app
424
468
- name : Setup node
425
- uses : actions/setup-node@v4
469
+ uses : actions/setup-node@v5
426
470
with :
427
471
node-version : 24
428
472
- name : Install appdmg
@@ -559,6 +603,43 @@ jobs:
559
603
with :
560
604
name : server-build-${{ matrix.os.label }}
561
605
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 }}
562
643
deploy :
563
644
runs-on : ubuntu-24.04
564
645
if : github.event_name != 'pull_request'
@@ -604,6 +685,18 @@ jobs:
604
685
- uses : actions/download-artifact@v5
605
686
with :
606
687
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
607
700
- uses : actions/download-artifact@v5
608
701
with :
609
702
name : windows-build
@@ -737,6 +830,10 @@ jobs:
737
830
linwood-setonix-android-arm.apk
738
831
linwood-setonix-android-arm64.apk
739
832
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
740
837
linwood-setonix-ios.ipa
741
838
checksums.txt
742
839
env :
@@ -773,6 +870,10 @@ jobs:
773
870
linwood-setonix-android-arm.apk
774
871
linwood-setonix-android-arm64.apk
775
872
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
776
877
linwood-setonix-ios.ipa
777
878
checksums.txt
778
879
env :
@@ -807,6 +908,10 @@ jobs:
807
908
linwood-setonix-android-arm.apk
808
909
linwood-setonix-android-arm64.apk
809
910
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
810
915
linwood-setonix-ios.ipa
811
916
checksums.txt
812
917
env :
@@ -840,7 +945,7 @@ jobs:
840
945
if [[ -n "$KEY_JKS" ]] ; then echo "$KEY_JKS" | base64 --decode > key.jks ; fi
841
946
echo "$PLAY_STORE_CREDENTIALS" | base64 --decode > play-store-credentials.json
842
947
- name : 🔧 Setup java
843
- uses : actions/setup-java@v4
948
+ uses : actions/setup-java@v5
844
949
with :
845
950
java-version : " 17"
846
951
distribution : " temurin"
@@ -861,7 +966,7 @@ jobs:
861
966
- name : Setup Fastlane
862
967
uses : ruby/setup-ruby@v1
863
968
with :
864
- ruby-version : " 3.4.5 "
969
+ ruby-version : " 3.4.6 "
865
970
bundler-cache : true
866
971
working-directory : app/android
867
972
- name : 🚀 Deploy to Play Store
0 commit comments