From 73e2c90222e0b891b48f63440f273455e5e91faa Mon Sep 17 00:00:00 2001 From: "balazsmanus@chameleon" Date: Tue, 25 Feb 2025 17:28:53 +0100 Subject: [PATCH] upload builder.yml --- .github/workflows/android.yml | 57 --------------- .github/workflows/builder.yml | 126 ++++++++++++++++++++++++++++++++++ .github/workflows/ios.yml | 65 ------------------ 3 files changed, 126 insertions(+), 122 deletions(-) delete mode 100644 .github/workflows/android.yml create mode 100644 .github/workflows/builder.yml delete mode 100644 .github/workflows/ios.yml diff --git a/.github/workflows/android.yml b/.github/workflows/android.yml deleted file mode 100644 index 31cc44cf..00000000 --- a/.github/workflows/android.yml +++ /dev/null @@ -1,57 +0,0 @@ -name: Build for Android - -on: workflow_dispatch - -jobs: - build: - name: Build for Android - runs-on: ubuntu-latest - - steps: - - name: Download repository - uses: actions/checkout@v4.2.2 - - - name: Download Android keystore - id: android_keystore - uses: timheuer/base64-to-file@v1.2.4 - with: - fileName: firkaapp.jks - encodedString: ${{ secrets.KEYSTORE_BASE64 }} - - - name: Create key.properties - run: | - echo "storeFile=${{ steps.android_keystore.outputs.filePath }}" > refilc/android/key.properties - echo "storePassword=${{ secrets.KEY_PASSWORD }}" >> refilc/android/key.properties - echo "keyPassword=${{ secrets.KEY_PASSWORD }}" >> refilc/android/key.properties - echo "keyAlias=${{ secrets.KEY_ALIAS }}" >> refilc/android/key.properties - cp refilc/android/key.properties refilc/android/debugkey.properties - - - uses: actions/setup-java@v4.7.0 - with: - distribution: "temurin" - java-version: "17" - cache: "gradle" - - - uses: subosito/flutter-action@v2.18.0 - with: - flutter-version: "3.27.1" - channel: "stable" - cache: "true" - - - name: Install dependencies - run: | - chmod +x fix-pub.sh - ./fix-pub.sh - - - name: Build - run: | - cd refilc - chmod +x build.sh - ./build.sh - cd .. - - - name: Upload Android Release - uses: actions/upload-artifact@v4.6.1 - with: - name: android-release - path: refilc/build/app/outputs/flutter-apk/app-*-release.apk diff --git a/.github/workflows/builder.yml b/.github/workflows/builder.yml new file mode 100644 index 00000000..71944652 --- /dev/null +++ b/.github/workflows/builder.yml @@ -0,0 +1,126 @@ +name: Epic Firka Builder Workflow + +on: workflow_dispatch + +jobs: + build-android: + name: Build for Android + runs-on: ubuntu-latest + + steps: + - name: Download repository + uses: actions/checkout@v4.2.2 + + - name: Download Android keystore + id: android_keystore + uses: timheuer/base64-to-file@v1.2.4 + with: + fileName: firkaapp.jks + encodedString: ${{ secrets.KEYSTORE_BASE64 }} + + - name: Create key.properties + run: | + echo "storeFile=${{ steps.android_keystore.outputs.filePath }}" > refilc/android/key.properties + echo "storePassword=${{ secrets.KEY_PASSWORD }}" >> refilc/android/key.properties + echo "keyPassword=${{ secrets.KEY_PASSWORD }}" >> refilc/android/key.properties + echo "keyAlias=${{ secrets.KEY_ALIAS }}" >> refilc/android/key.properties + cp refilc/android/key.properties refilc/android/debugkey.properties + + - uses: actions/setup-java@v4.7.0 + with: + distribution: "temurin" + java-version: "17" + cache: "gradle" + + - uses: subosito/flutter-action@v2.18.0 + with: + flutter-version: "3.27.1" + channel: "stable" + cache: "true" + + - name: Install dependencies + run: | + chmod +x fix-pub.sh + ./fix-pub.sh + + - name: Build + run: | + cd refilc + chmod +x build.sh + ./build.sh + cd .. + + - name: Upload Android Release + uses: actions/upload-artifact@v4.6.1 + with: + name: android-apks + path: refilc/build/app/outputs/flutter-apk/app-*-release.apk + + +# build-ios: +# name: Build for IOS +# runs-on: macos-latest +# steps: +# - name: Download repository +# uses: actions/checkout@v4.2.2 +# +# - name: Install the Apple certificate and provisioning profile +# env: +# BUILD_CERTIFICATE_BASE64: ${{ secrets.BUILD_CERTIFICATE_BASE64 }} +# P12_PASSWORD: ${{ secrets.P12_PASSWORD }} +# BUILD_PROVISION_PROFILE_BASE64: ${{ secrets.BUILD_PROVISION_PROFILE_BASE64 }} +# KEYCHAIN_PASSWORD: ${{ secrets.KEYCHAIN_PASSWORD }} +# +# run: | +# # create variables +# CERTIFICATE_PATH=$RUNNER_TEMP/build_certificate.p12 +# PP_PATH=$RUNNER_TEMP/build_pp.mobileprovision +# KEYCHAIN_PATH=$RUNNER_TEMP/app-signing.keychain-db +# +# # import certificate and provisioning profile from secrets +# echo -n "$BUILD_CERTIFICATE_BASE64" | base64 --decode --output $CERTIFICATE_PATH +# echo -n "$BUILD_PROVISION_PROFILE_BASE64" | base64 --decode --output $PP_PATH +# +# # create temporary keychain +# security create-keychain -p "$KEYCHAIN_PASSWORD" $KEYCHAIN_PATH +# security set-keychain-settings -lut 21600 $KEYCHAIN_PATH +# security unlock-keychain -p "$KEYCHAIN_PASSWORD" $KEYCHAIN_PATH +# +# # import certificate to keychain +# security import $CERTIFICATE_PATH -P "$P12_PASSWORD" -A -t cert -f pkcs12 -k $KEYCHAIN_PATH +# security list-keychain -d user -s $KEYCHAIN_PATH +# +# # apply provisioning profile +# mkdir -p ~/Library/MobileDevice/Provisioning\ Profiles +# cp $PP_PATH ~/Library/MobileDevice/Provisioning\ Profiles +# +# - uses: subosito/flutter-action@v2.18.0 +# with: +# flutter-version: "3.27.1" +# channel: "stable" +# cache: "true" +# +# - name: Install dependencies +# run: | +# chmod +x fix-pub.sh +# bash fix-pub.sh +# +# - name: Building IPA +# run: | +# cd refilc +# chmod +x build-ipa.sh +# bash build-ipa.sh +# cd .. +# +# - name: Upload Android Release +# uses: actions/upload-artifact@v4.6.1 +# with: +# name: ios-ipa +# # refilc/build/app/outputs/flutter-apk/app-*-release.apk +# path: refilc/build/app/outputs/ios/ipa/*.ipa +# +# - name: Clean up keychain and provisioning profile +# if: ${{ always() }} +# run: | +# security delete-keychain $RUNNER_TEMP/app-signing.keychain-db +# rm ~/Library/MobileDevice/Provisioning\ Profiles/build_pp.mobileprovision \ No newline at end of file diff --git a/.github/workflows/ios.yml b/.github/workflows/ios.yml deleted file mode 100644 index c4569265..00000000 --- a/.github/workflows/ios.yml +++ /dev/null @@ -1,65 +0,0 @@ -name: "Build and Publish iOS" -on: workflow_dispatch - -jobs: - build: - runs-on: macos-latest - steps: - # Checks-out our repository under $GITHUB_WORKSPACE, so our job can access it - - name: Checkout repository - uses: actions/checkout@v2 - - # Install the Apple certificate and provisioning profile - - name: Install the Apple certificate and provisioning profile - env: - BUILD_CERTIFICATE_BASE64: ${{ secrets.BUILD_CERTIFICATE_BASE64 }} - P12_PASSWORD: ${{ secrets.P12_PASSWORD }} - BUILD_PROVISION_PROFILE_BASE64: ${{ secrets.BUILD_PROVISION_PROFILE_BASE64 }} - KEYCHAIN_PASSWORD: ${{ secrets.KEYCHAIN_PASSWORD }} - run: | - # create variables - CERTIFICATE_PATH=$RUNNER_TEMP/build_certificate.p12 - PP_PATH=$RUNNER_TEMP/build_pp.mobileprovision - KEYCHAIN_PATH=$RUNNER_TEMP/app-signing.keychain-db - # import certificate and provisioning profile from secrets - echo -n "$BUILD_CERTIFICATE_BASE64" | base64 --decode --output $CERTIFICATE_PATH - echo -n "$BUILD_PROVISION_PROFILE_BASE64" | base64 --decode --output $PP_PATH - # create temporary keychain - security create-keychain -p "$KEYCHAIN_PASSWORD" $KEYCHAIN_PATH - security set-keychain-settings -lut 21600 $KEYCHAIN_PATH - security unlock-keychain -p "$KEYCHAIN_PASSWORD" $KEYCHAIN_PATH - # import certificate to keychain - security import $CERTIFICATE_PATH -P "$P12_PASSWORD" -A -t cert -f pkcs12 -k $KEYCHAIN_PATH - security list-keychain -d user -s $KEYCHAIN_PATH - # apply provisioning profile - mkdir -p ~/Library/MobileDevice/Provisioning\ Profiles - cp $PP_PATH ~/Library/MobileDevice/Provisioning\ Profiles - # Install flutter - - name: Flutter get - uses: subosito/flutter-action@v1 - with: - flutter-version: '3.10.2' - - # Install your project's dependencies - - name: Install dependencies - run: bash fix-pub.sh - - # Build and sign the ipa using a single flutter command - - name: Building IPA - working-directory: refilc - run: bash build-ipa.sh - - # Collect the file and upload as artifact - - name: collect ipa artifacts - uses: actions/upload-artifact@v2 - with: - name: release-ipa - # Path to the release files - path: refilc/build/ios/ipa/*.ipa - - # Important! Cleanup: remove the certificate and provisioning profile from the runner! - - name: Clean up keychain and provisioning profile - if: ${{ always() }} - run: | - security delete-keychain $RUNNER_TEMP/app-signing.keychain-db - rm ~/Library/MobileDevice/Provisioning\ Profiles/build_pp.mobileprovision