@@ -102,7 +102,7 @@ jobs:
102102 contents : read
103103 packages : read
104104 container :
105- image : ghcr.io/${{ github.repository_owner }}/stackwallet-ci:latest
105+ image : ghcr.io/${{ github.repository_owner }}/stackwallet-ci:android
106106 credentials :
107107 username : ${{ github.actor }}
108108 password : ${{ github.token }}
@@ -190,6 +190,12 @@ jobs:
190190 - name : Build APKs
191191 run : flutter build apk --split-per-abi --release
192192
193+ - name : Clean intermediates before AAB
194+ run : |
195+ rm -rf build/app/intermediates
196+ rm -rf build/app/tmp
197+ find build -name '*.o' -delete 2>/dev/null || true
198+
193199 - name : Build AAB
194200 run : flutter build appbundle --release
195201
@@ -484,9 +490,205 @@ jobs:
484490 name : stack_wallet-ios-aarch64-${{ steps.ver.outputs.version }}
485491 path : stack_wallet-ios-aarch64-${{ steps.ver.outputs.version }}.ipa
486492
493+ build-campfire-linux :
494+ runs-on : ubuntu-24.04
495+ permissions :
496+ contents : read
497+ packages : read
498+ container :
499+ image : ghcr.io/${{ github.repository_owner }}/stackwallet-ci:latest
500+ credentials :
501+ username : ${{ github.actor }}
502+ password : ${{ github.token }}
503+ steps :
504+ - uses : actions/checkout@v6
505+ with :
506+ fetch-depth : 0
507+ submodules : recursive
508+
509+ - name : Set version
510+ id : ver
511+ run : |
512+ if [ "${{ github.ref_type }}" = "tag" ]; then
513+ VERSION="${{ github.ref_name }}"
514+ VERSION="${VERSION#v}"
515+ BUILD_NUMBER="${{ github.run_number }}"
516+ elif [ -n "${{ inputs.version }}" ]; then
517+ VERSION="${{ inputs.version }}"
518+ BUILD_NUMBER="${{ inputs.build_number }}"
519+ else
520+ VERSION="0.0.0-staging.${{ github.run_number }}"
521+ BUILD_NUMBER="${{ github.run_number }}"
522+ fi
523+ echo "version=${VERSION}" >> $GITHUB_OUTPUT
524+ echo "build_number=${BUILD_NUMBER}" >> $GITHUB_OUTPUT
525+
526+ - name : Configure app
527+ run : |
528+ cd scripts
529+ echo "yes" | ./build_app.sh \
530+ -v "${{ steps.ver.outputs.version }}" \
531+ -b "${{ steps.ver.outputs.build_number }}" \
532+ -p linux -a campfire -d -s
533+
534+ - name : Get dependencies
535+ run : flutter pub get
536+
537+ - name : Decode secrets
538+ env :
539+ CHANGE_NOW : ${{ secrets.CHANGE_NOW }}
540+ run : echo "$CHANGE_NOW" | base64 --decode > lib/external_api_keys.dart
541+
542+ - name : Build
543+ env :
544+ USE_SYSTEM_SECURE_STORAGE_DEPS : " 1"
545+ run : flutter build linux --release --verbose
546+
547+ - name : Package
548+ run : |
549+ tar -czf "campfire-linux-x86_64-${{ steps.ver.outputs.version }}.tar.gz" \
550+ -C build/linux/x64/release bundle
551+
552+ - uses : actions/upload-artifact@v4
553+ with :
554+ name : campfire-linux-x86_64-${{ steps.ver.outputs.version }}.tar.gz
555+ path : campfire-linux-x86_64-${{ steps.ver.outputs.version }}.tar.gz
556+
557+ build-stack-duo-linux :
558+ runs-on : ubuntu-24.04
559+ permissions :
560+ contents : read
561+ packages : read
562+ container :
563+ image : ghcr.io/${{ github.repository_owner }}/stackwallet-ci:latest
564+ credentials :
565+ username : ${{ github.actor }}
566+ password : ${{ github.token }}
567+ steps :
568+ - uses : actions/checkout@v6
569+ with :
570+ fetch-depth : 0
571+ submodules : recursive
572+
573+ - name : Set version
574+ id : ver
575+ run : |
576+ if [ "${{ github.ref_type }}" = "tag" ]; then
577+ VERSION="${{ github.ref_name }}"
578+ VERSION="${VERSION#v}"
579+ BUILD_NUMBER="${{ github.run_number }}"
580+ elif [ -n "${{ inputs.version }}" ]; then
581+ VERSION="${{ inputs.version }}"
582+ BUILD_NUMBER="${{ inputs.build_number }}"
583+ else
584+ VERSION="0.0.0-staging.${{ github.run_number }}"
585+ BUILD_NUMBER="${{ github.run_number }}"
586+ fi
587+ echo "version=${VERSION}" >> $GITHUB_OUTPUT
588+ echo "build_number=${BUILD_NUMBER}" >> $GITHUB_OUTPUT
589+
590+ - name : Configure app
591+ run : |
592+ cd scripts
593+ echo "yes" | ./build_app.sh \
594+ -v "${{ steps.ver.outputs.version }}" \
595+ -b "${{ steps.ver.outputs.build_number }}" \
596+ -p linux -a stack_duo -d -s
597+
598+ - name : Get dependencies
599+ run : flutter pub get
600+
601+ - name : Decode secrets
602+ env :
603+ CHANGE_NOW : ${{ secrets.CHANGE_NOW }}
604+ run : echo "$CHANGE_NOW" | base64 --decode > lib/external_api_keys.dart
605+
606+ - name : Build
607+ env :
608+ USE_SYSTEM_SECURE_STORAGE_DEPS : " 1"
609+ run : flutter build linux --release --verbose
610+
611+ - name : Package
612+ run : |
613+ tar -czf "stack_duo-linux-x86_64-${{ steps.ver.outputs.version }}.tar.gz" \
614+ -C build/linux/x64/release bundle
615+
616+ - uses : actions/upload-artifact@v4
617+ with :
618+ name : stack_duo-linux-x86_64-${{ steps.ver.outputs.version }}.tar.gz
619+ path : stack_duo-linux-x86_64-${{ steps.ver.outputs.version }}.tar.gz
620+
621+
622+ build-flatpak :
623+ runs-on : ubuntu-24.04
624+ needs : build-linux
625+ steps :
626+ - uses : actions/checkout@v6
627+
628+ - name : Set version
629+ id : ver
630+ run : |
631+ if [ "${{ github.ref_type }}" = "tag" ]; then
632+ VERSION="${{ github.ref_name }}"
633+ VERSION="${VERSION#v}"
634+ elif [ -n "${{ inputs.version }}" ]; then
635+ VERSION="${{ inputs.version }}"
636+ else
637+ VERSION="0.0.0-staging.${{ github.run_number }}"
638+ fi
639+ echo "version=${VERSION}" >> $GITHUB_OUTPUT
640+
641+ - name : Download Linux bundle
642+ uses : actions/download-artifact@v4
643+ with :
644+ name : stack_wallet-linux-x86_64-${{ steps.ver.outputs.version }}
645+
646+ - name : Stage bundle and icon
647+ run : |
648+ tar -xzf "stack_wallet-linux-x86_64-${{ steps.ver.outputs.version }}.tar.gz" -C flatpak/
649+ cp asset_sources/icon/stack_wallet/icon.png flatpak/com.cypherstack.stackwallet.png
650+
651+ - name : Install Flatpak tools
652+ run : |
653+ sudo apt-get update -q
654+ sudo apt-get install -y flatpak flatpak-builder
655+
656+ - name : Set up Flathub remote
657+ run : flatpak remote-add --user --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo
658+
659+ - name : Cache Flatpak SDK
660+ uses : actions/cache@v4
661+ with :
662+ path : ~/.local/share/flatpak
663+ key : flatpak-freedesktop-24.08-v1
664+
665+ - name : Install Flatpak SDK
666+ run : |
667+ flatpak install --user --noninteractive flathub \
668+ org.freedesktop.Platform//24.08 \
669+ org.freedesktop.Sdk//24.08
670+
671+ - name : Build Flatpak
672+ run : |
673+ flatpak-builder --user --force-clean \
674+ --repo=flatpak-repo \
675+ build-flatpak flatpak/com.cypherstack.stackwallet.yaml
676+
677+ - name : Bundle Flatpak
678+ run : |
679+ flatpak build-bundle flatpak-repo \
680+ --runtime-repo=https://flathub.org/repo/flathub.flatpakrepo \
681+ "stack_wallet-linux-x86_64-${{ steps.ver.outputs.version }}.flatpak" \
682+ com.cypherstack.stackwallet
683+
684+ - uses : actions/upload-artifact@v4
685+ with :
686+ name : stack_wallet-flatpak-x86_64-${{ steps.ver.outputs.version }}
687+ path : stack_wallet-linux-x86_64-${{ steps.ver.outputs.version }}.flatpak
688+
487689 release :
488690 if : github.ref_type == 'tag'
489- needs : [build-linux, build-android, build-windows, build-macos, build-ios]
691+ needs : [build-linux, build-android, build-windows, build-macos, build-ios, build-flatpak ]
490692 runs-on : ubuntu-latest
491693 permissions :
492694 contents : write
@@ -503,7 +705,7 @@ jobs:
503705 name=$(basename "$dir")
504706 (cd "$dir" && zip -r "../../release-files/${name}.zip" .)
505707 done
506- find artifacts/ \( -name "*.tar.gz" -o -name "*.zip" -o -name "*.ipa" \) -mindepth 2 -exec mv {} release-files/ \;
708+ find artifacts/ \( -name "*.tar.gz" -o -name "*.zip" -o -name "*.ipa" -o -name "*.flatpak" \) -mindepth 2 -exec mv {} release-files/ \;
507709 find artifacts/ -name "*.apk" -mindepth 2 -exec mv {} release-files/ \;
508710
509711 - uses : softprops/action-gh-release@v2
0 commit comments