automate-flutter-app-releases

Automate Flutter App Releases

Safety Notice

This listing is imported from skills.sh public index metadata. Review upstream SKILL.md and repository scripts before running.

Copy this and send it to your AI assistant to learn

Install skill "automate-flutter-app-releases" with this command: npx skills add rodydavis/skills/rodydavis-skills-automate-flutter-app-releases

Automate Flutter App Releases

TLDR You can find the script here.

#!/bin/bash

echo "App Release Automator by @rodydavis"

action="$1" red=tput setaf 1 green=tput setaf 2 reset=tput sgr0

if [ ${action} = "build" ]; then

echo "${green}Generating built files.. ${reset}"
flutter packages pub run build_runner clean
flutter packages pub run build_runner build --delete-conflicting-outputs

pub global activate pubspec_version
git commit -a -m "Build $(pubver bump patch)"

echo "${green}Building Project...${reset}"
find . -name "*-e" -type f -delete
flutter format .
flutter clean

echo "${green}Project Size: $(find . -name "*.dart" | xargs cat | wc -c)${reset}"

echo "${green}Building APK...${reset}"
flutter build apk

echo "${green}Builing IPA..${reset}"
cd ./ios && pod install && pod repo update && cd ..
flutter build ios

git commit -a -m "Project Rebuilt"

elif [ ${action} = "beta" ]; then

echo "${green}Generating built files..${reset}"
flutter packages pub run build_runner clean
flutter packages pub run build_runner build --delete-conflicting-outputs

pub global activate pubspec_version
git commit -a -m "Beta $(pubver bump patch)"

echo "${green}Building Project...${reset}"
find . -name "*-e" -type f -delete
flutter format .
flutter clean

echo "${green}Project Size: $(find . -name "*.dart" | xargs cat | wc -c)${reset}"

echo "${green}Building APK...${reset}"
flutter build apk

echo "${green}Sending Android to Beta...${reset}"
cd ./android && fastlane beta && cd ..

echo "${green}Builing IPA..${reset}"
flutter build ios

echo "${green}Sending iOS to Beta..${reset}"
cd ./ios && fastlane beta && cd ..

git commit -a -m "Sent to Beta"

elif [ ${action} = "release" ]; then

echo "${green}Generating built files..${reset}"
flutter packages pub run build_runner clean
flutter packages pub run build_runner build --delete-conflicting-outputs

pub global activate pubspec_version
git commit -a -m "Production $(pubver bump minor)"

echo "${green}Building Project...${reset}"
find . -name "*-e" -type f -delete
flutter format .
flutter clean

echo "${green}Project Size: $(find . -name "*.dart" | xargs cat | wc -c)${reset}"

echo "${green}Building APK...${reset}"
flutter build apk

echo "${green}Sending Android to Production...${reset}"
cd ./android && fastlane release && cd ..

echo "${green}Builing IPA..${reset}"
flutter build ios

echo "${green}Sending iOS to Production...${reset}"
cd ./ios && fastlane release && cd ..

git commit -a -m "Sent to Production"

fi

echo "${green}Successfully completed${reset}"

Needed:

  • Fastlane setup in each directory

  • build_runner as a dependency

  • Git Project in VCS

Steps to Run:

  • Download this file and put it at the root level of your flutter project

  • Open the terminal and navigate to your project location

  • Enter this command: chmod +x release.sh

Usage

  • For beta: ./release.sh beta

  • For production: ./release.sh release

It will do the following:

  • Bump the version numbers if you are using the version in the pubspec.yaml

  • Release the apps with Fastlane

  • Format all Dart Files

  • Clean Project

  • Rebuild classes

  • Add commit message

Make your life easier and automate your builds to beta and production!

What you need 

  • Fastlane setup in each directory

  • build_runner as a dependency

  • Git Project in VCS

Initial Setup 

  • Download this file

  • Put it at the root level of your flutter project

  • Open the terminal and navigate to your project location

  • Enter this command: chmod +x release.sh

Usage 

Now you can call this script!

  • For beta: ./release.sh beta

  • For production: ./release.sh release

Overview 

  • Bump the version numbers if you are using the version in the pubspec.yaml

  • Release the apps with Fastlane

  • Format all Dart Files

  • Clean Project

  • Rebuild classes

  • Add commit messages

  • Updates Cocoa Pods

Source Transparency

This detail page is rendered from real SKILL.md content. Trust labels are metadata-based hints, not a safety guarantee.

Related Skills

Related by shared tags or category signals.

General

flutter-control-and-screenshot

No summary provided by upstream source.

Repository SourceNeeds Review
General

install-flutter-from-git

No summary provided by upstream source.

Repository SourceNeeds Review
General

how-to-build-a-native-cross-platform-project-with-flutter

No summary provided by upstream source.

Repository SourceNeeds Review
General

how-to-build-a-webrtc-signal-server-with-pocketbase

No summary provided by upstream source.

Repository SourceNeeds Review