feat: add selfish waltz lyrics #53
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: Flutter CI | |
on: | |
pull_request: | |
branches: | |
- master | |
jobs: | |
build-ios: | |
runs-on: macos-latest | |
steps: | |
- name: Clone repository | |
uses: actions/checkout@v4 | |
- name: Set up Flutter | |
uses: subosito/flutter-action@v2 | |
with: | |
channel: stable | |
- name: Run flutter doctor | |
run: flutter doctor | |
- name: Run pub get | |
run: flutter pub get | |
- name: Run flutter test | |
run: flutter test | |
- name: Build iOS | |
id: build-ios | |
run: flutter build ios --release --no-codesign | |
- name: Archive iOS Artifacts | |
uses: actions/upload-artifact@v4 | |
with: | |
name: release-ios | |
path: build/ios | |
build-android: | |
runs-on: macos-latest | |
steps: | |
- name: Clone repository | |
uses: actions/checkout@v4 | |
- name: Set up Flutter | |
uses: subosito/flutter-action@v2 | |
with: | |
channel: stable | |
- name: Set up Java | |
uses: actions/setup-java@v4 | |
with: | |
java-version: "17" | |
distribution: "temurin" | |
- name: Cache Gradle | |
uses: actions/cache@v4 | |
with: | |
path: | | |
~/.gradle/caches/ | |
~/.gradle/wrapper/ | |
key: ${{ runner.os }}-gradle-${{ hashFiles('**/*.gradle*', '**/gradle-wrapper.properties', '**/gradle/libs.versions.toml') }} | |
restore-keys: | | |
${{ runner.os }}-gradle- | |
- name: Cache Android SDK | |
uses: actions/cache@v4 | |
env: | |
ANDROID_SDK_ROOT: ~/Library/Android/sdk | |
with: | |
path: ${{ env.ANDROID_SDK_ROOT }} | |
key: ${{ runner.os }}-android-sdk-${{ hashFiles('**/*.gradle*', '**/gradle-wrapper.properties', '**/gradle/libs.versions.toml') }} | |
restore-keys: | | |
${{ runner.os }}-android-sdk- | |
- name: Decode Keystore | |
env: | |
ENCODED_KEYSTORE: ${{ secrets.UPLOAD_KEYSTORE_BASE64 }} | |
DECODED_KEYSTORE_PATH: "android/app/${{ secrets.STORE_FILE }}" | |
run: | | |
echo $ENCODED_KEYSTORE > keystore_base64.txt | |
base64 -d -i keystore_base64.txt -o $DECODED_KEYSTORE_PATH | |
- name: Populate android/key.properties | |
env: | |
KEY_ALIAS: ${{ secrets.KEY_ALIAS }} | |
KEY_PASSWORD: ${{ secrets.KEY_PASSWORD }} | |
STORE_PASSWORD: ${{ secrets.STORE_PASSWORD }} | |
STORE_FILE: ${{ secrets.STORE_FILE }} | |
run: | | |
echo "keyAlias=$KEY_ALIAS" >> android/key.properties | |
echo "keyPassword=$KEY_PASSWORD" >> android/key.properties | |
echo "storePassword=$STORE_PASSWORD" >> android/key.properties | |
echo "storeFile=$STORE_FILE" >> android/key.properties | |
- name: Run flutter doctor | |
run: flutter doctor | |
- name: Run pub get | |
run: flutter pub get | |
- name: Run flutter test | |
run: flutter test | |
- name: Build APK | |
id: build-apk | |
run: flutter build apk --split-per-abi | |
- name: Archive APK | |
uses: actions/upload-artifact@v4 | |
with: | |
name: release-apk | |
path: build/app/outputs/flutter-apk/ | |
- name: Build App Bundle | |
id: build-app-bundle | |
run: flutter build appbundle | |
- name: Archive App Bundle | |
uses: actions/upload-artifact@v4 | |
with: | |
name: release-aab | |
path: build/app/outputs/bundle/release/app-release.aab |