Skip to content

update: build

update: build #7

Workflow file for this run

name: Build
on:
push:
branches:
- main
jobs:
build:
runs-on: ubuntu-latest
steps:
# Checkout the code
- uses: actions/checkout@v3
# Setup Java environment for Android build
- uses: actions/setup-java@v3
with:
java-version: "17"
distribution: "adopt" # You can keep 'temurin' if needed
# Gradle cache for faster builds
- uses: actions/cache@v4
with:
path: |
~/.gradle/caches
~/.gradle/wrapper
key: ${{ runner.os }}-gradle-${{ hashFiles('**/*.gradle*') }}
restore-keys: |
${{ runner.os }}-gradle-${{ hashFiles('**/*.gradle*') }}
${{ runner.os }}-gradle-
${{ runner.os }}-
- uses: actions/cache@v4
with:
path: /opt/hostedtoolcache/flutter
key: ${{ runner.OS }}-flutter-install-cache-${{ env.flutter_version }}
# Setup Flutter environment
- uses: subosito/flutter-action@v2
with:
channel: "stable"
# Flutter cache for faster builds (uncomment if needed)
# - uses: actions/cache@v4
# with:
# path: |
# ${{ env.FLUTTER_ROOT }}/bin/cache
# key: ${{ runner.os }}-flutter-${{ hashFiles('**/pubspec.yaml') }}
# restore-keys: |
# ${{ runner.os }}-flutter-
# Get Flutter dependencies
- run: flutter pub get
# Create .env file for environment variables
- name: Create .env file
run: |
cat <<EOF > .env
GITHUBTOKEN=${{ secrets.GITHUBTOKEN }}
EOF
# Build APK with additional flags for optimization
- run: flutter build apk --release
# Upload to Telegram
- name: Upload to Telegram
run: |
curl -s -X POST "https://api.telegram.org/bot${{ secrets.TELEGRAM_BOT_TOKEN }}/sendDocument" \
-F chat_id=${{ secrets.TELEGRAM_CHAT_ID }} \
-F document=@build/app/outputs/flutter-apk/app-release.apk \
-F caption="app" || echo "Upload failed"