mirror of
https://github.com/KRTirtho/spotube.git
synced 2025-09-13 16:05:18 +00:00
Merge branch 'master' into dev
This commit is contained in:
commit
39e5e3f19b
204
.github/workflows/spotube-nightly.yml
vendored
204
.github/workflows/spotube-nightly.yml
vendored
@ -1,204 +0,0 @@
|
|||||||
name: Spotube Nightly
|
|
||||||
on:
|
|
||||||
push:
|
|
||||||
branches:
|
|
||||||
- build
|
|
||||||
workflow_dispatch:
|
|
||||||
|
|
||||||
jobs:
|
|
||||||
build_ubuntu:
|
|
||||||
runs-on: ubuntu-22.04
|
|
||||||
steps:
|
|
||||||
- uses: actions/checkout@v3
|
|
||||||
- uses: subosito/flutter-action@v2.8.0
|
|
||||||
with:
|
|
||||||
cache: true
|
|
||||||
|
|
||||||
- name: Getting current date
|
|
||||||
id: date
|
|
||||||
run: echo "::set-output name=date::$(date +'%Y-%m-%d')"
|
|
||||||
|
|
||||||
- name: Installing dependencies and configuring version
|
|
||||||
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 desktop-file-utils libgdk-pixbuf2.0-dev fakeroot strace fuse libgstreamer1.0-dev libgstreamer-plugins-base1.0-dev locate patchelf libunwind-dev
|
|
||||||
curl -sS https://webi.sh/yq | sh
|
|
||||||
yq -i '.version |= sub("\+\d+", "+nightly.")' pubspec.yaml
|
|
||||||
yq -i '.version += strenv(GITHUB_RUN_NUMBER)' pubspec.yaml
|
|
||||||
flutter config --enable-linux-desktop
|
|
||||||
flutter pub get
|
|
||||||
|
|
||||||
- name: Installing appimagetool
|
|
||||||
run: |
|
|
||||||
wget -O appimagetool "https://github.com/AppImage/AppImageKit/releases/download/continuous/appimagetool-x86_64.AppImage"
|
|
||||||
chmod +x appimagetool
|
|
||||||
mv appimagetool /usr/local/bin/
|
|
||||||
|
|
||||||
- name: Generating Secrets
|
|
||||||
run: |
|
|
||||||
echo '${{ secrets.DOTENV_NIGHTLY }}' > .env
|
|
||||||
dart bin/create-secrets.dart '${{ secrets.LYRICS_SECRET }}' '${{ secrets.SPOTIFY_SECRET }}'
|
|
||||||
|
|
||||||
- name: Building Linux application
|
|
||||||
# dart pub global activate flutter_distributor
|
|
||||||
run: |
|
|
||||||
git clone https://github.com/KRTirtho/flutter_distributor.git flutter_distributor
|
|
||||||
flutter pub global activate melos
|
|
||||||
cd flutter_distributor
|
|
||||||
melos bootstrap
|
|
||||||
cd ..
|
|
||||||
dart flutter_distributor/packages/flutter_distributor/bin/main.dart package --platform=linux --targets=deb,appimage,rpm --skip-clean
|
|
||||||
make tar
|
|
||||||
mv build/Spotube-linux-x86_64.tar.xz dist/Spotube-linux-x86_64-nightly.tar.xz
|
|
||||||
mv dist/**/spotube-*-linux.deb dist/Spotube-linux-x86_64-nightly.deb
|
|
||||||
mv dist/**/spotube-*-linux.rpm dist/Spotube-linux-x86_64-nightly.rpm
|
|
||||||
mv dist/**/spotube-*-linux.AppImage dist/Spotube-linux-x86_64-nightly.AppImage
|
|
||||||
|
|
||||||
- name: Uploading binaries to release
|
|
||||||
uses: svenstaro/upload-release-action@v2
|
|
||||||
with:
|
|
||||||
repo_token: ${{ secrets.GITHUB_TOKEN }}
|
|
||||||
file_glob: true
|
|
||||||
file: dist/*
|
|
||||||
tag: refs/tags/nightly
|
|
||||||
body: |
|
|
||||||
## nightly-${{ github.run_number }}
|
|
||||||
Nightly build no. ${{ github.run_number }} of Spotube
|
|
||||||
overwrite: true
|
|
||||||
|
|
||||||
- name: Setting up upterm session
|
|
||||||
if: ${{ failure() }}
|
|
||||||
uses: lhotari/action-upterm@v1
|
|
||||||
with:
|
|
||||||
limit-access-to-actor: true
|
|
||||||
|
|
||||||
build_android:
|
|
||||||
runs-on: ubuntu-latest
|
|
||||||
steps:
|
|
||||||
- uses: actions/checkout@v3
|
|
||||||
- uses: subosito/flutter-action@v2.8.0
|
|
||||||
with:
|
|
||||||
cache: true
|
|
||||||
|
|
||||||
- name: Installing dependencies and configuring version
|
|
||||||
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 desktop-file-utils libgdk-pixbuf2.0-dev fakeroot strace fuse
|
|
||||||
curl -sS https://webi.sh/yq | sh
|
|
||||||
yq -i '.version |= sub("\+\d+", "+nightly.")' pubspec.yaml
|
|
||||||
yq -i '.version += strenv(GITHUB_RUN_NUMBER)' pubspec.yaml
|
|
||||||
flutter pub get
|
|
||||||
|
|
||||||
- name: Generating Secrets and key store
|
|
||||||
run: |
|
|
||||||
echo '${{ secrets.DOTENV_NIGHTLY }}' > .env
|
|
||||||
dart bin/create-secrets.dart '${{ secrets.LYRICS_SECRET }}' '${{ secrets.SPOTIFY_SECRET }}'
|
|
||||||
echo '${{ secrets.KEYSTORE }}' | base64 --decode > android/app/upload-keystore.jks
|
|
||||||
echo '${{ secrets.KEY_PROPERTIES }}' > android/key.properties
|
|
||||||
|
|
||||||
- name: Building Android apk
|
|
||||||
run: |
|
|
||||||
flutter build apk
|
|
||||||
mv build/app/outputs/apk/release/app-release.apk build/Spotube-android-all-arch-nightly.apk
|
|
||||||
|
|
||||||
- name: Uploading binaries to release
|
|
||||||
uses: svenstaro/upload-release-action@v2
|
|
||||||
with:
|
|
||||||
repo_token: ${{ secrets.GITHUB_TOKEN }}
|
|
||||||
file: build/Spotube-android-all-arch-nightly.apk
|
|
||||||
tag: refs/tags/nightly
|
|
||||||
body: |
|
|
||||||
## nightly-${{ github.run_number }}
|
|
||||||
Nightly build no. ${{ github.run_number }} of Spotube
|
|
||||||
overwrite: true
|
|
||||||
|
|
||||||
- name: Setting up upterm session
|
|
||||||
if: ${{ failure() }}
|
|
||||||
uses: lhotari/action-upterm@v1
|
|
||||||
with:
|
|
||||||
limit-access-to-actor: true
|
|
||||||
|
|
||||||
build_windows:
|
|
||||||
runs-on: windows-latest
|
|
||||||
steps:
|
|
||||||
- uses: actions/checkout@v3
|
|
||||||
- uses: subosito/flutter-action@v2.8.0
|
|
||||||
with:
|
|
||||||
cache: true
|
|
||||||
|
|
||||||
- name: Installing dependencies and configuring versions
|
|
||||||
run: |
|
|
||||||
choco install sed make yq -y
|
|
||||||
yq -i '.version |= sub("\+\d+", "+nightly.")' pubspec.yaml
|
|
||||||
yq -i '.version += strenv(GITHUB_RUN_NUMBER)' pubspec.yaml
|
|
||||||
sed -i "s/%{{SPOTUBE_VERSION}}%/${{ github.run_number }}/" windows/runner/Runner.rc
|
|
||||||
flutter config --enable-windows-desktop
|
|
||||||
flutter pub get
|
|
||||||
|
|
||||||
- name: Generating Secrets
|
|
||||||
run: |
|
|
||||||
echo '${{ secrets.DOTENV_NIGHTLY }}' > .env
|
|
||||||
dart bin/create-secrets.dart '${{ secrets.LYRICS_SECRET }}' '${{ secrets.SPOTIFY_SECRET }}'
|
|
||||||
|
|
||||||
- name: Building for Windows x64
|
|
||||||
run: |
|
|
||||||
dart pub global activate flutter_distributor
|
|
||||||
make innoinstall
|
|
||||||
flutter_distributor package --platform=windows --targets=exe --skip-clean
|
|
||||||
mv dist/**/spotube-*-windows-setup.exe dist/Spotube-windows-x86_64-setup-nightly.exe
|
|
||||||
|
|
||||||
- name: Uploading binaries to release
|
|
||||||
uses: svenstaro/upload-release-action@v2
|
|
||||||
with:
|
|
||||||
repo_token: ${{ secrets.GITHUB_TOKEN }}
|
|
||||||
file_glob: true
|
|
||||||
file: dist/*
|
|
||||||
tag: refs/tags/nightly
|
|
||||||
body: |
|
|
||||||
## nightly-${{ github.run_number }}
|
|
||||||
Nightly build no. ${{ github.run_number }} of Spotube
|
|
||||||
overwrite: true
|
|
||||||
|
|
||||||
build_macos:
|
|
||||||
runs-on: macos-11
|
|
||||||
steps:
|
|
||||||
- uses: actions/checkout@v3
|
|
||||||
- uses: subosito/flutter-action@v2.8.0
|
|
||||||
with:
|
|
||||||
cache: true
|
|
||||||
|
|
||||||
- name: Installing dependencies and configuring versions
|
|
||||||
run: |
|
|
||||||
brew install yq
|
|
||||||
yq -i '.version |= sub("\+\d+", "+nightly.")' pubspec.yaml
|
|
||||||
yq -i '.version += strenv(GITHUB_RUN_NUMBER)' pubspec.yaml
|
|
||||||
flutter config --enable-macos-desktop
|
|
||||||
flutter pub get
|
|
||||||
|
|
||||||
- name: Generating Secrets
|
|
||||||
run: |
|
|
||||||
echo '${{ secrets.DOTENV_NIGHTLY }}' > .env
|
|
||||||
dart bin/create-secrets.dart '${{ secrets.LYRICS_SECRET }}' '${{ secrets.SPOTIFY_SECRET }}'
|
|
||||||
|
|
||||||
- name: Building for MacOS
|
|
||||||
run: |
|
|
||||||
flutter build macos
|
|
||||||
npm install -g appdmg
|
|
||||||
appdmg appdmg.json build/Spotube-macos-x86_64-nightly.dmg
|
|
||||||
|
|
||||||
- name: Uploading binaries to release
|
|
||||||
uses: svenstaro/upload-release-action@v2
|
|
||||||
with:
|
|
||||||
repo_token: ${{ secrets.GITHUB_TOKEN }}
|
|
||||||
file: build/Spotube-macos-x86_64-nightly.dmg
|
|
||||||
tag: refs/tags/nightly
|
|
||||||
body: |
|
|
||||||
## nightly-${{ github.run_number }}
|
|
||||||
Nightly build no. ${{ github.run_number }} of Spotube
|
|
||||||
overwrite: true
|
|
||||||
|
|
||||||
- name: Setting up upterm session
|
|
||||||
if: ${{ failure() }}
|
|
||||||
uses: lhotari/action-upterm@v1
|
|
||||||
with:
|
|
||||||
limit-access-to-actor: true
|
|
97
.github/workflows/spotube-publish-binary.yml
vendored
Normal file
97
.github/workflows/spotube-publish-binary.yml
vendored
Normal file
@ -0,0 +1,97 @@
|
|||||||
|
name: Spotube Publish Binary
|
||||||
|
on:
|
||||||
|
workflow_dispatch:
|
||||||
|
inputs:
|
||||||
|
version:
|
||||||
|
description: Version to release (x.x.x)
|
||||||
|
default: 2.7.0
|
||||||
|
required: true
|
||||||
|
dry_run:
|
||||||
|
description: Dry run
|
||||||
|
required: true
|
||||||
|
type: boolean
|
||||||
|
default: true
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
flathub:
|
||||||
|
runs-on: ubuntu-22.04
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v3
|
||||||
|
with:
|
||||||
|
repository: KRTirtho/com.github.KRTirtho.Spotube
|
||||||
|
token: ${{ secrets.FLATHUB_TOKEN }}
|
||||||
|
|
||||||
|
- uses: actions/checkout@v3
|
||||||
|
with:
|
||||||
|
path: spotube
|
||||||
|
|
||||||
|
- name: Update flathub version
|
||||||
|
run: |
|
||||||
|
python3 spotube/scripts/update_flathub_version.py ${{ inputs.version }}
|
||||||
|
rm -rf spotube
|
||||||
|
git config --global user.email "krtirtho@gmail.com"
|
||||||
|
git config --global user.name "Kingkor Roy Tirtho"
|
||||||
|
git add .
|
||||||
|
git commit -m "v${{ inputs.version }} Update"
|
||||||
|
git branch update-${{ inputs.version }}
|
||||||
|
git switch update-${{ inputs.version }}
|
||||||
|
|
||||||
|
- name: Push to flathub
|
||||||
|
if: ${{ !inputs.dry_run }}
|
||||||
|
run: git push -u origin update-${{ inputs.version }}
|
||||||
|
|
||||||
|
aur:
|
||||||
|
runs-on: ubuntu-22.04
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v3
|
||||||
|
|
||||||
|
- uses: dsaltares/fetch-gh-release-asset@master
|
||||||
|
with:
|
||||||
|
version: tags/v${{ inputs.version }} # mind the "v" prefix
|
||||||
|
file: Spotube-linux-x86_64.tar.xz
|
||||||
|
token: ${{ secrets.GITHUB_TOKEN }}
|
||||||
|
|
||||||
|
- name: Update PKGBUILD versions
|
||||||
|
run: |
|
||||||
|
sed -i "s/%{{SPOTUBE_VERSION}}%/${{ inputs.version }}/" aur-struct/PKGBUILD
|
||||||
|
sed -i "s/%{{PKGREL}}%/1/" aur-struct/PKGBUILD
|
||||||
|
sed -i "s/%{{LINUX_MD5}}%/`md5sum Spotube-linux-x86_64.tar.xz | awk '{print $1}'`/" aur-struct/PKGBUILD
|
||||||
|
|
||||||
|
- name: Release to AUR
|
||||||
|
if: ${{ !inputs.dry_run }}
|
||||||
|
uses: KSXGitHub/github-actions-deploy-aur@v2.6.0
|
||||||
|
with:
|
||||||
|
pkgname: spotube-bin
|
||||||
|
pkgbuild: aur-struct/PKGBUILD
|
||||||
|
commit_username: ${{ secrets.AUR_USERNAME }}
|
||||||
|
commit_email: ${{ secrets.AUR_EMAIL }}
|
||||||
|
ssh_private_key: ${{ secrets.AUR_SSH_PRIVATE_KEY }}
|
||||||
|
commit_message: Updated to v${{ inputs.version }}
|
||||||
|
|
||||||
|
winget:
|
||||||
|
runs-on: windows-latest
|
||||||
|
steps:
|
||||||
|
- name: Release winget package
|
||||||
|
if: ${{ !inputs.dry_run }}
|
||||||
|
uses: vedantmgoyal2009/winget-releaser@v2
|
||||||
|
with:
|
||||||
|
version: ${{ inputs.version }}
|
||||||
|
release-tag: v${{ inputs.version }}
|
||||||
|
identifier: KRTirtho.Spotube
|
||||||
|
token: ${{ secrets.WINGET_TOKEN }}
|
||||||
|
|
||||||
|
chocolatey:
|
||||||
|
runs-on: windows-latest
|
||||||
|
steps:
|
||||||
|
- uses: dsaltares/fetch-gh-release-asset@master
|
||||||
|
with:
|
||||||
|
version: tags/v${{ inputs.version }} # mind the "v" prefix
|
||||||
|
file: Spotube-windows-x86_64.nupkg
|
||||||
|
token: ${{ secrets.GITHUB_TOKEN }}
|
||||||
|
|
||||||
|
- name: Set up Chocolatey
|
||||||
|
run: choco apikey -k ${{ secrets.CHOCO_API_KEY }} -s https://push.chocolatey.org/
|
||||||
|
|
||||||
|
- name: Publish to Chocolatey Repository
|
||||||
|
if: ${{ !inputs.dry_run }}
|
||||||
|
run: choco push Spotube-windows-x86_64.nupkg
|
318
.github/workflows/spotube-release-binary.yml
vendored
Normal file
318
.github/workflows/spotube-release-binary.yml
vendored
Normal file
@ -0,0 +1,318 @@
|
|||||||
|
name: Spotube Release Binary
|
||||||
|
on:
|
||||||
|
workflow_dispatch:
|
||||||
|
inputs:
|
||||||
|
version:
|
||||||
|
description: Version to release (x.x.x)
|
||||||
|
default: 2.7.0
|
||||||
|
required: true
|
||||||
|
channel:
|
||||||
|
type: choice
|
||||||
|
description: Release Channel
|
||||||
|
required: true
|
||||||
|
options:
|
||||||
|
- stable
|
||||||
|
- nightly
|
||||||
|
default: nightly
|
||||||
|
dry_run:
|
||||||
|
description: Dry run
|
||||||
|
required: true
|
||||||
|
type: boolean
|
||||||
|
default: true
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
windows:
|
||||||
|
runs-on: windows-latest
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v3
|
||||||
|
- uses: subosito/flutter-action@v2.8.0
|
||||||
|
with:
|
||||||
|
cache: true
|
||||||
|
|
||||||
|
- name: Replace pubspec version (nightly)
|
||||||
|
if: ${{ inputs.channel == 'nightly' }}
|
||||||
|
run: |
|
||||||
|
choco install sed make yq -y
|
||||||
|
yq -i '.version |= sub("\+\d+", "+${{ inputs.channel }}.")' pubspec.yaml
|
||||||
|
yq -i '.version += strenv(GITHUB_RUN_NUMBER)' pubspec.yaml
|
||||||
|
"BUILD_VERSION=${{ inputs.version }}+${{ inputs.channel }}.${{ github.run_number }}" >> $env:GITHUB_ENV
|
||||||
|
|
||||||
|
- name: Replace pubspec version (stable)
|
||||||
|
if: ${{ inputs.channel == 'stable' }}
|
||||||
|
run: |
|
||||||
|
"BUILD_VERSION=${{ inputs.version }}" >> $env:GITHUB_ENV
|
||||||
|
|
||||||
|
- name: Replace version in files
|
||||||
|
run: |
|
||||||
|
choco install sed make -y
|
||||||
|
sed -i "s/%{{SPOTUBE_VERSION}}%/${{ env.BUILD_VERSION }}/" windows/runner/Runner.rc
|
||||||
|
sed -i "s/%{{SPOTUBE_VERSION}}%/${{ env.BUILD_VERSION }}/" choco-struct/tools/VERIFICATION.txt
|
||||||
|
sed -i "s/%{{SPOTUBE_VERSION}}%/${{ env.BUILD_VERSION }}/" choco-struct/spotube.nuspec
|
||||||
|
|
||||||
|
- name: Create Stable .env
|
||||||
|
if: ${{ inputs.channel == 'stable' }}
|
||||||
|
run: echo '${{ secrets.DOTENV_RELEASE }}' > .env
|
||||||
|
|
||||||
|
- name: Create Nightly .env
|
||||||
|
if: ${{ inputs.channel == 'nightly' }}
|
||||||
|
run: echo '${{ secrets.DOTENV_NIGHTLY }}' > .env
|
||||||
|
|
||||||
|
- name: Generating Secrets
|
||||||
|
run: |
|
||||||
|
flutter config --enable-windows-desktop
|
||||||
|
flutter pub get
|
||||||
|
dart bin/create-secrets.dart '${{ secrets.LYRICS_SECRET }}' '${{ secrets.SPOTIFY_SECRET }}'
|
||||||
|
|
||||||
|
- name: Build Windows Executable
|
||||||
|
run: |
|
||||||
|
dart pub global activate flutter_distributor
|
||||||
|
make innoinstall
|
||||||
|
flutter_distributor package --platform=windows --targets=exe --skip-clean
|
||||||
|
mv dist/**/spotube-*-windows.exe dist/Spotube-windows-x86_64-setup.exe
|
||||||
|
|
||||||
|
- name: Create Chocolatey Package and set hash
|
||||||
|
if: ${{ inputs.channel == 'stable' }}
|
||||||
|
run: |
|
||||||
|
Set-Variable -Name HASH -Value (Get-FileHash dist\Spotube-windows-x86_64-setup.exe).Hash
|
||||||
|
sed -i "s/%{{WIN_SHA256}}%/$HASH/" choco-struct/tools/VERIFICATION.txt
|
||||||
|
make choco
|
||||||
|
mv dist/spotube.*.nupkg dist/Spotube-windows-x86_64.nupkg
|
||||||
|
|
||||||
|
- name: Upload Artifact
|
||||||
|
uses: actions/upload-artifact@v3
|
||||||
|
with:
|
||||||
|
name: Spotube-Release-Binaries
|
||||||
|
path: dist/
|
||||||
|
|
||||||
|
linux:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v3
|
||||||
|
- uses: subosito/flutter-action@v2.8.0
|
||||||
|
with:
|
||||||
|
cache: true
|
||||||
|
|
||||||
|
- name: Get current date
|
||||||
|
id: date
|
||||||
|
run: echo "::set-output name=date::$(date +'%Y-%m-%d')"
|
||||||
|
|
||||||
|
- name: Install Dependencies
|
||||||
|
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 libunwind-dev locate patchelf
|
||||||
|
|
||||||
|
- name: Install AppImage Tool
|
||||||
|
run: |
|
||||||
|
wget -O appimagetool "https://github.com/AppImage/AppImageKit/releases/download/continuous/appimagetool-x86_64.AppImage"
|
||||||
|
chmod +x appimagetool
|
||||||
|
mv appimagetool /usr/local/bin/
|
||||||
|
|
||||||
|
- name: Replace pubspec version (nightly)
|
||||||
|
if: ${{ inputs.channel == 'nightly' }}
|
||||||
|
run: |
|
||||||
|
curl -sS https://webi.sh/yq | sh
|
||||||
|
yq -i '.version |= sub("\+\d+", "+${{ inputs.channel }}.")' pubspec.yaml
|
||||||
|
yq -i '.version += strenv(GITHUB_RUN_NUMBER)' pubspec.yaml
|
||||||
|
echo "BUILD_VERSION=${{ inputs.version }}+${{ inputs.channel }}.${{ github.run_number }}" >> $GITHUB_ENV
|
||||||
|
|
||||||
|
- name: Replace pubspec version (stable)
|
||||||
|
if: ${{ inputs.channel == 'stable' }}
|
||||||
|
run: |
|
||||||
|
echo "BUILD_VERSION=${{ inputs.version }}" >> $GITHUB_ENV
|
||||||
|
|
||||||
|
- name: Create Stable .env
|
||||||
|
if: ${{ inputs.channel == 'stable' }}
|
||||||
|
run: echo '${{ secrets.DOTENV_RELEASE }}' > .env
|
||||||
|
|
||||||
|
- name: Create Nightly .env
|
||||||
|
if: ${{ inputs.channel == 'nightly' }}
|
||||||
|
run: echo '${{ secrets.DOTENV_NIGHTLY }}' > .env
|
||||||
|
|
||||||
|
- name: Replace Version in files
|
||||||
|
run: |
|
||||||
|
sed -i 's|%{{APPDATA_RELEASE}}%|<release version="${{ env.BUILD_VERSION }}" date="${{ steps.date.outputs.date }}" />|' linux/com.github.KRTirtho.Spotube.appdata.xml
|
||||||
|
|
||||||
|
- name: Generate Secrets
|
||||||
|
run: |
|
||||||
|
flutter config --enable-linux-desktop
|
||||||
|
flutter pub get
|
||||||
|
dart bin/create-secrets.dart '${{ secrets.LYRICS_SECRET }}' '${{ secrets.SPOTIFY_SECRET }}'
|
||||||
|
|
||||||
|
- name: Build Linux Packages
|
||||||
|
run: |
|
||||||
|
dart pub global activate flutter_distributor
|
||||||
|
flutter_distributor package --platform=linux --targets=deb,appimage,rpm --skip-clean
|
||||||
|
make tar
|
||||||
|
|
||||||
|
- name: Move Files to dist
|
||||||
|
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.rpm dist/Spotube-linux-x86_64.rpm
|
||||||
|
mv dist/**/spotube-*-linux.AppImage dist/Spotube-linux-x86_64.AppImage
|
||||||
|
|
||||||
|
- uses: actions/upload-artifact@v3
|
||||||
|
with:
|
||||||
|
name: Spotube-Release-Binaries
|
||||||
|
path: dist/
|
||||||
|
|
||||||
|
android:
|
||||||
|
runs-on: ubuntu-22.04
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v3
|
||||||
|
- uses: subosito/flutter-action@v2.8.0
|
||||||
|
with:
|
||||||
|
cache: true
|
||||||
|
|
||||||
|
- name: Install Dependencies
|
||||||
|
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
|
||||||
|
|
||||||
|
- name: Replace pubspec version (nightly)
|
||||||
|
if: ${{ inputs.channel == 'nightly' }}
|
||||||
|
run: |
|
||||||
|
curl -sS https://webi.sh/yq | sh
|
||||||
|
yq -i '.version |= sub("\+\d+", "+${{ inputs.channel }}.")' pubspec.yaml
|
||||||
|
yq -i '.version += strenv(GITHUB_RUN_NUMBER)' pubspec.yaml
|
||||||
|
echo "BUILD_VERSION=${{ inputs.version }}+${{ inputs.channel }}.${{ github.run_number }}" >> $GITHUB_ENV
|
||||||
|
|
||||||
|
- name: Replace pubspec version (stable)
|
||||||
|
if: ${{ inputs.channel == 'stable' }}
|
||||||
|
run: |
|
||||||
|
echo "BUILD_VERSION=${{ inputs.version }}" >> $GITHUB_ENV
|
||||||
|
|
||||||
|
- name: Create Stable .env
|
||||||
|
if: ${{ inputs.channel == 'stable' }}
|
||||||
|
run: echo '${{ secrets.DOTENV_RELEASE }}' > .env
|
||||||
|
|
||||||
|
- name: Create Nightly .env
|
||||||
|
if: ${{ inputs.channel == 'nightly' }}
|
||||||
|
run: echo '${{ secrets.DOTENV_NIGHTLY }}' > .env
|
||||||
|
|
||||||
|
- name: Generate Secrets and Build apk
|
||||||
|
run: |
|
||||||
|
flutter pub get
|
||||||
|
dart bin/create-secrets.dart '${{ secrets.LYRICS_SECRET }}' '${{ secrets.SPOTIFY_SECRET }}'
|
||||||
|
|
||||||
|
- name: Sign Apk
|
||||||
|
run: |
|
||||||
|
echo '${{ secrets.KEYSTORE }}' | base64 --decode > android/app/upload-keystore.jks
|
||||||
|
echo '${{ secrets.KEY_PROPERTIES }}' > android/key.properties
|
||||||
|
|
||||||
|
- name: Build Apk
|
||||||
|
run: |
|
||||||
|
flutter build apk
|
||||||
|
mv build/app/outputs/apk/release/app-release.apk build/Spotube-android-all-arch.apk
|
||||||
|
|
||||||
|
- uses: actions/upload-artifact@v3
|
||||||
|
with:
|
||||||
|
name: Spotube-Release-Binaries
|
||||||
|
path: |
|
||||||
|
build/Spotube-android-all-arch.apk
|
||||||
|
|
||||||
|
macos:
|
||||||
|
runs-on: macos-12
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v3
|
||||||
|
- uses: subosito/flutter-action@v2.8.0
|
||||||
|
with:
|
||||||
|
cache: true
|
||||||
|
|
||||||
|
- name: Replace pubspec version (nightly)
|
||||||
|
if: ${{ inputs.channel == 'nightly' }}
|
||||||
|
run: |
|
||||||
|
brew install yq
|
||||||
|
yq -i '.version |= sub("\+\d+", "+${{ inputs.channel }}.")' pubspec.yaml
|
||||||
|
yq -i '.version += strenv(GITHUB_RUN_NUMBER)' pubspec.yaml
|
||||||
|
echo "BUILD_VERSION=${{ inputs.version }}+${{ inputs.channel }}.${{ github.run_number }}" >> $GITHUB_ENV
|
||||||
|
|
||||||
|
- name: Replace pubspec version (stable)
|
||||||
|
if: ${{ inputs.channel == 'stable' }}
|
||||||
|
run: |
|
||||||
|
echo "BUILD_VERSION=${{ inputs.version }}" >> $GITHUB_ENV
|
||||||
|
|
||||||
|
- name: Create Stable .env
|
||||||
|
if: ${{ inputs.channel == 'stable' }}
|
||||||
|
run: echo '${{ secrets.DOTENV_RELEASE }}' > .env
|
||||||
|
|
||||||
|
- name: Create Nightly .env
|
||||||
|
if: ${{ inputs.channel == 'nightly' }}
|
||||||
|
run: echo '${{ secrets.DOTENV_NIGHTLY }}' > .env
|
||||||
|
|
||||||
|
- name: Generate Secrets
|
||||||
|
run: |
|
||||||
|
flutter pub get
|
||||||
|
dart bin/create-secrets.dart '${{ secrets.LYRICS_SECRET }}' '${{ secrets.SPOTIFY_SECRET }}'
|
||||||
|
|
||||||
|
- name: Build Macos App
|
||||||
|
run: |
|
||||||
|
flutter config --enable-macos-desktop
|
||||||
|
flutter build macos
|
||||||
|
du -sh build/macos/Build/Products/Release/spotube.app
|
||||||
|
|
||||||
|
- name: Package Macos App
|
||||||
|
run: |
|
||||||
|
npm install -g appdmg
|
||||||
|
mkdir -p build/${{ env.BUILD_VERSION }}
|
||||||
|
appdmg appdmg.json build/Spotube-macos-x86_64.dmg
|
||||||
|
|
||||||
|
- uses: actions/upload-artifact@v3
|
||||||
|
with:
|
||||||
|
name: Spotube-Release-Binaries
|
||||||
|
path: |
|
||||||
|
build/Spotube-macos-x86_64.dmg
|
||||||
|
|
||||||
|
upload:
|
||||||
|
runs-on: ubuntu-22.04
|
||||||
|
needs:
|
||||||
|
- windows
|
||||||
|
- linux
|
||||||
|
- android
|
||||||
|
- macos
|
||||||
|
steps:
|
||||||
|
- uses: actions/download-artifact@v3
|
||||||
|
with:
|
||||||
|
name: Spotube-Release-Binaries
|
||||||
|
path: ./Spotube-Release-Binaries
|
||||||
|
|
||||||
|
- name: Install dependencies
|
||||||
|
run: sudo apt-get install tree -y
|
||||||
|
|
||||||
|
- name: Generate Checksums
|
||||||
|
run: |
|
||||||
|
tree .
|
||||||
|
md5sum ./Spotube-Release-Binaries/* >> RELEASE.md5sum
|
||||||
|
sha256sum ./Spotube-Release-Binaries/* >> RELEASE.sha256sum
|
||||||
|
sed -i 's|./Spotube-Release-Binaries/||' RELEASE.sha256sum RELEASE.md5sum
|
||||||
|
|
||||||
|
- uses: actions/upload-artifact@v3
|
||||||
|
with:
|
||||||
|
name: Spotube-Release-Binaries
|
||||||
|
path: |
|
||||||
|
RELEASE.md5sum
|
||||||
|
RELEASE.sha256sum
|
||||||
|
|
||||||
|
- name: Upload Release Binaries (stable)
|
||||||
|
if: ${{ !inputs.dry_run && inputs.channel == 'stable' }}
|
||||||
|
uses: ncipollo/release-action@v1
|
||||||
|
with:
|
||||||
|
token: ${{ secrets.GITHUB_TOKEN }}
|
||||||
|
tag: v${{ inputs.version }} # mind the "v" prefix
|
||||||
|
omitBodyDuringUpdate: true
|
||||||
|
omitNameDuringUpdate: true
|
||||||
|
omitPrereleaseDuringUpdate: true
|
||||||
|
allowUpdates: true
|
||||||
|
artifacts: Spotube-Release-Binaries/*,RELEASE.sha256sum,RELEASE.md5sum
|
||||||
|
|
||||||
|
- name: Upload Release Binaries (nightly)
|
||||||
|
if: ${{ !inputs.dry_run && inputs.channel == 'nightly' }}
|
||||||
|
uses: ncipollo/release-action@v1
|
||||||
|
with:
|
||||||
|
token: ${{ secrets.GITHUB_TOKEN }}
|
||||||
|
tag: nightly
|
||||||
|
omitBodyDuringUpdate: true
|
||||||
|
omitNameDuringUpdate: true
|
||||||
|
omitPrereleaseDuringUpdate: true
|
||||||
|
allowUpdates: true
|
||||||
|
artifacts: Spotube-Release-Binaries/*,RELEASE.sha256sum,RELEASE.md5sum
|
311
.github/workflows/spotube-release.yml
vendored
311
.github/workflows/spotube-release.yml
vendored
@ -1,311 +0,0 @@
|
|||||||
name: Spotube Release
|
|
||||||
on:
|
|
||||||
workflow_dispatch:
|
|
||||||
inputs:
|
|
||||||
version:
|
|
||||||
description: "Version to release (x.x.x)"
|
|
||||||
required: true
|
|
||||||
default: "69.420.303"
|
|
||||||
dry_run:
|
|
||||||
description: "Dry run"
|
|
||||||
required: true
|
|
||||||
type: boolean
|
|
||||||
default: false
|
|
||||||
|
|
||||||
jobs:
|
|
||||||
publish_chocolatey:
|
|
||||||
runs-on: windows-latest
|
|
||||||
steps:
|
|
||||||
- uses: actions/checkout@v3
|
|
||||||
- uses: actions/checkout@v3
|
|
||||||
with:
|
|
||||||
repository: KRTirtho/flutter_distributor
|
|
||||||
ref: deb-implementation
|
|
||||||
path: build/flutter_distributor
|
|
||||||
|
|
||||||
- name: Replace version in files
|
|
||||||
run: |
|
|
||||||
choco install sed make -y
|
|
||||||
sed -i "s/%{{SPOTUBE_VERSION}}%/${{ inputs.version }}/" windows/runner/Runner.rc
|
|
||||||
sed -i "s/%{{SPOTUBE_VERSION}}%/${{ inputs.version }}/" choco-struct/tools/VERIFICATION.txt
|
|
||||||
sed -i "s/%{{SPOTUBE_VERSION}}%/${{ inputs.version }}/" choco-struct/spotube.nuspec
|
|
||||||
|
|
||||||
- uses: subosito/flutter-action@v2.8.0
|
|
||||||
with:
|
|
||||||
cache: true
|
|
||||||
|
|
||||||
- name: Generating Secrets
|
|
||||||
run: |
|
|
||||||
echo '${{ secrets.DOTENV_RELEASE }}' > .env
|
|
||||||
flutter config --enable-windows-desktop
|
|
||||||
flutter pub get
|
|
||||||
dart bin/create-secrets.dart '${{ secrets.LYRICS_SECRET }}' '${{ secrets.SPOTIFY_SECRET }}'
|
|
||||||
|
|
||||||
- name: Build Windows Executable
|
|
||||||
run: |
|
|
||||||
dart pub global activate flutter_distributor
|
|
||||||
make innoinstall
|
|
||||||
flutter_distributor package --platform=windows --targets=exe --skip-clean
|
|
||||||
|
|
||||||
- name: Create Chocolatey Package and set hash
|
|
||||||
run: |
|
|
||||||
mv dist/**/spotube-*-windows.exe dist/Spotube-windows-x86_64-setup.exe
|
|
||||||
Set-Variable -Name HASH -Value (Get-FileHash dist\Spotube-windows-x86_64-setup.exe).Hash
|
|
||||||
sed -i "s/%{{WIN_SHA256}}%/$HASH/" choco-struct/tools/VERIFICATION.txt
|
|
||||||
make choco
|
|
||||||
|
|
||||||
- run: mv dist/spotube.*.nupkg dist/Spotube-windows-x86_64.nupkg
|
|
||||||
|
|
||||||
- name: Publish to Chocolatey Repository
|
|
||||||
if: ${{ !inputs.dry_run }}
|
|
||||||
run: |
|
|
||||||
choco apikey -k ${{ secrets.CHOCO_API_KEY }} -s https://push.chocolatey.org/
|
|
||||||
choco push dist/Spotube-windows-x86_64.nupkg
|
|
||||||
echo 'published to community.chocolatey.org'
|
|
||||||
|
|
||||||
- name: Upload Artifact
|
|
||||||
uses: actions/upload-artifact@v3
|
|
||||||
with:
|
|
||||||
name: Spotube-Windows-Bundle
|
|
||||||
path: dist/
|
|
||||||
|
|
||||||
- name: Connect via SSH on failure
|
|
||||||
if: ${{ failure() }}
|
|
||||||
uses: mxschmitt/action-tmate@v3
|
|
||||||
with:
|
|
||||||
limit-access-to-actor: true
|
|
||||||
timeout-minutes: 15
|
|
||||||
|
|
||||||
publish_macos:
|
|
||||||
runs-on: macos-11
|
|
||||||
steps:
|
|
||||||
- uses: actions/checkout@v3
|
|
||||||
- uses: subosito/flutter-action@v2.8.0
|
|
||||||
with:
|
|
||||||
cache: true
|
|
||||||
- run: echo '${{ secrets.DOTENV_RELEASE }}' > .env
|
|
||||||
- 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: mkdir -p build/${{ inputs.version }}
|
|
||||||
- run: appdmg appdmg.json build/${{ inputs.version }}/Spotube-macos-x86_64.dmg
|
|
||||||
- uses: actions/upload-artifact@v3
|
|
||||||
with:
|
|
||||||
name: Spotube-Macos-Bundle
|
|
||||||
path: |
|
|
||||||
build/${{ inputs.version }}/Spotube-macos-x86_64.dmg
|
|
||||||
|
|
||||||
publish_linux:
|
|
||||||
runs-on: ubuntu-22.04
|
|
||||||
steps:
|
|
||||||
- uses: actions/checkout@v3
|
|
||||||
- uses: subosito/flutter-action@v2.8.0
|
|
||||||
with:
|
|
||||||
cache: true
|
|
||||||
|
|
||||||
- name: Get current date
|
|
||||||
id: date
|
|
||||||
run: echo "::set-output name=date::$(date +'%Y-%m-%d')"
|
|
||||||
|
|
||||||
- name: Install Dependencies
|
|
||||||
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 libunwind-dev locate patchelf
|
|
||||||
|
|
||||||
- name: Install AppImage Tool
|
|
||||||
run: |
|
|
||||||
wget -O appimagetool "https://github.com/AppImage/AppImageKit/releases/download/continuous/appimagetool-x86_64.AppImage"
|
|
||||||
chmod +x appimagetool
|
|
||||||
mv appimagetool /usr/local/bin/
|
|
||||||
|
|
||||||
- name: Replace Version in files
|
|
||||||
run: |
|
|
||||||
sed -i 's|%{{APPDATA_RELEASE}}%|<release version="${{ inputs.version }}" date="${{ steps.date.outputs.date }}" />|' linux/com.github.KRTirtho.Spotube.appdata.xml
|
|
||||||
echo '${{ secrets.DOTENV_RELEASE }}' > .env
|
|
||||||
|
|
||||||
- name: Generate Secrets
|
|
||||||
run: |
|
|
||||||
flutter config --enable-linux-desktop
|
|
||||||
flutter pub get
|
|
||||||
dart bin/create-secrets.dart '${{ secrets.LYRICS_SECRET }}' '${{ secrets.SPOTIFY_SECRET }}'
|
|
||||||
|
|
||||||
- name: Build Linux Packages
|
|
||||||
run: |
|
|
||||||
dart pub global activate flutter_distributor
|
|
||||||
flutter_distributor package --platform=linux --targets=deb,appimage,rpm --skip-clean
|
|
||||||
make tar
|
|
||||||
|
|
||||||
- name: Move Files to dist
|
|
||||||
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.rpm dist/Spotube-linux-x86_64.rpm
|
|
||||||
mv dist/**/spotube-*-linux.AppImage dist/Spotube-linux-x86_64.AppImage
|
|
||||||
|
|
||||||
- uses: actions/upload-artifact@v3
|
|
||||||
with:
|
|
||||||
name: Spotube-Linux-Bundle
|
|
||||||
path: dist/
|
|
||||||
|
|
||||||
publish_android:
|
|
||||||
runs-on: ubuntu-22.04
|
|
||||||
steps:
|
|
||||||
- uses: actions/checkout@v3
|
|
||||||
- uses: subosito/flutter-action@v2.8.0
|
|
||||||
with:
|
|
||||||
cache: true
|
|
||||||
|
|
||||||
- name: Install Dependencies
|
|
||||||
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
|
|
||||||
|
|
||||||
- name: Generate Secrets and Build apk
|
|
||||||
run: |
|
|
||||||
echo '${{ secrets.DOTENV_RELEASE }}' > .env
|
|
||||||
flutter pub get
|
|
||||||
dart bin/create-secrets.dart '${{ secrets.LYRICS_SECRET }}' '${{ secrets.SPOTIFY_SECRET }}'
|
|
||||||
echo '${{ secrets.KEYSTORE }}' | base64 --decode > android/app/upload-keystore.jks
|
|
||||||
echo '${{ secrets.KEY_PROPERTIES }}' > android/key.properties
|
|
||||||
flutter build apk
|
|
||||||
make apk
|
|
||||||
|
|
||||||
- uses: actions/upload-artifact@v3
|
|
||||||
with:
|
|
||||||
name: Spotube-Android-Bundle
|
|
||||||
path: |
|
|
||||||
build/Spotube-android-all-arch.apk
|
|
||||||
|
|
||||||
update_release:
|
|
||||||
needs:
|
|
||||||
- publish_chocolatey
|
|
||||||
- publish_macos
|
|
||||||
- publish_linux
|
|
||||||
- publish_android
|
|
||||||
runs-on: ubuntu-22.04
|
|
||||||
permissions:
|
|
||||||
contents: write
|
|
||||||
steps:
|
|
||||||
- uses: actions/download-artifact@v3
|
|
||||||
with:
|
|
||||||
name: Spotube-Windows-Bundle
|
|
||||||
path: ./Spotube-Windows-Bundle
|
|
||||||
- uses: actions/download-artifact@v3
|
|
||||||
with:
|
|
||||||
name: Spotube-Macos-Bundle
|
|
||||||
path: ./Spotube-Macos-Bundle
|
|
||||||
- uses: actions/download-artifact@v3
|
|
||||||
with:
|
|
||||||
name: Spotube-Linux-Bundle
|
|
||||||
path: ./Spotube-Linux-Bundle
|
|
||||||
- uses: actions/download-artifact@v3
|
|
||||||
with:
|
|
||||||
name: Spotube-Android-Bundle
|
|
||||||
path: ./Spotube-Android-Bundle
|
|
||||||
|
|
||||||
- name: Install dependencies
|
|
||||||
run: sudo apt-get install tree -y
|
|
||||||
|
|
||||||
- name: Generate Checksums
|
|
||||||
run: |
|
|
||||||
tree .
|
|
||||||
md5sum ./Spotube-Windows-Bundle/*.{exe,nupkg} >> RELEASE.md5sum
|
|
||||||
md5sum ./Spotube-Macos-Bundle/*.dmg >> RELEASE.md5sum
|
|
||||||
md5sum ./Spotube-Linux-Bundle/*.{AppImage,tar.xz,deb,rpm} >> RELEASE.md5sum
|
|
||||||
md5sum ./Spotube-Android-Bundle/*.apk >> RELEASE.md5sum
|
|
||||||
sha256sum ./Spotube-Macos-Bundle/*.dmg >> RELEASE.sha256sum
|
|
||||||
sha256sum ./Spotube-Windows-Bundle/*.{exe,nupkg} >> RELEASE.sha256sum
|
|
||||||
sha256sum ./Spotube-Linux-Bundle/*.{AppImage,tar.xz,deb,rpm} >> RELEASE.sha256sum
|
|
||||||
sha256sum ./Spotube-Android-Bundle/*.apk >> RELEASE.sha256sum
|
|
||||||
sed -i 's|Spotube-.*-Bundle/||' RELEASE.sha256sum RELEASE.md5sum
|
|
||||||
|
|
||||||
- uses: actions/upload-artifact@v3
|
|
||||||
with:
|
|
||||||
name: Spotube-Sums-Bundle
|
|
||||||
path: |
|
|
||||||
RELEASE.md5sum
|
|
||||||
RELEASE.sha256sum
|
|
||||||
|
|
||||||
- name: Upload Release Binaries
|
|
||||||
if: ${{ !inputs.dry_run }}
|
|
||||||
uses: ncipollo/release-action@v1
|
|
||||||
with:
|
|
||||||
token: ${{ secrets.GITHUB_TOKEN }}
|
|
||||||
tag: v${{ inputs.version }}
|
|
||||||
omitBodyDuringUpdate: true
|
|
||||||
omitNameDuringUpdate: true
|
|
||||||
omitPrereleaseDuringUpdate: true
|
|
||||||
allowUpdates: true
|
|
||||||
artifacts: Spotube-Windows-Bundle/*,Spotube-Macos-Bundle/*,Spotube-Linux-Bundle/*,Spotube-Android-Bundle/*,RELEASE.sha256sum,RELEASE.md5sum
|
|
||||||
|
|
||||||
publish_winget:
|
|
||||||
needs: update_release
|
|
||||||
runs-on: windows-latest
|
|
||||||
if: ${{ !inputs.dry_run }}
|
|
||||||
steps:
|
|
||||||
- name: Release winget package
|
|
||||||
uses: vedantmgoyal2009/winget-releaser@v2
|
|
||||||
with:
|
|
||||||
version: ${{ inputs.version }}
|
|
||||||
release-tag: v${{ inputs.version }}
|
|
||||||
identifier: KRTirtho.Spotube
|
|
||||||
token: ${{ secrets.WINGET_TOKEN }}
|
|
||||||
|
|
||||||
publish_flathub:
|
|
||||||
needs: update_release
|
|
||||||
runs-on: ubuntu-22.04
|
|
||||||
steps:
|
|
||||||
- uses: actions/checkout@v3
|
|
||||||
with:
|
|
||||||
repository: flathub/com.github.KRTirtho.Spotube
|
|
||||||
token: ${{ secrets.FLATHUB_TOKEN }}
|
|
||||||
- uses: actions/checkout@v3
|
|
||||||
with:
|
|
||||||
path: spotube
|
|
||||||
|
|
||||||
- name: Update flathub version
|
|
||||||
run: |
|
|
||||||
python3 spotube/scripts/update_flathub_version.py ${{ inputs.version }}
|
|
||||||
rm -rf spotube
|
|
||||||
git config --global user.email "krtirtho@gmail.com"
|
|
||||||
git config --global user.name "Kingkor Roy Tirtho"
|
|
||||||
git add .
|
|
||||||
git commit -m "v${{ inputs.version }} Update"
|
|
||||||
git branch update-${{ inputs.version }}
|
|
||||||
git switch update-${{ inputs.version }}
|
|
||||||
|
|
||||||
- name: Push to flathub
|
|
||||||
if: ${{ !inputs.dry_run }}
|
|
||||||
run: git push -u origin update-${{ inputs.version }}
|
|
||||||
|
|
||||||
publish_aur:
|
|
||||||
needs: update_release
|
|
||||||
runs-on: ubuntu-22.04
|
|
||||||
steps:
|
|
||||||
- uses: actions/checkout@v3
|
|
||||||
|
|
||||||
- name: Download Linux artifacts
|
|
||||||
uses: actions/download-artifact@v3
|
|
||||||
with:
|
|
||||||
name: Spotube-Linux-Bundle
|
|
||||||
path: ./Spotube-Linux-Bundle
|
|
||||||
|
|
||||||
- name: Update PKGBUILD versions
|
|
||||||
run: |
|
|
||||||
sed -i "s/%{{SPOTUBE_VERSION}}%/${{ inputs.version }}/" aur-struct/PKGBUILD
|
|
||||||
sed -i "s/%{{PKGREL}}%/1/" aur-struct/PKGBUILD
|
|
||||||
sed -i "s/%{{LINUX_MD5}}%/`md5sum Spotube-Linux-Bundle/Spotube-linux-x86_64.tar.xz | awk '{print $1}'`/" aur-struct/PKGBUILD
|
|
||||||
|
|
||||||
- name: Release to AUR
|
|
||||||
if: ${{ !inputs.dry_run }}
|
|
||||||
uses: KSXGitHub/github-actions-deploy-aur@v2.6.0
|
|
||||||
with:
|
|
||||||
pkgname: spotube-bin
|
|
||||||
pkgbuild: aur-struct/PKGBUILD
|
|
||||||
commit_username: ${{ secrets.AUR_USERNAME }}
|
|
||||||
commit_email: ${{ secrets.AUR_EMAIL }}
|
|
||||||
ssh_private_key: ${{ secrets.AUR_SSH_PRIVATE_KEY }}
|
|
||||||
commit_message: Updated to v${{ inputs.version }}
|
|
3
.vscode/settings.json
vendored
3
.vscode/settings.json
vendored
@ -2,6 +2,7 @@
|
|||||||
"cmake.configureOnOpen": false,
|
"cmake.configureOnOpen": false,
|
||||||
"cSpell.words": [
|
"cSpell.words": [
|
||||||
"Mpris",
|
"Mpris",
|
||||||
"Spotube"
|
"Spotube",
|
||||||
|
"winget"
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
@ -30,16 +30,6 @@ class MobileAudioService extends BaseAudioHandler {
|
|||||||
audioPlayer.onPositionChanged.listen((pos) async {
|
audioPlayer.onPositionChanged.listen((pos) async {
|
||||||
playbackState.add(await _transformEvent());
|
playbackState.add(await _transformEvent());
|
||||||
});
|
});
|
||||||
|
|
||||||
audioPlayer.onPlayerComplete.listen((_) {
|
|
||||||
if (playlist == null) {
|
|
||||||
playbackState.add(
|
|
||||||
PlaybackState(
|
|
||||||
processingState: AudioProcessingState.completed,
|
|
||||||
),
|
|
||||||
);
|
|
||||||
}
|
|
||||||
});
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void addItem(MediaItem item) {
|
void addItem(MediaItem item) {
|
||||||
|
Loading…
Reference in New Issue
Block a user