Skip to content

Commit

Permalink
fix: Minor folder corrections.
Browse files Browse the repository at this point in the history
  • Loading branch information
mathrunet committed Apr 10, 2023
1 parent f4fe536 commit d3ebadb
Show file tree
Hide file tree
Showing 3 changed files with 63 additions and 46 deletions.
39 changes: 22 additions & 17 deletions packages/katana_cli/lib/action/git/platform/android.dart
Original file line number Diff line number Diff line change
Expand Up @@ -50,45 +50,50 @@ Future<void> buildAndroid(
final keyProperties = base64.encode(await keyPropertiesFile.readAsBytes());
final serviceAccount = base64.encode(await serviceAccountFile.readAsBytes());
await command(
"Store `appkey.keystore` in `secrets.ANDROID_KEYSTORE`.",
"Store `appkey.keystore` in `secrets.ANDROID_KEYSTORE_${appName.toUpperCase()}`.",
[
gh,
"secret",
"set",
"ANDROID_KEYSTORE",
"ANDROID_KEYSTORE_${appName.toUpperCase()}",
"--body",
keystore,
],
);
await command(
"Store `key.properties` in `secrets.ANDROID_KEY_PROPERTIES`.",
"Store `key.properties` in `secrets.ANDROID_KEY_PROPERTIES_${appName.toUpperCase()}`.",
[
gh,
"secret",
"set",
"ANDROID_KEY_PROPERTIES",
"ANDROID_KEY_PROPERTIES_${appName.toUpperCase()}",
"--body",
keyProperties,
],
);
await command(
"Store `service_account.json` in `secrets.ANDROID_SERVICE_ACCOUNT_KEY_JSON`.",
"Store `service_account.json` in `secrets.ANDROID_SERVICE_ACCOUNT_KEY_JSON_${appName.toUpperCase()}`.",
[
gh,
"secret",
"set",
"ANDROID_SERVICE_ACCOUNT_KEY_JSON",
"ANDROID_SERVICE_ACCOUNT_KEY_JSON_${appName.toUpperCase()}",
"--body",
serviceAccount,
],
);
await const GithubActionsAndroidCliCode().generateFile(
"build_android_${appName.toLowerCase()}.yaml",
filter: (value) {
return value.replaceAll(
"#### REPLACE_ANDROID_PACKAGE_NAME ####",
packageName.replaceAll('"', ""),
);
return value
.replaceAll(
"#### REPLACE_ANDROID_PACKAGE_NAME ####",
packageName.replaceAll('"', ""),
)
.replaceAll(
"#### REPLACE_APP_NAME ####",
appName.toUpperCase(),
);
},
);
label("Rewrite `.gitignore`.");
Expand Down Expand Up @@ -262,17 +267,17 @@ jobs:
# Generate appkey.keystore from Secrets.
# Secretsからappkey.keystoreを生成。
- name: Create appkey.keystore
run: echo -n \${{ secrets.ANDROID_KEYSTORE }} | base64 -d > android/app/appkey.keystore
run: echo -n \${{ secrets.ANDROID_KEYSTORE_#### REPLACE_APP_NAME #### }} | base64 -d > android/app/appkey.keystore
# Generate service_account_key.json from Secrets.
# Secretsからservice_account_key.jsonを生成。
- name: Create service_account_key.json
run: echo -n \${{ secrets.ANDROID_SERVICE_ACCOUNT_KEY_JSON }} | base64 -d > android/service_account_key.json
run: echo -n \${{ secrets.ANDROID_SERVICE_ACCOUNT_KEY_JSON_#### REPLACE_APP_NAME #### }} | base64 -d > android/service_account_key.json
# Generate key.properties from Secrets.
# Secretsからkey.propertiesを生成。
- name: Create key.properties
run: echo \${{ secrets.ANDROID_KEY_PROPERTIES }} | base64 -d > android/key.properties
run: echo \${{ secrets.ANDROID_KEY_PROPERTIES_#### REPLACE_APP_NAME #### }} | base64 -d > android/key.properties
# Generate Apk.
# Apkを生成。
Expand All @@ -290,7 +295,7 @@ jobs:
uses: actions/upload-artifact@v2
with:
name: andoroid_apk_release
path: ./build/app/outputs/apk/release
path: ${workingPath.isEmpty ? "." : workingPath}/build/app/outputs/apk/release
retention-days: 1
# Upload the generated files.
Expand All @@ -299,7 +304,7 @@ jobs:
uses: actions/upload-artifact@v2
with:
name: andoroid_aab_release
path: ./build/app/outputs/bundle/release
path: ${workingPath.isEmpty ? "." : workingPath}/build/app/outputs/bundle/release
retention-days: 1
# Upload to Google Play Store.
Expand All @@ -310,9 +315,9 @@ jobs:
with:
track: internal
status: draft
serviceAccountJson: android/service_account_key.json
serviceAccountJson: ${workingPath.isEmpty ? "." : workingPath}/android/service_account_key.json
packageName: #### REPLACE_ANDROID_PACKAGE_NAME ####
releaseFiles: ./build/app/outputs/bundle/release/*.aab
releaseFiles: ${workingPath.isEmpty ? "." : workingPath}/build/app/outputs/bundle/release/*.aab
""";
}
}
68 changes: 40 additions & 28 deletions packages/katana_cli/lib/action/git/platform/ios.dart
Original file line number Diff line number Diff line change
Expand Up @@ -95,74 +95,81 @@ Future<void> buildIOS(
final mobileProvision =
base64.encode(await mobileProvisionFile.readAsBytes());
await command(
"Store `${mobileProvisionFile.path.last()}` in `secrets.IOS_PROVISIONING_PROFILE`.",
"Store `${mobileProvisionFile.path.last()}` in `secrets.IOS_PROVISIONING_PROFILE_${appName.toUpperCase()}`.",
[
gh,
"secret",
"set",
"IOS_PROVISIONING_PROFILE",
"IOS_PROVISIONING_PROFILE_${appName.toUpperCase()}",
"--body",
mobileProvision,
],
);
}
await command(
"Store `${p12File.path.last()}` in `secrets.IOS_CERTIFICATES_P12`.",
"Store `${p12File.path.last()}` in `secrets.IOS_CERTIFICATES_P12_${appName.toUpperCase()}`.",
[
gh,
"secret",
"set",
"IOS_CERTIFICATES_P12",
"IOS_CERTIFICATES_P12_${appName.toUpperCase()}",
"--body",
p12,
],
);
await command(
"Store `ios_certificate_password.key` in `secrets.IOS_CERTIFICATE_PASSWORD`.",
"Store `ios_certificate_password.key` in `secrets.IOS_CERTIFICATE_PASSWORD_${appName.toUpperCase()}`.",
[
gh,
"secret",
"set",
"IOS_CERTIFICATE_PASSWORD",
"IOS_CERTIFICATE_PASSWORD_${appName.toUpperCase()}",
"--body",
password,
],
);
await command(
"Store API key id in `secrets.IOS_API_KEY_ID`.",
"Store API key id in `secrets.IOS_API_KEY_ID_${appName.toUpperCase()}`.",
[
gh,
"secret",
"set",
"IOS_API_KEY_ID",
"IOS_API_KEY_ID_${appName.toUpperCase()}",
"--body",
p8Key,
],
);
await command(
"Store `${p8File.path}` in `secrets.IOS_API_AUTHKEY_P8`.",
"Store `${p8File.path}` in `secrets.IOS_API_AUTHKEY_P8_${appName.toUpperCase()}`.",
[
gh,
"secret",
"set",
"IOS_API_AUTHKEY_P8",
"IOS_API_AUTHKEY_P8_${appName.toUpperCase()}",
"--body",
p8,
],
);
await command(
"Store Issuer ID in `secrets.IOS_API_ISSUER_ID`.",
"Store Issuer ID in `secrets.IOS_API_ISSUER_ID_${appName.toUpperCase()}`.",
[
gh,
"secret",
"set",
"IOS_API_ISSUER_ID",
"IOS_API_ISSUER_ID_${appName.toUpperCase()}",
"--body",
issuerId,
],
);
await const GithubActionsIOSCliCode()
.generateFile("build_ios_${appName.toLowerCase()}.yaml");
await const GithubActionsIOSCliCode().generateFile(
"build_ios_${appName.toLowerCase()}.yaml",
filter: (value) {
return value.replaceAll(
"#### REPLACE_APP_NAME ####",
appName.toUpperCase(),
);
},
);
label("Edit Info.plist.");
final plist = File("ios/Runner/Info.plist");
final document = XmlDocument.parse(await plist.readAsString());
Expand Down Expand Up @@ -374,9 +381,9 @@ jobs:
# Certificateの設定。
- name: Import Apple Development Certificate
env:
IOS_KEYCHAIN_PASSWORD: \${{ secrets.IOS_KEYCHAIN_PASSWORD }}
IOS_CERTIFICATES_P12: \${{ secrets.IOS_CERTIFICATES_P12 }}
IOS_CERTIFICATE_PASSWORD: \${{ secrets.IOS_CERTIFICATE_PASSWORD }}
IOS_KEYCHAIN_PASSWORD: \${{ secrets.IOS_KEYCHAIN_PASSWORD_#### REPLACE_APP_NAME #### }}
IOS_CERTIFICATES_P12: \${{ secrets.IOS_CERTIFICATES_P12_#### REPLACE_APP_NAME #### }}
IOS_CERTIFICATE_PASSWORD: \${{ secrets.IOS_CERTIFICATE_PASSWORD_#### REPLACE_APP_NAME #### }}
run: |
APPLE_DEVELOPMENT_CERTIFICATE=\$RUNNER_TEMP/development_certificate.p12
KEYCHAIN_PATH=\$RUNNER_TEMP/app-signing.keychain-db
Expand All @@ -395,13 +402,13 @@ jobs:
# Create AppStoreConnectAPI key.
# AppStoreConnectAPIキーを作成。
- name: Create App Store Connect API Private Key in ./private_keys
- name: Create App Store Connect API Private Key in `pwd`/private_keys
env:
IOS_API_KEY_ID: \${{ secrets.IOS_API_KEY_ID }}
IOS_API_AUTHKEY_P8: \${{ secrets.IOS_API_AUTHKEY_P8 }}
IOS_API_KEY_ID: \${{ secrets.IOS_API_KEY_ID_#### REPLACE_APP_NAME #### }}
IOS_API_AUTHKEY_P8: \${{ secrets.IOS_API_AUTHKEY_P8_#### REPLACE_APP_NAME #### }}
run: |
mkdir ./private_keys
echo -n "\$IOS_API_AUTHKEY_P8" | base64 --decode --output ./private_keys/AuthKey_\$IOS_API_KEY_ID.p8
mkdir `pwd`/private_keys
echo -n "\$IOS_API_AUTHKEY_P8" | base64 --decode --output `pwd`/private_keys/AuthKey_\$IOS_API_KEY_ID.p8
# Flutter build.
# Flutterのビルド。
Expand All @@ -413,16 +420,16 @@ jobs:
# ビルドされたデータのアーカイブ。
- name: Archive by xcodebuild
env:
IOS_API_ISSUER_ID: \${{ secrets.IOS_API_ISSUER_ID }}
IOS_API_KEY_ID: \${{ secrets.IOS_API_KEY_ID }}
IOS_API_ISSUER_ID: \${{ secrets.IOS_API_ISSUER_ID_#### REPLACE_APP_NAME #### }}
IOS_API_KEY_ID: \${{ secrets.IOS_API_KEY_ID_#### REPLACE_APP_NAME #### }}
run: xcodebuild archive -workspace ./ios/Runner.xcworkspace -scheme Runner -configuration Release -archivePath ./build/ios/Runner.xcarchive -allowProvisioningUpdates -authenticationKeyIssuerID \$IOS_API_ISSUER_ID -authenticationKeyID \$IOS_API_KEY_ID -authenticationKeyPath `pwd`/private_keys/AuthKey_\$IOS_API_KEY_ID.p8
# Export of built archives.
# ビルドされたアーカイブのエクスポート。
- name: Export by xcodebuild
env:
IOS_API_ISSUER_ID: \${{ secrets.IOS_API_ISSUER_ID }}
IOS_API_KEY_ID: \${{ secrets.IOS_API_KEY_ID }}
IOS_API_ISSUER_ID: \${{ secrets.IOS_API_ISSUER_ID_#### REPLACE_APP_NAME #### }}
IOS_API_KEY_ID: \${{ secrets.IOS_API_KEY_ID_#### REPLACE_APP_NAME #### }}
run: xcodebuild -exportArchive -archivePath ./build/ios/Runner.xcarchive -exportPath ./build/ios/ipa -exportOptionsPlist ./ios/ExportOptions.plist -allowProvisioningUpdates -authenticationKeyIssuerID \$IOS_API_ISSUER_ID -authenticationKeyID \$IOS_API_KEY_ID -authenticationKeyPath `pwd`/private_keys/AuthKey_\$IOS_API_KEY_ID.p8
# IPA file detection.
Expand All @@ -435,9 +442,14 @@ jobs:
# IPAファイルのAppStoreConnectへのアップロード。
- name: Upload to App Store Connect
env:
IOS_API_ISSUER_ID: \${{ secrets.IOS_API_ISSUER_ID }}
IOS_API_KEY_ID: \${{ secrets.IOS_API_KEY_ID }}
IOS_API_ISSUER_ID: \${{ secrets.IOS_API_ISSUER_ID_#### REPLACE_APP_NAME #### }}
IOS_API_KEY_ID: \${{ secrets.IOS_API_KEY_ID_#### REPLACE_APP_NAME #### }}
run: xcrun altool --upload-app --type ios -f \$IPA_PATH --apiKey \$IOS_API_KEY_ID --apiIssuer \$IOS_API_ISSUER_ID
# Delete cache.
# キャッシュの削除。
- name: Clean up keychain and provisioning profile
run: security delete-keychain \$RUNNER_TEMP/app-signing.keychain-db
""";
}
}
Expand Down
2 changes: 1 addition & 1 deletion packages/katana_cli/lib/action/git/platform/web.dart
Original file line number Diff line number Diff line change
Expand Up @@ -160,7 +160,7 @@ jobs:
uses: actions/upload-artifact@v2
with:
name: web_release
path: ./build/web
path: ${workingPath.isEmpty ? "." : workingPath}/build/web
retention-days: 1
""";
}
Expand Down

0 comments on commit d3ebadb

Please sign in to comment.