spotube/.circleci/config.yml
2023-09-13 12:13:26 +06:00

48 lines
1.7 KiB
YAML

version: 2.1
orbs:
flutter: circleci/flutter@2.0.2
jobs:
flutter_linux_arm:
machine:
image: ubuntu-2004:current
resource_class: arm.medium
steps:
- flutter/install_sdk_and_pub:
version: 3.13.2
- 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
- run:
name: Add .Env
command: echo $DOTENV | base64 --decode >> .env
- run: |
flutter config --enable-linux-desktop
flutter pub get
dart run build_runner build --delete-conflicting-outputs --enable-experiment=records,patterns
- run: |
dart pub global activate flutter_distributor
flutter build linux --target-platform=linux-arm64
mkdir -p /tmp/spotube-tar
cp -r build/linux/arm64/release/bundle/* /tmp/spotube-tar
cp linux/spotube.desktop /tmp/spotube-tar
cp assets/spotube-logo.png /tmp/spotube-tar
cp linux/com.github.KRTirtho.Spotube.appdata.xml /tmp/spotube-tar
tar -cJf build/spotube-linux-3.1.1-aarch64.tar.xz -C /tmp/spotube-tar .
rm -rf /tmp/spotube-tar
- persist_to_workspace:
root: build
paths:
- spotube-linux-3.1.1-aarch64.tar.xz
workflows:
build_flutter_for_arm_workflow:
jobs:
- flutter_linux_arm