mirror of
https://github.com/jagandeepbrar/lunasea.git
synced 2026-08-30 20:24:25 +00:00
chore(ci): fetch Firebase configuration via CLI [skip ci]
This commit is contained in:
5
.firebaserc
Normal file
5
.firebaserc
Normal file
@@ -0,0 +1,5 @@
|
||||
{
|
||||
"projects": {
|
||||
"default": "comettools-lunasea"
|
||||
}
|
||||
}
|
||||
28
.github/actions/prepare_for_build/action.yml
vendored
28
.github/actions/prepare_for_build/action.yml
vendored
@@ -2,6 +2,9 @@ name: 'Prepare for Build'
|
||||
description: 'Setup all required dependencies and secrets for building the given platform'
|
||||
|
||||
inputs:
|
||||
firebase-token:
|
||||
description: 'Firebase Token'
|
||||
required: true
|
||||
platform:
|
||||
description: 'Platform to be Built'
|
||||
required: true
|
||||
@@ -23,10 +26,6 @@ inputs:
|
||||
description: 'App Store Connect API Key'
|
||||
required: false
|
||||
default: ''
|
||||
firebase-options:
|
||||
description: 'Firebase Configuration'
|
||||
required: false
|
||||
default: ''
|
||||
google-play-key:
|
||||
description: 'Google Play Store API Key'
|
||||
required: false
|
||||
@@ -69,6 +68,11 @@ runs:
|
||||
distribution: zulu
|
||||
java-version: 11
|
||||
|
||||
- name: Install Node.js
|
||||
uses: actions/setup-node@v3
|
||||
with:
|
||||
node-version: 16
|
||||
|
||||
- name: Install Ruby
|
||||
if: ${{ inputs.platform == 'android' || inputs.platform == 'ios' || inputs.platform == 'macos' }}
|
||||
uses: ruby/setup-ruby@v1
|
||||
@@ -94,7 +98,15 @@ runs:
|
||||
echo ${{ inputs.google-play-key }} | base64 --decode > keys/googleplay.json
|
||||
echo ${{ inputs.android-key-jks }} | base64 --decode > android/key.jks
|
||||
echo ${{ inputs.android-key-properties }} | base64 --decode > android/key.properties
|
||||
echo ${{ inputs.firebase-options }} | base64 --decode > lib/firebase_options.dart
|
||||
|
||||
- name: Setup Firebase Configuration
|
||||
shell: bash
|
||||
env:
|
||||
FIREBASE_TOKEN: ${{ inputs.firebase-token }}
|
||||
run: |
|
||||
npm install -g firebase-tools
|
||||
dart pub global activate flutterfire_cli
|
||||
flutterfire configure -y
|
||||
|
||||
- name: Setup Android Platform
|
||||
if: ${{ inputs.platform == 'android' }}
|
||||
@@ -130,11 +142,9 @@ runs:
|
||||
- name: Setup Web Platform
|
||||
if: ${{ inputs.platform == 'web' }}
|
||||
shell: bash
|
||||
run: |
|
||||
flutter pub get
|
||||
run: flutter pub get
|
||||
|
||||
- name: Setup Test Platform
|
||||
if: ${{ inputs.platform == 'test' }}
|
||||
shell: bash
|
||||
run: |
|
||||
flutter pub get
|
||||
run: flutter pub get
|
||||
|
||||
6
.github/workflows/build_android.yml
vendored
6
.github/workflows/build_android.yml
vendored
@@ -8,7 +8,7 @@ on:
|
||||
type: string
|
||||
|
||||
secrets:
|
||||
FIREBASE_OPTIONS:
|
||||
FIREBASE_TOKEN:
|
||||
required: true
|
||||
KEY_JKS:
|
||||
required: true
|
||||
@@ -23,10 +23,10 @@ jobs:
|
||||
- name: Setup Environment
|
||||
uses: JagandeepBrar/LunaSea/.github/actions/prepare_for_build@master
|
||||
with:
|
||||
firebase-token: ${{ secrets.FIREBASE_TOKEN }}
|
||||
platform: android
|
||||
android-key-jks: ${{ secrets.KEY_JKS }}
|
||||
android-key-properties: ${{ secrets.KEY_PROPERTIES }}
|
||||
firebase-options: ${{ secrets.FIREBASE_OPTIONS }}
|
||||
|
||||
- name: Build LunaSea
|
||||
working-directory: ${{ github.workspace }}/android
|
||||
@@ -45,10 +45,10 @@ jobs:
|
||||
- name: Setup Environment
|
||||
uses: JagandeepBrar/LunaSea/.github/actions/prepare_for_build@master
|
||||
with:
|
||||
firebase-token: ${{ secrets.FIREBASE_TOKEN }}
|
||||
platform: android
|
||||
android-key-jks: ${{ secrets.KEY_JKS }}
|
||||
android-key-properties: ${{ secrets.KEY_PROPERTIES }}
|
||||
firebase-options: ${{ secrets.FIREBASE_OPTIONS }}
|
||||
|
||||
- name: Build LunaSea
|
||||
working-directory: ${{ github.workspace }}/android
|
||||
|
||||
7
.github/workflows/build_ios.yml
vendored
7
.github/workflows/build_ios.yml
vendored
@@ -14,7 +14,9 @@ on:
|
||||
required: true
|
||||
APPLE_TEAM_ID:
|
||||
required: true
|
||||
FIREBASE_OPTIONS:
|
||||
FIREBASE_TOKEN:
|
||||
required: true
|
||||
IOS_CODESIGNING_IDENTITY:
|
||||
required: true
|
||||
MATCH_KEYCHAIN_NAME:
|
||||
required: true
|
||||
@@ -33,8 +35,8 @@ jobs:
|
||||
- name: Setup Environment
|
||||
uses: JagandeepBrar/LunaSea/.github/actions/prepare_for_build@master
|
||||
with:
|
||||
firebase-token: ${{ secrets.FIREBASE_TOKEN }}
|
||||
platform: ios
|
||||
firebase-options: ${{ secrets.FIREBASE_OPTIONS }}
|
||||
match-ssh-private-key: ${{ secrets.MATCH_SSH_PRIVATE_KEY }}
|
||||
|
||||
- name: Build LunaSea
|
||||
@@ -43,6 +45,7 @@ jobs:
|
||||
APPLE_ID: ${{ secrets.APPLE_ID }}
|
||||
APPLE_ITC_TEAM_ID: ${{ secrets.APPLE_ITC_TEAM_ID }}
|
||||
APPLE_TEAM_ID: ${{ secrets.APPLE_TEAM_ID }}
|
||||
IOS_CODESIGNING_IDENTITY: ${{ secrets.IOS_CODESIGNING_IDENTITY }}
|
||||
MATCH_PASSWORD: ${{ secrets.MATCH_PASSWORD }}
|
||||
MATCH_KEYCHAIN_NAME: ${{ secrets.MATCH_KEYCHAIN_NAME }}
|
||||
MATCH_KEYCHAIN_PASSWORD: ${{ secrets.MATCH_KEYCHAIN_PASSWORD }}
|
||||
|
||||
4
.github/workflows/build_linux.yml
vendored
4
.github/workflows/build_linux.yml
vendored
@@ -8,7 +8,7 @@ on:
|
||||
type: string
|
||||
|
||||
secrets:
|
||||
FIREBASE_OPTIONS:
|
||||
FIREBASE_TOKEN:
|
||||
required: true
|
||||
|
||||
jobs:
|
||||
@@ -19,8 +19,8 @@ jobs:
|
||||
- name: Setup Environment
|
||||
uses: JagandeepBrar/LunaSea/.github/actions/prepare_for_build@master
|
||||
with:
|
||||
firebase-token: ${{ secrets.FIREBASE_TOKEN }}
|
||||
platform: linux
|
||||
firebase-options: ${{ secrets.FIREBASE_OPTIONS }}
|
||||
|
||||
- name: Build LunaSea
|
||||
uses: snapcore/action-build@v1
|
||||
|
||||
12
.github/workflows/build_macos.yml
vendored
12
.github/workflows/build_macos.yml
vendored
@@ -20,7 +20,11 @@ on:
|
||||
required: true
|
||||
APPLE_TEAM_ID:
|
||||
required: true
|
||||
FIREBASE_OPTIONS:
|
||||
FIREBASE_TOKEN:
|
||||
required: true
|
||||
MACOS_INSTALLER_CERT_APP_STORE:
|
||||
required: true
|
||||
MACOS_INSTALLER_CERT_DIRECT:
|
||||
required: true
|
||||
MATCH_KEYCHAIN_NAME:
|
||||
required: true
|
||||
@@ -39,8 +43,8 @@ jobs:
|
||||
- name: Setup Environment
|
||||
uses: JagandeepBrar/LunaSea/.github/actions/prepare_for_build@master
|
||||
with:
|
||||
firebase-token: ${{ secrets.FIREBASE_TOKEN }}
|
||||
platform: macos
|
||||
firebase-options: ${{ secrets.FIREBASE_OPTIONS }}
|
||||
match-ssh-private-key: ${{ secrets.MATCH_SSH_PRIVATE_KEY }}
|
||||
|
||||
- name: Build LunaSea
|
||||
@@ -49,6 +53,7 @@ jobs:
|
||||
APPLE_ID: ${{ secrets.APPLE_ID }}
|
||||
APPLE_ITC_TEAM_ID: ${{ secrets.APPLE_ITC_TEAM_ID }}
|
||||
APPLE_TEAM_ID: ${{ secrets.APPLE_TEAM_ID }}
|
||||
MACOS_INSTALLER_CERT_APP_STORE: ${{ secrets.MACOS_INSTALLER_CERT_APP_STORE }}
|
||||
MATCH_KEYCHAIN_NAME: ${{ secrets.MATCH_KEYCHAIN_NAME }}
|
||||
MATCH_KEYCHAIN_PASSWORD: ${{ secrets.MATCH_KEYCHAIN_PASSWORD }}
|
||||
MATCH_PASSWORD: ${{ secrets.MATCH_PASSWORD }}
|
||||
@@ -67,9 +72,9 @@ jobs:
|
||||
- name: Setup Environment
|
||||
uses: JagandeepBrar/LunaSea/.github/actions/prepare_for_build@master
|
||||
with:
|
||||
firebase-token: ${{ secrets.FIREBASE_TOKEN }}
|
||||
platform: macos
|
||||
appstore-connect-key: ${{ secrets.APPLE_STORE_CONNECT_KEY }}
|
||||
firebase-options: ${{ secrets.FIREBASE_OPTIONS }}
|
||||
match-ssh-private-key: ${{ secrets.MATCH_SSH_PRIVATE_KEY }}
|
||||
|
||||
- name: Build LunaSea
|
||||
@@ -81,6 +86,7 @@ jobs:
|
||||
APPLE_STORE_CONNECT_KEY_FILEPATH: ${{ github.workspace }}/keys/appstore.p8
|
||||
APPLE_STORE_CONNECT_KEY_ID: ${{ secrets.APPLE_STORE_CONNECT_KEY_ID }}
|
||||
APPLE_TEAM_ID: ${{ secrets.APPLE_TEAM_ID }}
|
||||
MACOS_INSTALLER_CERT_DIRECT: ${{ secrets.MACOS_INSTALLER_CERT_DIRECT }}
|
||||
MATCH_KEYCHAIN_NAME: ${{ secrets.MATCH_KEYCHAIN_NAME }}
|
||||
MATCH_KEYCHAIN_PASSWORD: ${{ secrets.MATCH_KEYCHAIN_PASSWORD }}
|
||||
MATCH_PASSWORD: ${{ secrets.MATCH_PASSWORD }}
|
||||
|
||||
4
.github/workflows/build_web.yml
vendored
4
.github/workflows/build_web.yml
vendored
@@ -8,7 +8,7 @@ on:
|
||||
type: string
|
||||
|
||||
secrets:
|
||||
FIREBASE_OPTIONS:
|
||||
FIREBASE_TOKEN:
|
||||
required: true
|
||||
|
||||
jobs:
|
||||
@@ -19,8 +19,8 @@ jobs:
|
||||
- name: Setup Environment
|
||||
uses: JagandeepBrar/LunaSea/.github/actions/prepare_for_build@master
|
||||
with:
|
||||
firebase-token: ${{ secrets.FIREBASE_TOKEN }}
|
||||
platform: web
|
||||
firebase-options: ${{ secrets.FIREBASE_OPTIONS }}
|
||||
|
||||
- name: Build LunaSea
|
||||
run: flutter build web --web-renderer canvaskit --release
|
||||
|
||||
4
.github/workflows/prepare.yml
vendored
4
.github/workflows/prepare.yml
vendored
@@ -19,7 +19,7 @@ on:
|
||||
value: ${{ jobs.build-version.outputs.build-version }}
|
||||
|
||||
secrets:
|
||||
FIREBASE_OPTIONS:
|
||||
FIREBASE_TOKEN:
|
||||
required: true
|
||||
|
||||
jobs:
|
||||
@@ -107,9 +107,9 @@ jobs:
|
||||
- name: Setup Environment
|
||||
uses: JagandeepBrar/LunaSea/.github/actions/prepare_for_build@master
|
||||
with:
|
||||
firebase-token: ${{ secrets.FIREBASE_TOKEN }}
|
||||
platform: test
|
||||
skip-core: true
|
||||
firebase-options: ${{ secrets.FIREBASE_OPTIONS }}
|
||||
|
||||
- name: Generate Flavor Configuration
|
||||
run: echo $'FLAVOR=${{ inputs.flavor }}\nCOMMIT=${{ github.sha }}' > .flavor
|
||||
|
||||
17
.github/workflows/release.yml
vendored
17
.github/workflows/release.yml
vendored
@@ -34,14 +34,14 @@ jobs:
|
||||
with:
|
||||
flavor: ${{ github.event.inputs.flavor || 'edge' }}
|
||||
secrets:
|
||||
FIREBASE_OPTIONS: ${{ secrets.FIREBASE_OPTIONS }}
|
||||
FIREBASE_TOKEN: ${{ secrets.FIREBASE_TOKEN }}
|
||||
|
||||
validate:
|
||||
name: Validate
|
||||
needs: [ prepare ]
|
||||
uses: JagandeepBrar/LunaSea/.github/workflows/validate.yml@master
|
||||
secrets:
|
||||
FIREBASE_OPTIONS: ${{ secrets.FIREBASE_OPTIONS }}
|
||||
FIREBASE_TOKEN: ${{ secrets.FIREBASE_TOKEN }}
|
||||
|
||||
build-android:
|
||||
name: Build Android
|
||||
@@ -50,7 +50,7 @@ jobs:
|
||||
with:
|
||||
build-number: ${{ needs.prepare.outputs.build-number }}
|
||||
secrets:
|
||||
FIREBASE_OPTIONS: ${{ secrets.FIREBASE_OPTIONS }}
|
||||
FIREBASE_TOKEN: ${{ secrets.FIREBASE_TOKEN }}
|
||||
KEY_JKS: ${{ secrets.KEY_JKS }}
|
||||
KEY_PROPERTIES: ${{ secrets.KEY_PROPERTIES }}
|
||||
|
||||
@@ -64,7 +64,8 @@ jobs:
|
||||
APPLE_ID: ${{ secrets.APPLE_ID }}
|
||||
APPLE_ITC_TEAM_ID: ${{ secrets.APPLE_ITC_TEAM_ID }}
|
||||
APPLE_TEAM_ID: ${{ secrets.APPLE_TEAM_ID }}
|
||||
FIREBASE_OPTIONS: ${{ secrets.FIREBASE_OPTIONS }}
|
||||
FIREBASE_TOKEN: ${{ secrets.FIREBASE_TOKEN }}
|
||||
IOS_CODESIGNING_IDENTITY: ${{ secrets.IOS_CODESIGNING_IDENTITY }}
|
||||
MATCH_KEYCHAIN_NAME: ${{ secrets.MATCH_KEYCHAIN_NAME }}
|
||||
MATCH_KEYCHAIN_PASSWORD: ${{ secrets.MATCH_KEYCHAIN_PASSWORD }}
|
||||
MATCH_PASSWORD: ${{ secrets.MATCH_PASSWORD }}
|
||||
@@ -77,7 +78,7 @@ jobs:
|
||||
with:
|
||||
build-number: ${{ needs.prepare.outputs.build-number }}
|
||||
secrets:
|
||||
FIREBASE_OPTIONS: ${{ secrets.FIREBASE_OPTIONS }}
|
||||
FIREBASE_TOKEN: ${{ secrets.FIREBASE_TOKEN }}
|
||||
|
||||
build-macos:
|
||||
name: Build macOS
|
||||
@@ -92,7 +93,9 @@ jobs:
|
||||
APPLE_STORE_CONNECT_KEY: ${{ secrets.APPLE_STORE_CONNECT_KEY }}
|
||||
APPLE_STORE_CONNECT_KEY_ID: ${{ secrets.APPLE_STORE_CONNECT_KEY_ID }}
|
||||
APPLE_TEAM_ID: ${{ secrets.APPLE_TEAM_ID }}
|
||||
FIREBASE_OPTIONS: ${{ secrets.FIREBASE_OPTIONS }}
|
||||
FIREBASE_TOKEN: ${{ secrets.FIREBASE_TOKEN }}
|
||||
MACOS_INSTALLER_CERT_APP_STORE: ${{ secrets.MACOS_INSTALLER_CERT_APP_STORE }}
|
||||
MACOS_INSTALLER_CERT_DIRECT: ${{ secrets.MACOS_INSTALLER_CERT_DIRECT }}
|
||||
MATCH_KEYCHAIN_NAME: ${{ secrets.MATCH_KEYCHAIN_NAME }}
|
||||
MATCH_KEYCHAIN_PASSWORD: ${{ secrets.MATCH_KEYCHAIN_PASSWORD }}
|
||||
MATCH_PASSWORD: ${{ secrets.MATCH_PASSWORD }}
|
||||
@@ -105,7 +108,7 @@ jobs:
|
||||
with:
|
||||
build-number: ${{ needs.prepare.outputs.build-number }}
|
||||
secrets:
|
||||
FIREBASE_OPTIONS: ${{ secrets.FIREBASE_OPTIONS }}
|
||||
FIREBASE_TOKEN: ${{ secrets.FIREBASE_TOKEN }}
|
||||
|
||||
publish:
|
||||
name: Publish
|
||||
|
||||
4
.github/workflows/validate.yml
vendored
4
.github/workflows/validate.yml
vendored
@@ -3,7 +3,7 @@ name: Validate
|
||||
on:
|
||||
workflow_call:
|
||||
secrets:
|
||||
FIREBASE_OPTIONS:
|
||||
FIREBASE_TOKEN:
|
||||
required: true
|
||||
|
||||
jobs:
|
||||
@@ -14,8 +14,8 @@ jobs:
|
||||
- name: Setup Environment
|
||||
uses: JagandeepBrar/LunaSea/.github/actions/prepare_for_build@master
|
||||
with:
|
||||
firebase-token: ${{ secrets.FIREBASE_TOKEN }}
|
||||
platform: test
|
||||
firebase-options: ${{ secrets.FIREBASE_OPTIONS }}
|
||||
|
||||
- name: Analyze
|
||||
uses: invertase/github-action-dart-analyzer@v1
|
||||
|
||||
16
.gitignore
vendored
16
.gitignore
vendored
@@ -46,11 +46,9 @@ coverage/
|
||||
# XCode Build Artifacts
|
||||
ios/build/
|
||||
ios/Runner.app.dSYM.zip
|
||||
ios/Runner.ipa
|
||||
|
||||
macos/LunaSea.app
|
||||
macos/LunaSea.app.dSYM.zip
|
||||
macos/LunaSea.pkg
|
||||
macos/LunaSea.app.zip
|
||||
|
||||
# Fastlane
|
||||
/android/fastlane/report.xml
|
||||
@@ -59,24 +57,22 @@ macos/LunaSea.pkg
|
||||
/android/fastlane/Preview.html
|
||||
/ios/fastlane/Preview.html
|
||||
/macos/fastlane/Preview.html
|
||||
/android/fastlane/metadata/android/en-CA/images
|
||||
/ios/fastlane/screenshots
|
||||
/ios/fastlane/metadata/review_information
|
||||
/macos/fastlane/screenshots
|
||||
/macos/fastlane/metadata/review_information
|
||||
|
||||
# Keys & Service Accounts
|
||||
android/key.jks
|
||||
android/key.properties
|
||||
|
||||
# Firebase
|
||||
android/firebase_app_id_file.json
|
||||
ios/firebase_app_id_file.json
|
||||
macos/firebase_app_id_file.json
|
||||
|
||||
# Node Dependency directories
|
||||
node_modules/
|
||||
jspm_packages/
|
||||
|
||||
# Artifacts
|
||||
output/
|
||||
macos/LunaSea.app.dSYM.zip
|
||||
macos/LunaSea.app.zip
|
||||
*.apk
|
||||
*.aab
|
||||
*.ipa
|
||||
|
||||
@@ -62,7 +62,7 @@ platform :ios do
|
||||
scheme: "Runner",
|
||||
workspace: "Runner.xcworkspace",
|
||||
export_method: "app-store",
|
||||
codesigning_identity: "Apple Distribution: Jagandeep Brar (VPH33JQH4R)",
|
||||
codesigning_identity: ENV["IOS_CODESIGNING_IDENTITY"],
|
||||
export_options: {
|
||||
provisioningProfiles: {
|
||||
"app.lunasea.lunasea" => "match AppStore app.lunasea.lunasea",
|
||||
|
||||
@@ -69,7 +69,7 @@ platform :mac do
|
||||
build_mac_app(
|
||||
scheme: "Runner",
|
||||
workspace: "Runner.xcworkspace",
|
||||
installer_cert_name: "3rd Party Mac Developer Installer: Jagandeep Brar (VPH33JQH4R)",
|
||||
installer_cert_name: ENV["MACOS_INSTALLER_CERT_APP_STORE"],
|
||||
export_method: "app-store",
|
||||
export_options: {
|
||||
provisioningProfiles: {
|
||||
@@ -97,7 +97,7 @@ platform :mac do
|
||||
build_mac_app(
|
||||
scheme: "Runner",
|
||||
workspace: "Runner.xcworkspace",
|
||||
installer_cert_name: "Developer ID Installer: Jagandeep Brar (VPH33JQH4R)",
|
||||
installer_cert_name: ENV["MACOS_INSTALLER_CERT_DIRECT"],
|
||||
export_method: "developer-id",
|
||||
export_options: {
|
||||
provisioningProfiles: {
|
||||
|
||||
@@ -22,10 +22,9 @@
|
||||
"fastlane:update:android": "cd android && bundle update",
|
||||
"fastlane:update:ios": "cd ios && bundle update",
|
||||
"fastlane:update:macos": "cd macos && bundle update",
|
||||
"generate": "npm run generate:firebase && npm run generate:assets && npm run generate:build_runner && npm run generate:localization",
|
||||
"generate": "npm run generate:assets && npm run generate:build_runner && npm run generate:localization",
|
||||
"generate:assets": "dart pub global activate spider && spider build",
|
||||
"generate:build_runner": "flutter packages pub run build_runner build --delete-conflicting-outputs",
|
||||
"generate:firebase": "rm -rf lib/firebase_options.dart && npm install -g firebase-tools && firebase login && dart pub global activate flutterfire_cli && flutterfire configure",
|
||||
"generate:localization": "dart ./scripts/generate_localization.dart",
|
||||
"git:ignore": "npm run git:ignore:flavor && npm run git:ignore:firebase",
|
||||
"git:ignore:flavor": "git update-index --skip-worktree .flavor",
|
||||
|
||||
Reference in New Issue
Block a user