name: Flutter Cross Build on: push: branches: - build workflow_dispatch: jobs: build_ubuntu: runs-on: ubuntu-latest steps: - uses: actions/checkout@v2 - uses: subosito/flutter-action@v2.2.0 with: cache: true - run: | sudo apt-get update -y sudo apt-get install -y tar clang cmake ninja-build pkg-config libgtk-3-dev make libwebkit2gtk-4.0-dev keybinder-3.0 python3-pip python3-setuptools patchelf desktop-file-utils libgdk-pixbuf2.0-dev fakeroot strace fuse - run: flutter config --enable-linux-desktop - run: flutter pub get - run: dart bin/create-secrets.dart '${{ secrets.SECRET }}' - run: flutter clean - run: flutter build linux - run: make deb - run: make tar - run: wget https://github.com/AppImage/AppImageKit/releases/download/continuous/appimagetool-x86_64.AppImage -O /usr/local/bin/appimagetool - run: chmod +x /usr/local/bin/appimagetool - run: pip3 install appimage-builder - run: make appimage # Building Android Application - run: flutter build apk - uses: actions/upload-artifact@v2 with: name: Spotube-Linux-Bundle path: | build/Spotube-linux-x86_64.deb build/Spotube-linux-x86_64.tar.xz build/Spotube-*-x86_64.AppImage build/app/outputs/apk/release/app-release.apk build_windows: runs-on: windows-latest steps: - uses: actions/checkout@v2 - uses: subosito/flutter-action@v2.2.0 with: cache: true - run: flutter config --enable-windows-desktop - run: flutter pub get - run: dart bin/create-secrets.dart "${{ secrets.SECRET }}" - run: flutter build windows - run: choco install make -y - run: make innoinstall - run: make inno - run: make choco - uses: actions/upload-artifact@v2 with: name: Spotube-Windows-Bundle path: | build/installer/Spotube-windows-x86_64-setup.exe build/spotube.*.nupkg build_macos: runs-on: macos-11 steps: - uses: actions/checkout@v2 - uses: subosito/flutter-action@v2 with: cache: true - run: flutter config --enable-macos-desktop - run: flutter pub get - run: dart bin/create-secrets.dart '${{ secrets.SECRET }}' - run: flutter build macos - run: du -sh build/macos/Build/Products/Release/spotube.app - run: npm install -g appdmg - run: appdmg appdmg.json build/Spotube-macos-x86_64.dmg - uses: actions/upload-artifact@v2 with: name: Spotube-Macos-Bundle path: | build/macos/Build/Products/Release/spotube.app build/Spotube-macos-x86_64.dmg