Skip to content

sdk.remoteconfig

sdk.remoteconfig #89

name: sdk.remoteconfig
permissions:
contents: read
on:
workflow_dispatch:
pull_request:
paths:
- 'FirebaseRemoteConfig**'
- 'Interop/Analytics/Public/*.h'
- '.github/workflows/sdk.remoteconfig.yml'
- '.github/workflows/_spm.yml'
- '.github/workflows/_cocoapods.yml'
- '.github/workflows/_catalyst.yml'
- '.github/workflows/_quickstart.yml'
- '.github/workflows/_cocoapods.cron.yml'
- 'Gemfile*'
- 'scripts/generate_access_token.sh'
- 'scripts/gha-encrypted/RemoteConfigSwiftAPI/**'
schedule:
# Run every day at 1am (PDT) / 4am (EDT) - cron uses UTC times
- cron: '0 8 * * *'
concurrency:
group: ${{ github.workflow }}-${{ github.head_ref || github.ref }}
cancel-in-progress: true
jobs:
spm_1:
uses: ./.github/workflows/_spm.yml
with:
target: RemoteConfigUnit
spm_2:
uses: ./.github/workflows/_spm.yml
with:
target: RemoteConfigFakeConsole
buildonly_platforms: watchOS
catalyst:
uses: ./.github/workflows/_catalyst.yml
with:
product: FirebaseRemoteConfig
target: FirebaseRemoteConfig-Unit-unit
remoteconfig-fakeconsole:
uses: ./.github/workflows/_build.yml
with:
product: RemoteConfig
platform: iOS
method: fakeconsole
remoteconfig-integration:
uses: ./.github/workflows/_build.yml
with:
product: RemoteConfig
platform: iOS
method: integration
setup_command: |
gem install xcpretty
echo "USE_REAL_CONSOLE=1" >> $GITHUB_ENV
scripts/decrypt_gha_secret.sh scripts/gha-encrypted/RemoteConfigSwiftAPI/GoogleService-Info.plist.gpg \
FirebaseRemoteConfig/Tests/Swift/SwiftAPI/GoogleService-Info.plist "$plist_secret"
# Generate Access Token only if secret is present (handled by script logic usually, but here explicit)
if [[ -n "$plist_secret" ]]; then
scripts/generate_access_token.sh "$plist_secret" scripts/gha-encrypted/RemoteConfigSwiftAPI/ServiceAccount.json.gpg \
FirebaseRemoteConfig/Tests/Swift/AccessToken.json
fi
secrets:
plist_secret: ${{ secrets.GHASecretsGPGPassphrase1 }}
pod_lib_lint:
uses: ./.github/workflows/_cocoapods.yml
with:
product: FirebaseRemoteConfig
quickstart:
uses: ./.github/workflows/_quickstart.yml
with:
product: Config
setup_command: scripts/setup_quickstart.sh config
plist_src_path: scripts/gha-encrypted/qs-config.plist.gpg
plist_dst_path: quickstart-ios/config/GoogleService-Info.plist
secrets:
plist_secret: ${{ secrets.GHASecretsGPGPassphrase1 }}
sample-build-test:
uses: ./.github/workflows/_build.yml
with:
product: RemoteConfigSample
platform: iOS
method: xcodebuild
setup_command: scripts/install_prereqs.sh RemoteConfigSample iOS
remoteconfig-cron-only:
needs: pod_lib_lint
uses: ./.github/workflows/_cocoapods.cron.yml
with:
product: FirebaseRemoteConfig
platforms: '[ "ios", "tvos", "macos" ]'
flags: '[ "--skip-tests --use-static-frameworks" ]'