spotube/.circleci/config.yml
2023-09-14 23:36:14 +06:00

61 lines
2.3 KiB
YAML

version: 2.1
jobs:
flutter_linux_arm:
machine:
image: ubuntu-2204:current
resource_class: arm.medium
steps:
- checkout
- 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 libunwind-dev locate patchelf gir1.2-appindicator3-0.1 libappindicator3-1 libappindicator3-dev libsecret-1-0 libjsoncpp25 libsecret-1-dev libjsoncpp-dev libnotify-bin libnotify-dev mpv libmpv-dev zip
- run: |
git clone https://github.com/flutter/flutter.git
cd flutter && git checkout stable && cd ..
export PATH="$PATH:`pwd`/flutter/bin"
flutter precache
flutter doctor -v
- persist_to_workspace:
root: flutter
paths:
- .
- run: |
echo "SPOTIFY_SECRETS=${SPOTIFY_SECRETS}" >> .env
echo "SUPABASE_URL=${SUPABASE_URL}" >> .env
echo "SUPABASE_API_KEY=${SUPABASE_API_KEY}" >> .env
- run: |
export PATH="$PATH:`pwd`/flutter/bin"
flutter config --enable-linux-desktop
flutter pub get
dart run build_runner build --delete-conflicting-outputs --enable-experiment=records,patterns
- run: |
export PATH="$PATH:`pwd`/flutter/bin"
dart pub global activate flutter_distributor
alias dpkg-deb="dpkg-deb --Zxz"
dart run flutter_distributor package --platform=linux --targets=deb
dart run flutter_distributor package --platform=linux --targets=appimage
dart run flutter_distributor package --platform=linux --targets=rpm
make tar VERSION=nightly ARCH=arm64 PKG_ARCH=aaarch64
- run: |
mkdir bundle
mv build/spotube-linux-*-aarch64.tar.xz bundle/
mv dist/**/spotube-*-linux.deb bundle/Spotube-linux-aarch64.deb
mv dist/**/spotube-*-linux.rpm bundle/Spotube-linux-aarch64.rpm
mv dist/**/spotube-*-linux.AppImage bundle/Spotube-linux-aarch64.AppImage
zip -r Spotube-linux-aarch64.zip bundle
- store_artifacts:
path: Spotube-linux-aarch64.zip
workflows:
build_flutter_for_arm_workflow:
jobs:
- flutter_linux_arm