6177214e-ce7c-49e3-99de-ff9721b26f63 — Commit 590c1dd8

AuthorMikkel Thygesen<mikkelet@gmail.com>
Date2026-03-09 17:15:27 +0100
Devops: updated scripts

Changed files

.github/workflows/build-ios-stage.yml              | 47 ++++++----------------
 .github/workflows/scripts/all_download_dotenv.sh   |  5 +++
 .../workflows/scripts/all_install_flutterfire.sh   |  2 +
 .github/workflows/scripts/all_run_pigeon.sh        |  2 +
 .github/workflows/scripts/ios_archive.sh           |  9 +++++
 .github/workflows/scripts/ios_build_ipa.sh         |  3 ++
 .github/workflows/scripts/ios_export.sh            |  8 ++++
 .github/workflows/scripts/ios_upload.sh            | 12 ++++++
 8 files changed, 53 insertions(+), 35 deletions(-)

Diff

diff --git a/.github/workflows/build-ios-stage.yml b/.github/workflows/build-ios-stage.yml
index 9cd03770..f5227c26 100644
--- a/.github/workflows/build-ios-stage.yml
+++ b/.github/workflows/build-ios-stage.yml
@@ -41,27 +41,26 @@ jobs:
- name: Download dotenv
env:
DOTENV_FILE: ${{ secrets.DOTENV_STAGE }}
- run: |
- mkdir comwell_key_app/env
- DOTENV_PATH=comwell_key_app/env/.stage.env
- echo "$DOTENV_FILE" | base64 -d > $DOTENV_PATH
+ FILE_NAME: .stage.env
+ run: >-
+ sh .github/workflows/scripts/all_download_dotenv.sh
+ $DOTENV_FILE
+ $FILE_NAME
- name: Update build number
run: |
- sh scripts/ios_update_version_number.sh
+ sh .github/workflows/scripts/ios_update_version_number.sh
- name: Enabled SPM
run: flutter config --enable-swift-package-manager
- name: Flutterfire
run: |
- npm install -g firebase-tools
- dart pub global activate flutterfire_cli
+ sh .github/workflows/scripts/all_install_flutterfire.sh
- name: pigeon
run: |
- cd mobilekeys_sdk_plugin
- sh pigeon.sh
+ sh .github/workflows/scripts/all_run_pigeon.sh
- name: Update Pods
run: |
@@ -71,44 +70,22 @@ jobs:
env:
FLAVOR: stage
run: |
- cd comwell_key_app
- flutter build ipa --flavor $FLAVOR --release --no-codesign
+ sh .github/workflows/scripts/ios_build_ipa.sh $FLAVOR
- name: Archive
env:
- WORKSPACE: comwell_key_app/ios/Runner.xcworkspace
SCHEME: Stage
- ARCHIVE_PATH: comwell_key_app/build/ios/archive/Runner.xcarchive
- run: >-
- xcodebuild
- -workspace $WORKSPACE
- -scheme $SCHEME
- -archivePath $ARCHIVE_PATH
- archive
+ run: sh .github/workflows/scripts/ios_archive.sh $SCHEME
- name: export
env:
- ARCHIVE_PATH: comwell_key_app/build/ios/archive/Runner.xcarchive
EXPORT_OPTIONS_PATH: comwell_key_app/ios/ExportOptionsStage.plist
- EXPORT_PATH: comwell_key_app/output
- run: >-
- xcodebuild -exportArchive
- -archivePath $ARCHIVE_PATH
- -exportPath $EXPORT_PATH
- -exportOptionsPlist $EXPORT_OPTIONS_PATH
+ run: sh .github/workflows/scripts/ios_archive.sh EXPORT_OPTIONS_PATH
- name: Validate & upload
env:
API_KEY: ${{ secrets.APP_STORE_API_KEY }}
ISSUER_ID: ${{ secrets.APP_STORE_ISSUER_ID }}
APP_STORE_KEY_ID: ${{ secrets.APP_STORE_KEY_ID }}
- WORKSPACE_PATH: ${{ github.workspace }}
IPA_PATH: "comwell_key_app/output/Comwell Phoenix.ipa"
- run: |
- mkdir ~/.private_keys
- API_KEY_FILE_NAME=AuthKey_$APP_STORE_KEY_ID.p8
- API_KEY_PATH=~/.private_keys/$API_KEY_FILE_NAME
- echo -n "$API_KEY" | base64 --decode -o $API_KEY_PATH
-
- xcrun altool --validate-app -f "$IPA_PATH" -t ios --apiKey $APP_STORE_KEY_ID --apiIssuer $ISSUER_ID
- xcrun altool --upload-app -f "$IPA_PATH" -t ios --apiKey $APP_STORE_KEY_ID --apiIssuer $ISSUER_ID
\ No newline at end of file
+ run: sh .github/workflows/scripts/ios_upload.sh $APP_STORE_KEY_ID $IPA_PATH $ISSUER_ID $API_KEY
diff --git a/.github/workflows/scripts/all_download_dotenv.sh b/.github/workflows/scripts/all_download_dotenv.sh
new file mode 100644
index 00000000..adea55b0
--- /dev/null
+++ b/.github/workflows/scripts/all_download_dotenv.sh
@@ -0,0 +1,5 @@
+DOTENV_FILE=$1
+FILE_NAME=$2
+mkdir comwell_key_app/env
+DOTENV_PATH=comwell_key_app/env/$FILE_NAME
+echo "$DOTENV_FILE" | base64 -d > $DOTENV_PATH
\ No newline at end of file
diff --git a/.github/workflows/scripts/all_install_flutterfire.sh b/.github/workflows/scripts/all_install_flutterfire.sh
new file mode 100644
index 00000000..3145ebe4
--- /dev/null
+++ b/.github/workflows/scripts/all_install_flutterfire.sh
@@ -0,0 +1,2 @@
+npm install -g firebase-tools
+dart pub global activate flutterfire_cli
\ No newline at end of file
diff --git a/.github/workflows/scripts/all_run_pigeon.sh b/.github/workflows/scripts/all_run_pigeon.sh
new file mode 100644
index 00000000..3cca5ecb
--- /dev/null
+++ b/.github/workflows/scripts/all_run_pigeon.sh
@@ -0,0 +1,2 @@
+cd mobilekeys_sdk_plugin
+sh pigeon.sh
diff --git a/.github/workflows/scripts/ios_archive.sh b/.github/workflows/scripts/ios_archive.sh
new file mode 100644
index 00000000..54ee358d
--- /dev/null
+++ b/.github/workflows/scripts/ios_archive.sh
@@ -0,0 +1,9 @@
+SCHEME=$1
+WORKSPACE=comwell_key_app/ios/Runner.xcworkspace
+ARCHIVE_PATH=comwell_key_app/build/ios/archive/Runner.xcarchive
+
+xcodebuild \
+-workspace $WORKSPACE \
+-scheme $SCHEME \
+-archivePath $ARCHIVE_PATH \
+archive
\ No newline at end of file
diff --git a/.github/workflows/scripts/ios_build_ipa.sh b/.github/workflows/scripts/ios_build_ipa.sh
new file mode 100644
index 00000000..137a2b68
--- /dev/null
+++ b/.github/workflows/scripts/ios_build_ipa.sh
@@ -0,0 +1,3 @@
+FLAVOR=$1
+cd comwell_key_app
+flutter build ipa --flavor $FLAVOR --release --no-codesign
\ No newline at end of file
diff --git a/.github/workflows/scripts/ios_export.sh b/.github/workflows/scripts/ios_export.sh
new file mode 100644
index 00000000..8b867bf7
--- /dev/null
+++ b/.github/workflows/scripts/ios_export.sh
@@ -0,0 +1,8 @@
+EXPORT_OPTIONS_PATH=$1
+ARCHIVE_PATH=comwell_key_app/build/ios/archive/Runner.xcarchive
+EXPORT_PATH=comwell_key_app/output
+
+xcodebuild -exportArchive \
+-archivePath $ARCHIVE_PATH \
+-exportPath $EXPORT_PATH \
+-exportOptionsPlist $EXPORT_OPTIONS_PATH
\ No newline at end of file
diff --git a/.github/workflows/scripts/ios_upload.sh b/.github/workflows/scripts/ios_upload.sh
new file mode 100644
index 00000000..1cbf360f
--- /dev/null
+++ b/.github/workflows/scripts/ios_upload.sh
@@ -0,0 +1,12 @@
+APP_STORE_KEY_ID=$1
+IPA_PATH=$2
+ISSUER_ID=$3
+API_KEY=$4
+
+mkdir ~/.private_keys
+API_KEY_FILE_NAME=AuthKey_$APP_STORE_KEY_ID.p8
+API_KEY_PATH=~/.private_keys/$API_KEY_FILE_NAME
+echo -n "$API_KEY" | base64 --decode -o $API_KEY_PATH
+
+xcrun altool --validate-app -f "$IPA_PATH" -t ios --apiKey $APP_STORE_KEY_ID --apiIssuer $ISSUER_ID
+xcrun altool --upload-app -f "$IPA_PATH" -t ios --apiKey $APP_STORE_KEY_ID --apiIssuer $ISSUER_ID
\ No newline at end of file