mirror of
https://github.com/KRTirtho/spotube.git
synced 2025-09-13 07:55:18 +00:00
fixed contribution.md typo
GHA scripts organized & uses flutter_distributor straight from pub.dev README updated
This commit is contained in:
parent
ae714121b8
commit
3b4603fb5d
85
.github/workflows/flutter-build.yml
vendored
85
.github/workflows/flutter-build.yml
vendored
@ -1,85 +0,0 @@
|
||||
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.LYRICS_SECRET }}' '${{ secrets.SPOTIFY_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
|
||||
- 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
|
||||
# Building Android Application
|
||||
- run: echo '${{ secrets.KEYSTORE }}' | base64 --decode > android/app/upload-keystore.jks
|
||||
- run: echo '${{ secrets.KEY_PROPERTIES }}' > android/key.properties
|
||||
- run: flutter build apk
|
||||
- run: make apk
|
||||
- uses: actions/upload-artifact@v2
|
||||
with:
|
||||
name: Spotube-Android-Bundle
|
||||
path: |
|
||||
build/Spotube-android-all-arch.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.LYRICS_SECRET }}' '${{ secrets.SPOTIFY_SECRET }}'
|
||||
- run: flutter build windows
|
||||
- run: ls build/windows/runner/Release
|
||||
- run: choco install make -y
|
||||
- run: make innoinstall
|
||||
- run: make inno
|
||||
- uses: actions/upload-artifact@v2
|
||||
with:
|
||||
name: Spotube-Windows-Bundle
|
||||
path: |
|
||||
build/installer/Spotube-windows-x86_64-setup.exe
|
||||
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.LYRICS_SECRET }}' '${{ secrets.SPOTIFY_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/Spotube-macos-x86_64.dmg
|
134
.github/workflows/spotube-nightly.yml
vendored
Normal file
134
.github/workflows/spotube-nightly.yml
vendored
Normal file
@ -0,0 +1,134 @@
|
||||
name: Spotube Nightly
|
||||
on:
|
||||
push:
|
||||
branches:
|
||||
- build
|
||||
workflow_dispatch:
|
||||
|
||||
jobs:
|
||||
build_ubuntu:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v3
|
||||
- name: Get latest tag
|
||||
id: tag
|
||||
uses: dawidd6/action-get-tag@v1
|
||||
with:
|
||||
strip_v: true
|
||||
- uses: subosito/flutter-action@v2
|
||||
with:
|
||||
cache: true
|
||||
- name: Get current date
|
||||
id: date
|
||||
run: echo "::set-output name=date::$(date +'%Y-%m-%d')"
|
||||
- run: |
|
||||
sudo apt-get update -y
|
||||
sudo apt-get install -y tar clang cmake ninja-build pkg-config libgtk-3-dev make python3-pip python3-setuptools patchelf desktop-file-utils libgdk-pixbuf2.0-dev fakeroot strace fuse libgstreamer1.0-dev libgstreamer-plugins-base1.0-dev
|
||||
- run: |
|
||||
wget -O appimage-builder-x86_64.AppImage https://github.com/AppImageCrafters/appimage-builder/releases/download/v1.0.0-beta.1/appimage-builder-1.0.0-677acbd-x86_64.AppImage
|
||||
chmod +x appimage-builder-x86_64.AppImage
|
||||
mv appimage-builder-x86_64.AppImage /usr/local/bin/appimage-builder
|
||||
# replacing & adding new release version with older version
|
||||
- run: |
|
||||
sed -i 's|%{{APPDATA_RELEASE}}%|<release version="${{ steps.tag.outputs.tag }}" date="${{ steps.date.outputs.date }}" />|' linux/com.github.KRTirtho.Spotube.appdata.xml
|
||||
|
||||
- run: |
|
||||
flutter config --enable-linux-desktop
|
||||
flutter pub get
|
||||
dart bin/create-secrets.dart '${{ secrets.LYRICS_SECRET }}' '${{ secrets.SPOTIFY_SECRET }}'
|
||||
dart pub global activate flutter_distributor
|
||||
flutter_distributor package --platform=linux --targets=deb,appimage --skip-clean
|
||||
make tar
|
||||
- run: |
|
||||
mv build/Spotube-linux-x86_64.tar.xz dist/
|
||||
mv dist/**/spotube-*-linux.deb dist/Spotube-linux-x86_64.deb
|
||||
mv dist/**/spotube-*-linux.AppImage dist/Spotube-linux-x86_64.AppImage
|
||||
- uses: actions/upload-artifact@v3
|
||||
with:
|
||||
name: Spotube-Linux-Bundle
|
||||
path: dist/
|
||||
|
||||
build_android:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v3
|
||||
- name: Get latest tag
|
||||
id: tag
|
||||
uses: dawidd6/action-get-tag@v1
|
||||
with:
|
||||
strip_v: true
|
||||
- uses: subosito/flutter-action@v2
|
||||
with:
|
||||
cache: true
|
||||
- run: |
|
||||
sudo apt-get update -y
|
||||
sudo apt-get install -y clang cmake ninja-build pkg-config libgtk-3-dev make python3-pip python3-setuptools patchelf desktop-file-utils libgdk-pixbuf2.0-dev fakeroot strace fuse
|
||||
- run: |
|
||||
flutter pub get
|
||||
dart bin/create-secrets.dart '${{ secrets.LYRICS_SECRET }}' '${{ secrets.SPOTIFY_SECRET }}'
|
||||
dart pub global activate flutter_distributor
|
||||
flutter_distributor package --platform=android --targets=apk --skip-clean
|
||||
- run: |
|
||||
mv dist/**/spotube-*-android.apk dist/Spotube-android-all-arch.apk
|
||||
- uses: actions/upload-artifact@v3
|
||||
with:
|
||||
name: Spotube-Android-Bundle
|
||||
path: dist/
|
||||
|
||||
build_windows:
|
||||
runs-on: windows-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v3
|
||||
- name: Get latest tag
|
||||
id: tag
|
||||
uses: dawidd6/action-get-tag@v1
|
||||
with:
|
||||
# Optionally strip `v` prefix
|
||||
strip_v: true
|
||||
# Replace Version in files
|
||||
- run: |
|
||||
choco install sed make -y
|
||||
sed -i "s/%{{SPOTUBE_VERSION}}%/${{ steps.tag.outputs.tag }}/" windows/runner/Runner.rc
|
||||
|
||||
# Build Windows Executable
|
||||
- uses: subosito/flutter-action@v2.2.0
|
||||
with:
|
||||
cache: true
|
||||
- run: |
|
||||
flutter config --enable-windows-desktop
|
||||
flutter pub get
|
||||
dart bin/create-secrets.dart '${{ secrets.LYRICS_SECRET }}' '${{ secrets.SPOTIFY_SECRET }}'
|
||||
dart pub global activate flutter_distributor
|
||||
make innoinstall
|
||||
flutter_distributor package --platform=windows --targets=exe --skip-clean
|
||||
|
||||
# Create Chocolatey Package
|
||||
# setting the sha256 hash for new bundle
|
||||
- run: mv dist/**/spotube-*-windows-setup.exe dist/Spotube-windows-x86_64-setup.exe
|
||||
|
||||
# Upload artifacts
|
||||
- uses: actions/upload-artifact@v3
|
||||
with:
|
||||
name: Spotube-Windows-Bundle
|
||||
path: dist/
|
||||
|
||||
|
||||
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.LYRICS_SECRET }}' '${{ secrets.SPOTIFY_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/Spotube-macos-x86_64.dmg
|
@ -1,4 +1,4 @@
|
||||
name: Spotube Build & Release
|
||||
name: Spotube Release
|
||||
on:
|
||||
release:
|
||||
types:
|
||||
@ -36,9 +36,8 @@ jobs:
|
||||
flutter pub get
|
||||
dart bin/create-secrets.dart '${{ secrets.LYRICS_SECRET }}' '${{ secrets.SPOTIFY_SECRET }}'
|
||||
dart pub global activate melos
|
||||
cd build/flutter_distributor && melos bootstrap && cd ../..
|
||||
make innoinstall
|
||||
dart build/flutter_distributor/packages/flutter_distributor/bin/main.dart package --platform=windows --targets=exe --skip-clean
|
||||
flutter_distributor package --platform=windows --targets=exe --skip-clean
|
||||
|
||||
# Create Chocolatey Package
|
||||
# setting the sha256 hash for new bundle
|
||||
@ -93,11 +92,6 @@ jobs:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v3
|
||||
- uses: actions/checkout@v3
|
||||
with:
|
||||
repository: KRTirtho/flutter_distributor
|
||||
ref: deb-implementation
|
||||
path: build/flutter_distributor
|
||||
- name: Get latest tag
|
||||
id: tag
|
||||
uses: dawidd6/action-get-tag@v1
|
||||
@ -111,7 +105,7 @@ jobs:
|
||||
run: echo "::set-output name=date::$(date +'%Y-%m-%d')"
|
||||
- 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
|
||||
sudo apt-get install -y tar clang cmake ninja-build pkg-config libgtk-3-dev make python3-pip python3-setuptools patchelf desktop-file-utils libgdk-pixbuf2.0-dev fakeroot strace fuse libgstreamer1.0-dev libgstreamer-plugins-base1.0-dev
|
||||
- run: |
|
||||
wget -O appimage-builder-x86_64.AppImage https://github.com/AppImageCrafters/appimage-builder/releases/download/v1.0.0-beta.1/appimage-builder-1.0.0-677acbd-x86_64.AppImage
|
||||
chmod +x appimage-builder-x86_64.AppImage
|
||||
@ -124,9 +118,8 @@ jobs:
|
||||
flutter config --enable-linux-desktop
|
||||
flutter pub get
|
||||
dart bin/create-secrets.dart '${{ secrets.LYRICS_SECRET }}' '${{ secrets.SPOTIFY_SECRET }}'
|
||||
dart pub global activate melos
|
||||
cd build/flutter_distributor && melos bootstrap && cd ../..
|
||||
dart build/flutter_distributor/packages/flutter_distributor/bin/main.dart package --platform=linux --targets=deb,appimage --skip-clean
|
||||
dart pub global activate flutter_distributor
|
||||
flutter_distributor package --platform=linux --targets=deb,appimage --skip-clean
|
||||
make tar
|
||||
- run: |
|
||||
mv build/Spotube-linux-x86_64.tar.xz dist/
|
||||
@ -141,11 +134,6 @@ jobs:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v3
|
||||
- uses: actions/checkout@v3
|
||||
with:
|
||||
repository: KRTirtho/flutter_distributor
|
||||
ref: deb-implementation
|
||||
path: build/flutter_distributor
|
||||
- name: Get latest tag
|
||||
id: tag
|
||||
uses: dawidd6/action-get-tag@v1
|
||||
@ -156,13 +144,12 @@ jobs:
|
||||
cache: true
|
||||
- run: |
|
||||
sudo apt-get update -y
|
||||
sudo apt-get install -y 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
|
||||
sudo apt-get install -y clang cmake ninja-build pkg-config libgtk-3-dev make python3-pip python3-setuptools patchelf desktop-file-utils libgdk-pixbuf2.0-dev fakeroot strace fuse
|
||||
- run: |
|
||||
flutter pub get
|
||||
dart bin/create-secrets.dart '${{ secrets.LYRICS_SECRET }}' '${{ secrets.SPOTIFY_SECRET }}'
|
||||
dart pub global activate melos
|
||||
cd build/flutter_distributor && melos bootstrap && cd ../..
|
||||
dart build/flutter_distributor/packages/flutter_distributor/bin/main.dart package --platform=android --targets=apk --skip-clean
|
||||
dart pub global activate flutter_distributor
|
||||
flutter_distributor package --platform=android --targets=apk --skip-clean
|
||||
- run: |
|
||||
mv dist/**/spotube-*-android.apk dist/Spotube-android-all-arch.apk
|
||||
- uses: actions/upload-artifact@v3
|
@ -114,13 +114,11 @@ Enhancement suggestions are tracked as [GitHub issues](https://github.com/KRTirt
|
||||
### Your First Code Contribution
|
||||
|
||||
<!-- Download -->
|
||||
audioplayers requirement https://github.com/bluefireteam/audioplayers/blob/main/packages/audioplayers_linux/requirements.md
|
||||
|
||||
Do the following:
|
||||
- Download the latest Flutter SDK (>=2.15.1) & enable desktop support
|
||||
- Install Development dependencies in linux
|
||||
- `libwebkit2gtk-4.0-dev`, `libkeybinder-3.0-0` & `libkeybinder-3.0-dev` (for Debian/Ubuntu)
|
||||
- `webkit2gtk` & `libkeybinder3` (for Arch/Manjaro)
|
||||
- `libgstreamer1.0-dev` & `libgstreamer-plugins-base1.0-dev` (for Debian/Ubuntu)
|
||||
- `gstreamer`, `gst-libav`, `gst-plugins-base` & `gst-plugins-good` (for Arch/Manjaro)
|
||||
- Clone the Repo & Run `flutter pub get` in the Terminal
|
||||
- Create a `secrets.json` in root of the project. The structure should be similar to the following example:
|
||||
```jsoc name="secrets.json"
|
||||
@ -144,7 +142,7 @@ Do the following:
|
||||
> You can add more clientId/clientSecret/genius-access-token if you want. The credentials used in the example are dummy (fake). You've to use your own secrets
|
||||
- Finally run these following commands in the root of the project to start the Spotube Locally
|
||||
```bash
|
||||
$ dart create-secrets.dart --local
|
||||
$ dart bin/create-secrets.dart --local
|
||||
$ flutter run -d <window|macos|linux|(<android-device-id>)>
|
||||
```
|
||||
|
||||
|
@ -127,8 +127,7 @@ Bu why? You can learn about it [here](https://dev.to/krtirtho/choosing-open-sour
|
||||
- [AUR](https://aur.archlinux.org/) - AUR stands for Arch User Repository. It is a community-driven repository for Arch-based Linux distributions users
|
||||
- [Flatpak](https://flatpak.org/) - Flatpak is a utility for software deployment and package management for Linux
|
||||
- [spotify (dart)](https://github.com/rinukkusu/spotify-dart) - A dart library for interfacing with the Spotify API
|
||||
- [just_audio](https://github.com/ryanheise/just_audio/tree/master/just_audio) - A feature-rich cross-platform audio player for Flutter that supports network audio streams too
|
||||
- [libwinmedia](https://github.com/harmonoid/libwinmedia) - A cross-platform media playback library for C/C++ with good number of features (only Windows & Linux)
|
||||
- [audioplayers](https://github.com/bluefireteam/audioplayers) - A Flutter plugin to play multiple audio files simultaneously (Android/iOS)
|
||||
- [youtube_explode_dart](https://github.com/Hexer10/youtube_explode_dart) - YoutubeExplode is a library that provides an interface to query metadata of YouTube videos, playlists and channels, as well as to resolve and download video streams and closed caption tracks
|
||||
- [infinite_scroll_pagination](https://github.com/EdsonBueno/infinite_scroll_pagination) - Flutter package to help you lazily load and display pages of items as the user scrolls down your screen
|
||||
- [bitsdojo_window](https://github.com/bitsdojo/bitsdojo_window) - A Flutter package that makes it easy to customize and work with your Flutter desktop app window on Windows, macOS and Linux
|
||||
|
Loading…
Reference in New Issue
Block a user