name: Flutter Release on: push: tags: - "v*" permissions: contents: write jobs: releaseAndroid: name: Release android runs-on: ubuntu-22.04 steps: - name: Checkout uses: actions/checkout@v4 - name: Install Flutter uses: subosito/flutter-action@v2 with: channel: 'stable' flutter-version: '3.24.1' - uses: actions/setup-java@v4 with: distribution: 'zulu' java-version: '17' - name: Fetch secrets run: | curl -u ${{ secrets.BASIC_AUTH }} -o android/app/app.key ${{ secrets.URL_PREFIX }}app.key curl -u ${{ secrets.BASIC_AUTH }} -o android/key.properties ${{ secrets.URL_PREFIX }}key.properties - name: Build run: dart run fl_build -p android - name: Rename for fdroid run: | mv build/app/outputs/flutter-apk/${{ env.APP_NAME }}_${{ env.BUILD_NUMBER }}_arm64.apk build/app/outputs/flutter-apk/${{ env.APP_NAME }}_v1.0.${{ env.BUILD_NUMBER }}_arm64.apk mv build/app/outputs/flutter-apk/${{ env.APP_NAME }}_${{ env.BUILD_NUMBER }}_arm.apk build/app/outputs/flutter-apk/${{ env.APP_NAME }}_v1.0.${{ env.BUILD_NUMBER }}_arm.apk mv build/app/outputs/flutter-apk/${{ env.APP_NAME }}_${{ env.BUILD_NUMBER }}_amd64.apk build/app/outputs/flutter-apk/${{ env.APP_NAME }}_v1.0.${{ env.BUILD_NUMBER }}_amd64.apk - name: Create Release uses: softprops/action-gh-release@v2 with: files: | build/app/outputs/flutter-apk/${{ env.APP_NAME }}_v1.0.${{ env.BUILD_NUMBER }}_arm64.apk build/app/outputs/flutter-apk/${{ env.APP_NAME }}_v1.0.${{ env.BUILD_NUMBER }}_arm.apk build/app/outputs/flutter-apk/${{ env.APP_NAME }}_v1.0.${{ env.BUILD_NUMBER }}_amd64.apk env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} releaseLinux: name: Release linux runs-on: ubuntu-22.04 steps: - name: Checkout uses: actions/checkout@v4 - name: Install Flutter uses: subosito/flutter-action@v2 - name: Install dependencies run: | sudo apt update # Basic sudo apt install -y clang cmake ninja-build pkg-config libgtk-3-dev libvulkan-dev desktop-file-utils # App Specific sudo apt install -y libgstreamer1.0-dev libgstreamer-plugins-base1.0-dev libunwind-dev # Packaging sudo apt install -y rpm patchelf - name: Build run: | dart run fl_build dart run flutter_distributor:main release --name linux --skip-clean - name: Rename artifacts run: | deb_name=$(ls dist/*/*.deb) mv $deb_name ${{ env.APP_NAME }}_${{ env.BUILD_NUMBER }}_amd64.deb rpm_name=$(ls dist/*/*.rpm) mv $rpm_name ${{ env.APP_NAME }}_${{ env.BUILD_NUMBER }}_amd64.rpm - name: Create Release uses: softprops/action-gh-release@v2 with: files: | ${{ env.APP_NAME }}_${{ env.BUILD_NUMBER }}_amd64.deb ${{ env.APP_NAME }}_${{ env.BUILD_NUMBER }}_amd64.rpm env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} releaseWin: name: Release windows runs-on: windows-latest steps: - name: Checkout uses: actions/checkout@v4 - name: Install Flutter uses: subosito/flutter-action@v2 - name: Build run: dart run fl_build -p windows - name: Create Release uses: softprops/action-gh-release@v2 with: files: | ${{ env.APP_NAME }}_${{ env.BUILD_NUMBER }}_windows_amd64.zip env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} # releaseApple: # name: Release ios and macos # runs-on: macos-latest # steps: # - name: Checkout # uses: actions/checkout@v4 # - name: Install Flutter # uses: subosito/flutter-action@v2 # with: # channel: 'stable' # flutter-version: '3.22.2' # - name: Build # run: dart run fl_build -p ios,mac # - name: Create Release # uses: softprops/action-gh-release@v2 # with: # files: | # ${{ env.APP_NAME }}_universal_macos.zip # ${{ env.APP_NAME }}_universal.ipa # env: # GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}