forked from picnic-app-cool/picnic-app
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
0 parents
commit e932ac4
Showing
5,452 changed files
with
281,164 additions
and
0 deletions.
The diff you're trying to view is too large. We only load the first 3000 changed files.
There are no files selected for viewing
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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,23 @@ | ||
FIREBASE_MESSAGING_SENDER_ID= | ||
FIREBASE_PROJECT_ID= | ||
FIREBASE_PROJECT_ID= | ||
FIREBASE_DATABASE_URL= | ||
|
||
# ios | ||
FIREBASE_IOS_API_KEY= | ||
FIREBASE_APP_ID= | ||
FIREBASE_ANDROID_CLIENT_ID= | ||
FIREBASE_IOS_CLIENT_ID= | ||
FIREBASE_IOS_BUNDLE_ID= | ||
|
||
|
||
#android | ||
FIREBASE_ANDROID_API_KEY= | ||
FIREBASE_ANDROID_APP_ID= | ||
FIREBASE_DATABASE_URL= | ||
|
||
#macOS | ||
FIREBASE_MACOS_API_KEY= | ||
FIREBASE_MACOS_APP_ID= | ||
FIREBASE_MACOS_IOS_CLIENT_ID= | ||
FIREBASE_MACOS_IOS_BUNDLE_ID= |
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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,4 @@ | ||
{ | ||
"flutterSdkVersion": "3.7.11", | ||
"flavors": {} | ||
} |
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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,120 @@ | ||
name: Build Android application | ||
description: Builds apk for Android | ||
|
||
inputs: | ||
buildType: | ||
description: Whether to build release, firebase or profile version. "release" for release version, "profile" for firebase version. | ||
required: true | ||
fastlaneCertificatesSSHPrivateKey: | ||
description: "private ssh key for fastlane certificates repo" | ||
required: true | ||
matchPassword: | ||
description: "password for match certificates repo" | ||
required: true | ||
vesdkLicenseVideoIos: | ||
description: "vesdk_license_video.ios license file contents" | ||
required: true | ||
vesdkLicenseVideoAndroid: | ||
description: "vesdk_license_video.android license file contents" | ||
required: true | ||
pesdkLicenseIos: | ||
description: "pesdk_license.ios license file contents" | ||
required: true | ||
pesdkLicenseAndroid: | ||
description: "pesdk_license.android license file contents" | ||
required: true | ||
androidKeystoreFileData: | ||
description: "release.keystore file contents" | ||
required: false | ||
androidStorePassword: | ||
description: "Store password for signing" | ||
required: false | ||
androidKeyAlias: | ||
description: "Key alias for signing" | ||
required: false | ||
androidKeyPassword: | ||
description: "Key password for signing" | ||
required: false | ||
dartDebugInfoPath: | ||
description: "Path for Dart debug info (only for release)" | ||
required: false | ||
default: "${{ github.workspace }}/android/debug-info" | ||
ENVIRONMENT_CONFIG_PRODUCTION: | ||
description: '.env and firebase files config file, bas64-encoded' | ||
required: true | ||
|
||
runs: | ||
using: composite | ||
steps: | ||
- name: Prepare environment | ||
uses: ./.github/actions/prepare | ||
|
||
- name: Extract config | ||
run: | | ||
echo $ENVIRONMENT_CONFIG_PRODUCTION | base64 -d > config.zip | ||
make extract_config | ||
shell: bash | ||
env: | ||
ENVIRONMENT_CONFIG_PRODUCTION: ${{ inputs.ENVIRONMENT_CONFIG_PRODUCTION }} | ||
|
||
- name: Set licenses | ||
uses: ./.github/actions/set_licenses | ||
with: | ||
vesdkLicenseVideoIos: ${{ inputs.vesdkLicenseVideoIos }} | ||
vesdkLicenseVideoAndroid: ${{ inputs.vesdkLicenseVideoAndroid }} | ||
pesdkLicenseIos: ${{ inputs.pesdkLicenseIos }} | ||
pesdkLicenseAndroid: ${{ inputs.pesdkLicenseAndroid }} | ||
|
||
- name: Set firebase dart envs | ||
if: ${{ inputs.buildType == 'profile' }} | ||
run: | | ||
echo "BUILD_SOURCE_NAME=firebase" >> $GITHUB_ENV | ||
shell: bash | ||
|
||
- name: prepare keystore | ||
if: ${{ inputs.buildType == 'release' }} | ||
run: | | ||
echo "${PICNIC_ANDROID_KEYSTORE_FILE_DATA}" | base64 -d > android/app/signing/release.keystore | ||
env: | ||
PICNIC_ANDROID_KEYSTORE_FILE_DATA: ${{ inputs.androidKeystoreFileData }} | ||
shell: bash | ||
|
||
- name: Build release apk | ||
id: build_release | ||
if: ${{ inputs.buildType == 'release' }} | ||
working-directory: android | ||
run: | | ||
flutter build appbundle \ | ||
--release \ | ||
--dart-define="BUILD_SOURCE_NAME=google play" \ | ||
--split-debug-info="${{ inputs.dartDebugInfoPath }}" \ | ||
--obfuscate | ||
echo "APK_PATH=build/app/outputs/flutter-apk/app-release.apk" >> $GITHUB_OUTPUT | ||
shell: bash | ||
env: | ||
PICNIC_ANDROID_STORE_PASSWORD: ${{ inputs.androidStorePassword }} | ||
PICNIC_ANDROID_KEY_ALIAS: ${{ inputs.androidKeyAlias }} | ||
PICNIC_ANDROID_KEY_PASSWORD: ${{ inputs.androidKeyPassword }} | ||
|
||
- name: Build profile apk | ||
id: build_profile | ||
if: ${{ inputs.buildType == 'profile' }} | ||
working-directory: android | ||
run: | | ||
flutter build apk \ | ||
--profile \ | ||
--build-number ${{ github.run_number }} \ | ||
--dart-define="BUILD_SOURCE_NAME=${BUILD_SOURCE_NAME}" \ | ||
--dart-define="BUILD_SOURCE_BRANCH=${BUILD_SOURCE_BRANCH}" \ | ||
--dart-define="BUILD_SOURCE_COMMIT=${BUILD_SOURCE_COMMIT}" | ||
echo "APK_PATH=build/app/outputs/flutter-apk/app-profile.apk" >> $GITHUB_OUTPUT | ||
shell: bash | ||
|
||
- name: Check pubspec.lock changes | ||
run: git diff --exit-code pubspec.lock | ||
shell: bash | ||
|
||
outputs: | ||
apk-path: | ||
description: "Path of built apk file" | ||
value: "${{ steps.build_release.outputs.APK_PATH }}${{ steps.build_profile.outputs.APK_PATH }}" |
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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,102 @@ | ||
name: Build iOS application | ||
description: Builds ipa for iOS | ||
|
||
inputs: | ||
buildType: | ||
description: Whether to build release, firebase or profile version. "release" for release version, "profile" for firebase version. | ||
required: true | ||
fastlaneCertificatesSSHPrivateKey: | ||
description: "private ssh key for fastlane certificates repo" | ||
required: true | ||
matchPassword: | ||
description: "password for match certificates repo" | ||
required: true | ||
vesdkLicenseVideoIos: | ||
description: "vesdk_license_video.ios license file contents" | ||
required: true | ||
vesdkLicenseVideoAndroid: | ||
description: "vesdk_license_video.android license file contents" | ||
required: true | ||
pesdkLicenseIos: | ||
description: "pesdk_license.ios license file contents" | ||
required: true | ||
pesdkLicenseAndroid: | ||
description: "pesdk_license.android license file contents" | ||
required: true | ||
dartDebugInfoPath: | ||
description: "Path for Dart debug info (only for release)" | ||
required: false | ||
default: "${{ github.workspace }}/ios/debug-info" | ||
ENVIRONMENT_CONFIG_PRODUCTION: | ||
description: '.env and firebase files config file, bas64-encoded' | ||
required: true | ||
|
||
runs: | ||
using: composite | ||
steps: | ||
- name: Prepare environment | ||
uses: ./.github/actions/prepare | ||
|
||
- name: Extract config | ||
run: | | ||
echo $ENVIRONMENT_CONFIG_PRODUCTION | base64 -d > config.zip | ||
make extract_config | ||
shell: bash | ||
env: | ||
ENVIRONMENT_CONFIG_PRODUCTION: ${{ inputs.ENVIRONMENT_CONFIG_PRODUCTION }} | ||
|
||
- name: Prepare iOS | ||
uses: ./.github/actions/prepare_ios | ||
with: | ||
FASTLANE_CERTIFICATES_SSH_PRIVATE_KEY: ${{ inputs.fastlaneCertificatesSSHPrivateKey }} | ||
MATCH_PASSWORD: ${{ inputs.matchPassword }} | ||
|
||
- name: Set licenses | ||
uses: ./.github/actions/set_licenses | ||
with: | ||
vesdkLicenseVideoIos: ${{ inputs.vesdkLicenseVideoIos }} | ||
vesdkLicenseVideoAndroid: ${{ inputs.vesdkLicenseVideoAndroid }} | ||
pesdkLicenseIos: ${{ inputs.pesdkLicenseIos }} | ||
pesdkLicenseAndroid: ${{ inputs.pesdkLicenseAndroid }} | ||
|
||
- name: Set firebase dart envs | ||
if: ${{ inputs.buildType == 'profile' }} | ||
run: | | ||
echo "BUILD_SOURCE_NAME=firebase" >> $GITHUB_ENV | ||
shell: bash | ||
|
||
- name: Build release ipa | ||
id: build_release | ||
if: ${{ inputs.buildType == 'release' }} | ||
run: | | ||
flutter build ipa \ | ||
--release \ | ||
--export-options-plist ios/export-appstore.plist \ | ||
--dart-define="BUILD_SOURCE_NAME=app store" \ | ||
--split-debug-info="${{ inputs.dartDebugInfoPath }}" \ | ||
--obfuscate | ||
echo "IPA_PATH=build/ios/ipa/Picnic.ipa" >> $GITHUB_OUTPUT | ||
shell: bash | ||
|
||
- name: Build profile ipa | ||
id: build_profile | ||
if: ${{ inputs.buildType == 'profile' }} | ||
run: | | ||
flutter build ipa \ | ||
--profile \ | ||
--build-number ${{ github.run_number }} \ | ||
--export-options-plist ios/export-adhoc.plist \ | ||
--dart-define="BUILD_SOURCE_NAME=${BUILD_SOURCE_NAME}" \ | ||
--dart-define="BUILD_SOURCE_BRANCH=${BUILD_SOURCE_BRANCH}" \ | ||
--dart-define="BUILD_SOURCE_COMMIT=${BUILD_SOURCE_COMMIT}" | ||
echo "IPA_PATH=build/ios/ipa/Picnic.ipa" >> $GITHUB_OUTPUT | ||
shell: bash | ||
|
||
- name: Check Podfile.lock changes | ||
run: git diff --exit-code ios/Podfile.lock | ||
shell: bash | ||
|
||
outputs: | ||
ipa-path: | ||
description: "Path of built ipa file" | ||
value: "${{ steps.build_release.outputs.IPA_PATH }}${{ steps.build_profile.outputs.IPA_PATH }}" |
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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,136 @@ | ||
name: Build MacOS application | ||
description: Builds DMG image for MacOS | ||
|
||
inputs: | ||
buildType: | ||
description: Whether to build release, firebase or profile version. "release" for release version, "profile" for firebase version. | ||
required: true | ||
fastlaneCertificatesSSHPrivateKey: | ||
description: "private ssh key for fastlane certificates repo" | ||
required: true | ||
matchPassword: | ||
description: "password for match certificates repo" | ||
required: true | ||
vesdkLicenseVideoIos: | ||
description: "vesdk_license_video.ios license file contents" | ||
required: true | ||
vesdkLicenseVideoAndroid: | ||
description: "vesdk_license_video.android license file contents" | ||
required: true | ||
pesdkLicenseIos: | ||
description: "pesdk_license.ios license file contents" | ||
required: true | ||
pesdkLicenseAndroid: | ||
description: "pesdk_license.android license file contents" | ||
required: true | ||
appstoreConnectAPIKey: | ||
description: "App Store Connect key contents" | ||
required: true | ||
IOSKeyID: | ||
description: "App Store Connect key ID" | ||
required: true | ||
IOSKeyIssuerID: | ||
description: "App Store Connect issuer ID" | ||
required: true | ||
skipFileChangeChecks: | ||
description: "if false, will run Podfile/pubspec file change checks" | ||
default: "false" | ||
ENVIRONMENT_CONFIG_PRODUCTION: | ||
description: '.env and firebase files config file, bas64-encoded' | ||
required: true | ||
|
||
runs: | ||
using: composite | ||
steps: | ||
- name: Prepare environment | ||
uses: ./.github/actions/prepare | ||
|
||
- name: Extract config | ||
run: | | ||
echo $ENVIRONMENT_CONFIG_PRODUCTION | base64 -d > config.zip | ||
make extract_config | ||
shell: bash | ||
env: | ||
ENVIRONMENT_CONFIG_PRODUCTION: ${{ inputs.ENVIRONMENT_CONFIG_PRODUCTION }} | ||
|
||
- name: Prepare MacOS | ||
uses: ./.github/actions/prepare_macos | ||
with: | ||
FASTLANE_CERTIFICATES_SSH_PRIVATE_KEY: ${{ inputs.fastlaneCertificatesSSHPrivateKey }} | ||
MATCH_PASSWORD: ${{ inputs.matchPassword }} | ||
|
||
- name: Set licenses | ||
uses: ./.github/actions/set_licenses | ||
with: | ||
vesdkLicenseVideoIos: ${{ inputs.vesdkLicenseVideoIos }} | ||
vesdkLicenseVideoAndroid: ${{ inputs.vesdkLicenseVideoAndroid }} | ||
pesdkLicenseIos: ${{ inputs.pesdkLicenseIos }} | ||
pesdkLicenseAndroid: ${{ inputs.pesdkLicenseAndroid }} | ||
|
||
- name: Build release macOS | ||
if: ${{ inputs.buildType == 'release' }} | ||
working-directory: packages/picnic-desktop-app | ||
run: | | ||
flutter build macos --release --build-number ${{ github.run_number }} | ||
shell: bash | ||
env: | ||
VERBOSE_SCRIPT_LOGGING: "true" | ||
|
||
- name: Build profile macOS | ||
if: ${{ inputs.buildType == 'profile' }} | ||
working-directory: packages/picnic-desktop-app | ||
run: | | ||
flutter build macos --profile --build-number ${{ github.run_number }} --dart-define="BUILD_SOURCE_NAME=${BUILD_SOURCE_NAME}" --dart-define="BUILD_SOURCE_BRANCH=${BUILD_SOURCE_BRANCH}" --dart-define="BUILD_SOURCE_COMMIT=${BUILD_SOURCE_COMMIT}" | ||
shell: bash | ||
env: | ||
VERBOSE_SCRIPT_LOGGING: "true" | ||
|
||
- name: Check Podfile.lock file for changes | ||
if: ${{ inputs.skipFileChangeChecks == 'false' }} | ||
run: git diff --exit-code packages/picnic-desktop-app/macos/Podfile.lock | ||
shell: bash | ||
|
||
- name: Check pubspec.lock changes | ||
if: ${{ inputs.skipFileChangeChecks == 'false' }} | ||
run: git diff --exit-code packages/picnic-desktop-app/pubspec.lock | ||
shell: bash | ||
|
||
- name: notarize macOS | ||
working-directory: packages/picnic-desktop-app/macos | ||
run: | | ||
bundle exec fastlane notarize_macos build_type:${{ inputs.buildType }} | ||
shell: bash | ||
env: | ||
PICNIC_APPSTORECONNECT_API_KEY: ${{ inputs.appstoreConnectAPIKey }} | ||
PICNIC_IOS_KEY_ID: ${{ inputs.IOSKeyID }} | ||
PICNIC_IOS_KEY_ISSUER_ID: ${{ inputs.IOSKeyIssuerID }} | ||
|
||
- name: Fix appdmg config for profile build | ||
if: ${{ inputs.buildType == 'profile' }} | ||
working-directory: packages/picnic-desktop-app | ||
run: sed -i '' 's#Release#Profile#g' dmg-file-config.json | ||
shell: bash | ||
|
||
- name: Bundle into DMG file | ||
id: appdmg | ||
working-directory: packages/picnic-desktop-app | ||
run: | | ||
appdmg dmg-file-config.json picnic-app.dmg | ||
echo "DMG_PATH=packages/picnic-desktop-app/picnic-app.dmg" >> $GITHUB_OUTPUT | ||
shell: bash | ||
|
||
- name: notarize DMG | ||
if: ${{ inputs.buildType == 'release' }} | ||
working-directory: packages/picnic-desktop-app/macos | ||
run: | | ||
bundle exec fastlane notarize_macos_dmg | ||
shell: bash | ||
env: | ||
PICNIC_APPSTORECONNECT_API_KEY: ${{ inputs.appstoreConnectAPIKey }} | ||
PICNIC_IOS_KEY_ID: ${{ inputs.IOSKeyID }} | ||
PICNIC_IOS_KEY_ISSUER_ID: ${{ inputs.IOSKeyIssuerID }} | ||
|
||
outputs: | ||
dmg-path: | ||
description: "Path of built DMG image" | ||
value: "${{ steps.appdmg.outputs.DMG_PATH }}" |
Oops, something went wrong.