From 3c3b95e98169f601cadef9d56494023d278084fa Mon Sep 17 00:00:00 2001 From: Bram De Coninck Date: Mon, 9 Sep 2024 23:00:18 +0200 Subject: [PATCH] Test release workflow --- .github/workflows/default-workflow.yml | 14 ++-- .github/workflows/release-workflow.yaml | 102 ++++++++++++++++++++++++ fastlane/Fastfile | 2 +- 3 files changed, 108 insertions(+), 10 deletions(-) create mode 100644 .github/workflows/release-workflow.yaml diff --git a/.github/workflows/default-workflow.yml b/.github/workflows/default-workflow.yml index dcc7df3..75b87ba 100644 --- a/.github/workflows/default-workflow.yml +++ b/.github/workflows/default-workflow.yml @@ -1,10 +1,8 @@ name: default-workflow -on: [push] -# TODO: -# on: -# push: -# branches: -# - main +on: + push: + branches: + - main jobs: test: name: Run tests @@ -90,6 +88,4 @@ jobs: - name: Build debug run: bundle exec fastlane ios build_debug - - # - name: Decode and save FIREBASE_APP_DISTRIBUTION_SERVICE_ACCOUNT.json - # run: echo "${{ secrets.FIREBASE_APP_DISTRIBUTION_SERVICE_ACCOUNT_JSON }}" | base64 -d > ./FIREBASE_APP_DISTRIBUTION_SERVICE_ACCOUNT.json \ No newline at end of file + \ No newline at end of file diff --git a/.github/workflows/release-workflow.yaml b/.github/workflows/release-workflow.yaml new file mode 100644 index 0000000..4447c03 --- /dev/null +++ b/.github/workflows/release-workflow.yaml @@ -0,0 +1,102 @@ +name: release-workflow +on: [push] +# TODO: +# on: +# push: +# branches: +# - release/* +jobs: + # test: + # name: Run tests + # runs-on: ubuntu-latest + # steps: + # - uses: actions/checkout@v4 + + # - name: Set up Ruby + # uses: ruby/setup-ruby@v1 + # with: + # ruby-version: "3.1.1" # TODO: keep this somewhere where it's easy to change + + # - name: Install gems + # run: bundle install + + # - name: Install FVM + # run: curl -fsSL https://fvm.app/install.sh | bash + + # - name: Set up FVM + # run: fvm use + + # - name: Run virtual machine tests + # run: bundle exec fastlane run_vm_tests + + build_android: + name: Build Android release + runs-on: ubuntu-latest + # needs: test + steps: + - uses: actions/checkout@v4 + + - name: Set up Ruby + uses: ruby/setup-ruby@v1 + with: + ruby-version: "3.1.1" # TODO: keep this somewhere where it's easy to change + + - name: Install gems + run: bundle install + + - name: Install FVM + run: curl -fsSL https://fvm.app/install.sh | bash + + - name: Set up FVM + run: fvm use + + - name: Decode and save google-services.json + run: echo "${{ secrets.GOOGLE_SERVICES_JSON }}" | base64 -d > ./android/app/google-services.json + + - name: Decode and save key.properties + run: echo "${{ secrets.ANDROID_KEY_PROPERTIES }}" | base64 -d > ./android/key.properties + + - name: Decode and save keystore + run: echo "${{ secrets.COCKTAILR_UPLOAD_KEYSTORE_JKS }}" | base64 -d > ./android/app/cocktailr-upload-keystore.jks + + - name: Set up JDK 17 + uses: actions/setup-java@v4 + with: + distribution: 'temurin' + java-version: '17' + + - name: Build release + run: bundle exec fastlane android build_release + + - name: Upload build artifact + uses: actions/upload-artifact@v4 + with: + name: app-release-apk + path: ./build/app/outputs/flutter-apk/app-release.apk + + distribute: + name: Distribute Android release + runs-on: ubuntu-latest + needs: build_android + steps: + - uses: actions/checkout@v4 + + - name: Set up Ruby + uses: ruby/setup-ruby@v1 + with: + ruby-version: "3.1.1" # TODO: keep this somewhere where it's easy to change + + - name: Install gems + run: bundle install + + - name: Decode and save Firebase App Distribution service account + run: echo "${{ secrets.FIREBASE_APP_DISTRIBUTION_SERVICE_ACCOUNT_JSON }}" | base64 -d > ./FIREBASE_APP_DISTRIBUTION_SERVICE_ACCOUNT.json + + - name: Download build artifact + uses: actions/download-artifact@v4 + with: + name: app-release-apk + path: ./build/app/outputs/flutter-apk + + - name: Distribute release + run: bundle exec fastlane android distribute_firebase \ No newline at end of file diff --git a/fastlane/Fastfile b/fastlane/Fastfile index 6727840..0826be4 100644 --- a/fastlane/Fastfile +++ b/fastlane/Fastfile @@ -28,7 +28,7 @@ platform :android do lane :distribute_firebase do Dir.chdir("..") do android_artifact_path = File.expand_path("./build/app/outputs/flutter-apk/app-release.apk", Dir.pwd) - service_credentials_file = File.expand_path("./FIREBASE_APP_DISTRIBUTION_SERVICE_ACCOUNT_KEY.json", Dir.pwd) + service_credentials_file = File.expand_path("./FIREBASE_APP_DISTRIBUTION_SERVICE_ACCOUNT.json", Dir.pwd) firebase_app_distribution( app: "1:30086613147:android:9d5c7c6b5005dcdddb1e3e",