Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
36 changes: 34 additions & 2 deletions .github/workflows/android-release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,7 @@ on:
contents: write

env:
FLUTTER_VERSION: '3.24.0'
FLUTTER_VERSION: '3.27.0'

jobs:
build-android:
Expand All @@ -53,30 +53,54 @@ jobs:
distribution: 'temurin'
java-version: '17'

- name: Set up Android SDK
uses: android-actions/setup-android@v3

- name: Set up Flutter
uses: subosito/flutter-action@v2
with:
flutter-version: ${{ env.FLUTTER_VERSION }}
channel: 'stable'
cache: true

- name: Enable Android support
run: flutter config --enable-android
continue-on-error: false

- name: Create assets directory
run: mkdir -p assets/bin
continue-on-error: false

- name: Download xfg-stark-cli
run: |
curl -L -o xfg-stark-cli-linux "https://github.com/ColinRitman/xfgwin/releases/download/v0.8.8/xfg-stark-cli-linux"
chmod +x xfg-stark-cli-linux
mkdir -p assets/bin
mv xfg-stark-cli-linux assets/bin/
continue-on-error: false

- name: Cache Flutter dependencies
uses: actions/cache@v4
with:
path: |
~/.pub-cache
**/.packages
**/.flutter-plugins
**/.flutter-plugins-dependencies
key: ${{ runner.os }}-flutter-${{ hashFiles('**/pubspec.lock') }}
restore-keys: |
${{ runner.os }}-flutter-

- name: Install dependencies
run: flutter pub get
continue-on-error: false

- name: Run tests
run: flutter test
continue-on-error: false

- name: Analyze code
run: flutter analyze
continue-on-error: false

- name: Setup Android keystore
if: github.event_name == 'release' || (github.event_name == 'workflow_dispatch' && github.event.inputs.build_type == 'release')
Expand All @@ -86,24 +110,28 @@ jobs:
echo "storePassword=${{ secrets.ANDROID_STORE_PASSWORD }}" >> android/key.properties
echo "keyAlias=${{ secrets.ANDROID_KEY_ALIAS }}" >> android/key.properties
echo "keyPassword=${{ secrets.ANDROID_KEY_PASSWORD }}" >> android/key.properties
continue-on-error: false

- name: Build APK (Debug)
if: github.event_name == 'pull_request' || (github.event_name == 'workflow_dispatch' && github.event.inputs.build_type == 'debug')
run: flutter build apk --debug
continue-on-error: false

- name: Build APK (Release)
if: github.event_name == 'release' || (github.event_name == 'workflow_dispatch' && github.event.inputs.build_type == 'release')
run: |
cd android
./gradlew assembleRelease
cd ..
continue-on-error: false

- name: Build AAB (Release)
if: github.event_name == 'release' || (github.event_name == 'workflow_dispatch' && github.event.inputs.build_type == 'release')
run: |
cd android
./gradlew bundleRelease
cd ..
continue-on-error: false

- name: Sign APK with apksigner
if: github.event_name == 'release' || (github.event_name == 'workflow_dispatch' && github.event.inputs.build_type == 'release')
Expand All @@ -116,11 +144,13 @@ jobs:
--key-pass pass:${{ secrets.ANDROID_KEY_PASSWORD }} \
--out build/app/outputs/flutter-apk/app-release-signed.apk \
build/app/outputs/flutter-apk/app-release.apk
continue-on-error: false

- name: Verify APK signature
if: github.event_name == 'release' || (github.event_name == 'workflow_dispatch' && github.event.inputs.build_type == 'release')
run: |
$ANDROID_HOME/build-tools/34.0.0/apksigner verify build/app/outputs/flutter-apk/app-release-signed.apk
continue-on-error: false

- name: Create APK archive
if: github.event_name == 'release' || (github.event_name == 'workflow_dispatch' && github.event.inputs.build_type == 'release')
Expand All @@ -132,13 +162,15 @@ jobs:
cp app-release.apk XF₲-Wallet-Android-Release.apk
fi
zip -r XF₲-Wallet-Android-Release.zip XF₲-Wallet-Android-Release.apk
continue-on-error: false

- name: Create AAB archive
if: github.event_name == 'release' || (github.event_name == 'workflow_dispatch' && github.event.inputs.build_type == 'release')
run: |
cd build/app/outputs/bundle/release
cp app-release.aab XF₲-Wallet-Android-Release.aab
zip -r XF₲-Wallet-Android-Release-AAB.zip XF₲-Wallet-Android-Release.aab
continue-on-error: false

- name: Upload APK artifacts
uses: actions/upload-artifact@v4
Expand Down
118 changes: 108 additions & 10 deletions .github/workflows/flutter-desktop.yml
Original file line number Diff line number Diff line change
Expand Up @@ -41,29 +41,54 @@ jobs:
- name: Set up Flutter
uses: subosito/flutter-action@v2
with:
flutter-version: '3.24.0'
flutter-version: '3.27.0'
channel: 'stable'
cache: true

- name: Enable macOS desktop support
run: flutter config --enable-macos-desktop
continue-on-error: false

- name: Create assets directory
run: mkdir -p assets/bin
continue-on-error: false

- name: Download xfg-stark-cli
run: |
curl -L -o xfg-stark-cli-macos "https://github.com/ColinRitman/xfgwin/releases/download/v0.8.8/xfg-stark-cli-macos"
chmod +x xfg-stark-cli-macos
mkdir -p assets/bin
mv xfg-stark-cli-macos assets/bin/
continue-on-error: false

- name: Cache Flutter dependencies
uses: actions/cache@v4
with:
path: |
~/.pub-cache
**/.packages
**/.flutter-plugins
**/.flutter-plugins-dependencies
key: ${{ runner.os }}-flutter-${{ hashFiles('**/pubspec.lock') }}
restore-keys: |
${{ runner.os }}-flutter-

- name: Install dependencies
run: flutter pub get
continue-on-error: false
continue-on-error: false

- name: Build macOS desktop app
run: flutter build macos --release
continue-on-error: false

- name: Create app archive
run: |
cd build/macos/Build/Products/Release
zip -r Fuego-Wallet-macOS.zip "fuego_wallet.app"
continue-on-error: false
continue-on-error: false
continue-on-error: false
continue-on-error: false

- name: Upload build artifacts
uses: actions/upload-artifact@v4
Expand Down Expand Up @@ -91,23 +116,43 @@ jobs:
- name: Set up Flutter
uses: subosito/flutter-action@v2
with:
flutter-version: '3.24.0'
flutter-version: '3.27.0'
channel: 'stable'
cache: true

- name: Enable Windows desktop support
run: flutter config --enable-windows-desktop
continue-on-error: false

- name: Create assets directory
run: New-Item -ItemType Directory -Force -Path assets\bin
continue-on-error: false

- name: Download xfg-stark-cli
run: |
curl -L -o xfg-stark-cli-windows.exe "https://github.com/ColinRitman/xfgwin/releases/download/v0.8.8/xfg-stark-cli-windows.exe"
New-Item -ItemType Directory -Force -Path assets\bin
Move-Item xfg-stark-cli-windows.exe assets\bin\xfg-stark-cli.exe
continue-on-error: false

- name: Cache Flutter dependencies
uses: actions/cache@v4
with:
path: |
~/.pub-cache
**/.packages
**/.flutter-plugins
**/.flutter-plugins-dependencies
key: ${{ runner.os }}-flutter-${{ hashFiles('**/pubspec.lock') }}
restore-keys: |
${{ runner.os }}-flutter-

- name: Install dependencies
run: flutter pub get
continue-on-error: false

- name: Build Windows desktop app
run: flutter build windows --release
continue-on-error: false

- name: Create app archive
run: |
Expand All @@ -120,6 +165,10 @@ jobs:
} else {
Get-ChildItem build -Recurse | Where-Object { $_.Name -like "*.exe" } | Select-Object -First 1 | ForEach-Object { Compress-Archive -Path $_.DirectoryName -DestinationPath "Fuego-Wallet-Windows.zip" }
}
continue-on-error: false
continue-on-error: false
continue-on-error: false
continue-on-error: false

- name: Upload build artifacts
uses: actions/upload-artifact@v4
Expand Down Expand Up @@ -147,28 +196,48 @@ jobs:
- name: Set up Flutter
uses: subosito/flutter-action@v2
with:
flutter-version: '3.24.0'
flutter-version: '3.27.0'
channel: 'stable'
cache: true

- name: Create assets directory
run: mkdir -p assets/bin
continue-on-error: false

- name: Download xfg-stark-cli
run: |
curl -L -o xfg-stark-cli-linux "https://github.com/ColinRitman/xfgwin/releases/download/v0.8.8/xfg-stark-cli-linux"
chmod +x xfg-stark-cli-linux
mkdir -p assets/bin
mv xfg-stark-cli-linux assets/bin/
continue-on-error: false

- name: Enable Linux desktop support
run: |
sudo apt-get update
sudo apt-get install -y clang cmake ninja-build pkg-config libgtk-3-dev liblzma-dev libsecret-1-dev
flutter config --enable-linux-desktop
continue-on-error: false

- name: Cache Flutter dependencies
uses: actions/cache@v4
with:
path: |
~/.pub-cache
**/.packages
**/.flutter-plugins
**/.flutter-plugins-dependencies
key: ${{ runner.os }}-flutter-${{ hashFiles('**/pubspec.lock') }}
restore-keys: |
${{ runner.os }}-flutter-

- name: Install dependencies
run: flutter pub get
continue-on-error: false

- name: Build Linux desktop app (GLIBC 2.35)
run: |
flutter build linux --release
continue-on-error: false
# Create a portable build by copying required libraries
cd build/linux/x64/release/bundle
mkdir -p lib
Expand All @@ -187,6 +256,10 @@ jobs:
run: |
cd build/linux/x64/release/bundle
tar -czf XF₲-Wallet-Linux-GLIBC-2.31.tar.gz *
continue-on-error: false
continue-on-error: false
continue-on-error: false
continue-on-error: false

- name: Upload build artifacts
uses: actions/upload-artifact@v4
Expand All @@ -208,6 +281,8 @@ jobs:
# Download appimagetool
curl -LO https://github.com/AppImage/AppImageKit/releases/download/continuous/appimagetool-x86_64.AppImage
chmod +x appimagetool-x86_64.AppImage
# Copy icon file
cp ../../../../../../app_icon_256.png fuego_wallet.png
# Create desktop file for AppImage
cat > XF₲-Wallet.desktop << 'EOF'
[Desktop Entry]
Expand All @@ -218,13 +293,12 @@ jobs:
Icon=fuego_wallet
Categories=Finance;
EOF
# Copy icon file
cp ../../../../../app_icon_256.png fuego_wallet.png
# Create AppImage (using extraction to avoid FUSE)
./appimagetool-x86_64.AppImage --appimage-extract
./squashfs-root/AppRun . XF₲-Wallet-Linux-GLIBC-2.35.AppImage
# Clean up
rm -f appimagetool-x86_64.AppImage
continue-on-error: false

- name: Upload AppImage artifacts
uses: actions/upload-artifact@v4
Expand Down Expand Up @@ -252,32 +326,56 @@ jobs:
- name: Set up Flutter
uses: subosito/flutter-action@v2
with:
flutter-version: '3.24.0'
flutter-version: '3.27.0'
channel: 'stable'
cache: true

- name: Create assets directory
run: mkdir -p assets/bin
continue-on-error: false

- name: Download xfg-stark-cli
run: |
curl -L -o xfg-stark-cli-linux "https://github.com/ColinRitman/xfgwin/releases/download/v0.8.8/xfg-stark-cli-linux"
chmod +x xfg-stark-cli-linux
mkdir -p assets/bin
mv xfg-stark-cli-linux assets/bin/
continue-on-error: false

- name: Enable Linux desktop support
run: |
sudo apt-get update
sudo apt-get install -y clang cmake ninja-build pkg-config libgtk-3-dev liblzma-dev libsecret-1-dev
flutter config --enable-linux-desktop
continue-on-error: false

- name: Cache Flutter dependencies
uses: actions/cache@v4
with:
path: |
~/.pub-cache
**/.packages
**/.flutter-plugins
**/.flutter-plugins-dependencies
key: ${{ runner.os }}-flutter-${{ hashFiles('**/pubspec.lock') }}
restore-keys: |
${{ runner.os }}-flutter-

- name: Install dependencies
run: flutter pub get
continue-on-error: false

- name: Build Linux desktop app (Latest)
run: flutter build linux --release
continue-on-error: false

- name: Create app archive
run: |
cd build/linux/x64/release/bundle
tar -czf XF₲-Wallet-Linux-Latest.tar.gz *
continue-on-error: false
continue-on-error: false
continue-on-error: false
continue-on-error: false

- name: Upload build artifacts
uses: actions/upload-artifact@v4
Expand Down
Loading
Loading