update eth addy to banking/change fuego repo #23
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| name: XF₲ Wallet Linux App Store Release | |
| on: | |
| push: | |
| branches: [main, master] | |
| paths: | |
| - "lib/**" | |
| - "linux/**" | |
| - "snapcraft.yaml" | |
| - "flatpak/**" | |
| - "pubspec.yaml" | |
| - ".github/workflows/linux-appstore-release.yml" | |
| pull_request: | |
| branches: [main, master] | |
| paths: | |
| - "lib/**" | |
| - "linux/**" | |
| - "snapcraft.yaml" | |
| - "flatpak/**" | |
| - "pubspec.yaml" | |
| - ".github/workflows/linux-appstore-release.yml" | |
| workflow_dispatch: | |
| inputs: | |
| build_type: | |
| description: "Build type" | |
| required: true | |
| default: "release" | |
| type: choice | |
| options: | |
| - release | |
| - debug | |
| distribution_method: | |
| description: "Distribution method" | |
| required: true | |
| default: "snap" | |
| type: choice | |
| options: | |
| - snap | |
| - flatpak | |
| - appimage | |
| - all | |
| upload_to_store: | |
| description: "Upload to store" | |
| required: false | |
| default: false | |
| type: boolean | |
| release: | |
| types: [published] | |
| permissions: | |
| contents: write | |
| env: | |
| FLUTTER_VERSION: "3.24.0" | |
| SNAP_NAME: "xfg-wallet" | |
| FLATPAK_APP_ID: "com.fuego.fuego_wallet" | |
| jobs: | |
| build-snap: | |
| name: Build XF₲ Wallet (Snap Store) | |
| runs-on: ubuntu-latest | |
| if: github.event.inputs.distribution_method == 'snap' || github.event.inputs.distribution_method == 'all' || github.event_name != 'workflow_dispatch' | |
| steps: | |
| - name: Checkout code | |
| uses: actions/checkout@v4 | |
| - name: Set up Flutter | |
| uses: subosito/flutter-action@v2 | |
| with: | |
| flutter-version: ${{ env.FLUTTER_VERSION }} | |
| channel: "stable" | |
| - name: Download required binaries | |
| run: ./scripts/ensure-binaries.sh | |
| - 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 | |
| - name: Install dependencies | |
| run: flutter pub get | |
| - name: Run tests | |
| continue-on-error: true | |
| run: flutter test | |
| - name: Analyze code | |
| run: flutter analyze | |
| - name: Build Linux desktop app | |
| run: flutter build linux --release | |
| - name: Install Snapcraft | |
| run: | | |
| sudo snap install snapcraft --classic | |
| - name: Build Snap package | |
| run: | | |
| snapcraft --destructive-mode | |
| - name: Upload Snap artifacts | |
| uses: actions/upload-artifact@v4 | |
| with: | |
| name: xfg-wallet-snap | |
| path: | | |
| *.snap | |
| snap/snapcraft.yaml | |
| retention-days: 30 | |
| - name: Upload to Release | |
| if: github.event_name == 'release' | |
| uses: softprops/action-gh-release@v1 | |
| env: | |
| GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
| with: | |
| files: | | |
| *.snap | |
| tag_name: ${{ github.ref_name }} | |
| name: XF₲ Wallet Linux Snap ${{ github.ref_name }} | |
| build-flatpak: | |
| name: Build XF₲ Wallet (Flatpak) | |
| runs-on: ubuntu-latest | |
| if: github.event.inputs.distribution_method == 'flatpak' || github.event.inputs.distribution_method == 'all' || github.event_name != 'workflow_dispatch' | |
| steps: | |
| - name: Checkout code | |
| uses: actions/checkout@v4 | |
| - name: Set up Flutter | |
| uses: subosito/flutter-action@v2 | |
| with: | |
| flutter-version: ${{ env.FLUTTER_VERSION }} | |
| channel: "stable" | |
| - name: Download required binaries | |
| run: ./scripts/ensure-binaries.sh | |
| - name: Install Flatpak and dependencies | |
| run: | | |
| sudo apt-get update | |
| sudo apt-get install -y flatpak flatpak-builder | |
| flatpak remote-add --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo | |
| - name: Enable Linux desktop support | |
| run: | | |
| sudo apt-get install -y clang cmake ninja-build pkg-config libgtk-3-dev liblzma-dev libsecret-1-dev | |
| flutter config --enable-linux-desktop | |
| - name: Install dependencies | |
| run: flutter pub get | |
| - name: Run tests | |
| continue-on-error: true | |
| run: flutter test | |
| - name: Analyze code | |
| run: flutter analyze | |
| - name: Build Linux desktop app | |
| run: flutter build linux --release | |
| - name: Build Flatpak package | |
| run: | | |
| flatpak-builder --repo=repo --force-clean build-dir flatpak/com.fuego.fuego_wallet.yml | |
| - name: Create Flatpak bundle | |
| run: | | |
| flatpak build-bundle repo xfg-wallet.flatpak com.fuego.fuego_wallet | |
| - name: Upload Flatpak artifacts | |
| uses: actions/upload-artifact@v4 | |
| with: | |
| name: xfg-wallet-flatpak | |
| path: | | |
| xfg-wallet.flatpak | |
| flatpak/ | |
| retention-days: 30 | |
| - name: Upload to Release | |
| if: github.event_name == 'release' | |
| uses: softprops/action-gh-release@v1 | |
| env: | |
| GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
| with: | |
| files: xfg-wallet.flatpak | |
| tag_name: ${{ github.ref_name }} | |
| name: XF₲ Wallet Linux Flatpak ${{ github.ref_name }} | |
| build-appimage: | |
| name: Build XF₲ Wallet (AppImage) | |
| runs-on: ubuntu-latest | |
| if: github.event.inputs.distribution_method == 'appimage' || github.event.inputs.distribution_method == 'all' || github.event_name != 'workflow_dispatch' | |
| steps: | |
| - name: Checkout code | |
| uses: actions/checkout@v4 | |
| - name: Set up Flutter | |
| uses: subosito/flutter-action@v2 | |
| with: | |
| flutter-version: ${{ env.FLUTTER_VERSION }} | |
| channel: "stable" | |
| - name: Download required binaries | |
| run: ./scripts/ensure-binaries.sh | |
| - 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 | |
| - name: Install dependencies | |
| run: flutter pub get | |
| - name: Run tests | |
| continue-on-error: true | |
| run: flutter test | |
| - name: Analyze code | |
| run: flutter analyze | |
| - name: Build Linux desktop app | |
| run: flutter build linux --release | |
| - name: Create AppImage | |
| run: | | |
| cd build/linux/x64/release/bundle | |
| # Download appimagetool | |
| curl -LO https://github.com/AppImage/AppImageKit/releases/download/continuous/appimagetool-x86_64.AppImage | |
| chmod +x appimagetool-x86_64.AppImage | |
| # Create desktop file for AppImage | |
| cat > XF₲-Wallet.desktop << 'EOF' | |
| [Desktop Entry] | |
| Type=Application | |
| Name=XF₲ Wallet | |
| Comment=Privacy-focused cryptocurrency wallet | |
| Exec=fuego_wallet | |
| Icon=fuego_wallet | |
| Categories=Finance; | |
| Terminal=false | |
| EOF | |
| # Copy icon file | |
| cp ../../../../../app_icon_256.png fuego_wallet.png || cp ../../../../app_icon_256.png fuego_wallet.png | |
| # Create AppImage | |
| ./appimagetool-x86_64.AppImage . XF₲-Wallet-Linux.AppImage | |
| # Clean up | |
| rm -f appimagetool-x86_64.AppImage | |
| - name: Upload AppImage artifacts | |
| uses: actions/upload-artifact@v4 | |
| with: | |
| name: xfg-wallet-appimage | |
| path: build/linux/x64/release/bundle/XF₲-Wallet-Linux.AppImage | |
| retention-days: 30 | |
| - name: Upload to Release | |
| if: github.event_name == 'release' | |
| uses: softprops/action-gh-release@v1 | |
| env: | |
| GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
| with: | |
| files: build/linux/x64/release/bundle/XF₲-Wallet-Linux.AppImage | |
| tag_name: ${{ github.ref_name }} | |
| name: XF₲ Wallet Linux AppImage ${{ github.ref_name }} | |
| upload-to-snap-store: | |
| name: Upload to Snap Store | |
| runs-on: ubuntu-latest | |
| needs: build-snap | |
| if: github.event_name == 'release' || (github.event_name == 'workflow_dispatch' && github.event.inputs.upload_to_store == 'true') | |
| steps: | |
| - name: Checkout code | |
| uses: actions/checkout@v4 | |
| - name: Download Snap artifact | |
| uses: actions/download-artifact@v4 | |
| with: | |
| name: xfg-wallet-snap | |
| path: ./artifacts | |
| - name: Install Snapcraft | |
| run: | | |
| sudo snap install snapcraft --classic | |
| - name: Login to Snap Store | |
| run: | | |
| echo "${{ secrets.SNAP_STORE_LOGIN }}" | snapcraft login --with - | |
| - name: Upload to Snap Store | |
| run: | | |
| cd artifacts | |
| snapcraft upload *.snap --release=stable | |
| upload-to-flathub: | |
| name: Upload to Flathub | |
| runs-on: ubuntu-latest | |
| needs: build-flatpak | |
| if: github.event_name == 'release' || (github.event_name == 'workflow_dispatch' && github.event.inputs.upload_to_store == 'true') | |
| steps: | |
| - name: Checkout code | |
| uses: actions/checkout@v4 | |
| - name: Download Flatpak artifact | |
| uses: actions/download-artifact@v4 | |
| with: | |
| name: xfg-wallet-flatpak | |
| path: ./artifacts | |
| - name: Install Flatpak and dependencies | |
| run: | | |
| sudo apt-get update | |
| sudo apt-get install -y flatpak flatpak-builder | |
| - name: Setup Flathub repository | |
| run: | | |
| flatpak remote-add --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo | |
| - name: Upload to Flathub | |
| run: | | |
| # Note: This requires manual review process for Flathub | |
| echo "Flatpak package ready for Flathub submission" | |
| echo "Manual submission required at https://flathub.org/apps/submit" | |
| security-scan: | |
| name: Security Scan | |
| runs-on: ubuntu-latest | |
| needs: [build-snap, build-flatpak, build-appimage] | |
| if: github.event_name == 'release' || (github.event_name == 'workflow_dispatch' && github.event.inputs.build_type == 'release') | |
| steps: | |
| - name: Checkout code | |
| uses: actions/checkout@v4 | |
| - name: Download artifacts | |
| uses: actions/download-artifact@v4 | |
| with: | |
| name: xfg-wallet-snap | |
| path: ./artifacts/snap | |
| - name: Download Flatpak artifacts | |
| uses: actions/download-artifact@v4 | |
| with: | |
| name: xfg-wallet-flatpak | |
| path: ./artifacts/flatpak | |
| - name: Download AppImage artifacts | |
| uses: actions/download-artifact@v4 | |
| with: | |
| name: xfg-wallet-appimage | |
| path: ./artifacts/appimage | |
| - name: Run security analysis | |
| run: | | |
| echo "Running Linux App Store security analysis..." | |
| # Check for security issues in packages | |
| echo "Checking Snap package..." | |
| if [ -f "artifacts/snap/*.snap" ]; then | |
| echo "✅ Snap package found" | |
| # Basic security checks | |
| unsquashfs -l artifacts/snap/*.snap | head -20 | |
| fi | |
| echo "Checking Flatpak package..." | |
| if [ -f "artifacts/flatpak/xfg-wallet.flatpak" ]; then | |
| echo "✅ Flatpak package found" | |
| fi | |
| echo "Checking AppImage package..." | |
| if [ -f "artifacts/appimage/XF₲-Wallet-Linux.AppImage" ]; then | |
| echo "✅ AppImage package found" | |
| # Check AppImage signature | |
| file artifacts/appimage/XF₲-Wallet-Linux.AppImage | |
| fi | |
| notify-release: | |
| name: Notify Release | |
| runs-on: ubuntu-latest | |
| needs: | |
| [ | |
| build-snap, | |
| build-flatpak, | |
| build-appimage, | |
| upload-to-snap-store, | |
| upload-to-flathub, | |
| ] | |
| if: always() && github.event_name == 'release' | |
| steps: | |
| - name: Notify Discord | |
| if: env.DISCORD_WEBHOOK_URL != '' | |
| uses: Ilshidur/action-discord@master | |
| env: | |
| DISCORD_WEBHOOK_URL: ${{ secrets.DISCORD_WEBHOOK_URL }} | |
| with: | |
| args: | | |
| 🚀 **XF₲ Wallet Linux App Store Release ${{ github.ref_name }}** | |
| ✅ Linux app store packages built | |
| 📦 Available for Snap Store, Flatpak, and AppImage | |
| 🔗 [Download from GitHub Releases](https://github.com/${{ github.repository }}/releases/tag/${{ github.ref_name }}) | |
| **Build Details:** | |
| - Version: ${{ github.ref_name }} | |
| - Commit: ${{ github.sha }} | |
| - Workflow: ${{ github.workflow }} | |
| - Platform: Linux App Stores | |
| - name: Create Release Summary | |
| run: | | |
| echo "## XF₲ Wallet Linux App Store Release ${{ github.ref_name }}" >> $GITHUB_STEP_SUMMARY | |
| echo "" >> $GITHUB_STEP_SUMMARY | |
| echo "### Build Status" >> $GITHUB_STEP_SUMMARY | |
| echo "- ✅ Snap Package: Built and ready" >> $GITHUB_STEP_SUMMARY | |
| echo "- ✅ Flatpak Package: Built and ready" >> $GITHUB_STEP_SUMMARY | |
| echo "- ✅ AppImage Package: Built and ready" >> $GITHUB_STEP_SUMMARY | |
| echo "- ✅ Security scan: Completed" >> $GITHUB_STEP_SUMMARY | |
| if [ "${{ needs.upload-to-snap-store.result }}" == "success" ]; then | |
| echo "- ✅ Snap Store: Uploaded successfully" >> $GITHUB_STEP_SUMMARY | |
| else | |
| echo "- ⚠️ Snap Store: Upload skipped or failed" >> $GITHUB_STEP_SUMMARY | |
| fi | |
| if [ "${{ needs.upload-to-flathub.result }}" == "success" ]; then | |
| echo "- ✅ Flathub: Uploaded successfully" >> $GITHUB_STEP_SUMMARY | |
| else | |
| echo "- ⚠️ Flathub: Upload skipped or failed" >> $GITHUB_STEP_SUMMARY | |
| fi | |
| echo "" >> $GITHUB_STEP_SUMMARY | |
| echo "### Download Links" >> $GITHUB_STEP_SUMMARY | |
| echo "- [Snap Package](https://github.com/${{ github.repository }}/releases/download/${{ github.ref_name }}/*.snap)" >> $GITHUB_STEP_SUMMARY | |
| echo "- [Flatpak Package](https://github.com/${{ github.repository }}/releases/download/${{ github.ref_name }}/xfg-wallet.flatpak)" >> $GITHUB_STEP_SUMMARY | |
| echo "- [AppImage Package](https://github.com/${{ github.repository }}/releases/download/${{ github.ref_name }}/XF₲-Wallet-Linux.AppImage)" >> $GITHUB_STEP_SUMMARY | |
| echo "" >> $GITHUB_STEP_SUMMARY | |
| echo "### Installation Instructions" >> $GITHUB_STEP_SUMMARY | |
| echo "#### Snap Store" >> $GITHUB_STEP_SUMMARY | |
| echo "\`\`\`bash" >> $GITHUB_STEP_SUMMARY | |
| echo "sudo snap install xfg-wallet" >> $GITHUB_STEP_SUMMARY | |
| echo "\`\`\`" >> $GITHUB_STEP_SUMMARY | |
| echo "" >> $GITHUB_STEP_SUMMARY | |
| echo "#### Flatpak" >> $GITHUB_STEP_SUMMARY | |
| echo "\`\`\`bash" >> $GITHUB_STEP_SUMMARY | |
| echo "flatpak install xfg-wallet.flatpak" >> $GITHUB_STEP_SUMMARY | |
| echo "\`\`\`" >> $GITHUB_STEP_SUMMARY | |
| echo "" >> $GITHUB_STEP_SUMMARY | |
| echo "#### AppImage" >> $GITHUB_STEP_SUMMARY | |
| echo "\`\`\`bash" >> $GITHUB_STEP_SUMMARY | |
| echo "chmod +x XF₲-Wallet-Linux.AppImage" >> $GITHUB_STEP_SUMMARY | |
| echo "./XF₲-Wallet-Linux.AppImage" >> $GITHUB_STEP_SUMMARY | |
| echo "\`\`\`" >> $GITHUB_STEP_SUMMARY |