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 - 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 - run: name: Add Spotify Keys command: echo "SPOTIFY_SECRETS=${SPOTIFY_SECRETS}" >> .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" 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