|
|
@@ -0,0 +1,79 @@
|
|
|
+name: core_internal
|
|
|
+
|
|
|
+on:
|
|
|
+ pull_request:
|
|
|
+ paths:
|
|
|
+ - 'FirebaseCoreInternal.podspec'
|
|
|
+ - 'FirebaseCore/Internal/**'
|
|
|
+ - '.github/workflows/core_internal.yml'
|
|
|
+ - 'Gemfile*'
|
|
|
+ schedule:
|
|
|
+ # Run every day at 2am (PST) - cron uses UTC times
|
|
|
+ - cron: '0 10 * * *'
|
|
|
+
|
|
|
+jobs:
|
|
|
+ pod-lib-lint:
|
|
|
+ # Don't run on private repo unless it is a PR.
|
|
|
+ if: (github.repository == 'Firebase/firebase-ios-sdk' && github.event_name == 'schedule') || github.event_name == 'pull_request'
|
|
|
+ runs-on: macos-11
|
|
|
+ strategy:
|
|
|
+ matrix:
|
|
|
+ target: [ios, tvos, macos]
|
|
|
+ env:
|
|
|
+ POD_LIB_LINT_ONLY: 1
|
|
|
+ steps:
|
|
|
+ - uses: actions/checkout@v2
|
|
|
+ - name: Setup Bundler
|
|
|
+ run: scripts/setup_bundler.sh
|
|
|
+ - name: Build and test
|
|
|
+ run: scripts/third_party/travis/retry.sh scripts/pod_lib_lint.rb FirebaseCoreInternal.podspec --platforms=${{ matrix.target }}
|
|
|
+
|
|
|
+ spm:
|
|
|
+ # Don't run on private repo unless it is a PR.
|
|
|
+ if: (github.repository == 'Firebase/firebase-ios-sdk' && github.event_name == 'schedule') || github.event_name == 'pull_request'
|
|
|
+ runs-on: macos-11
|
|
|
+ strategy:
|
|
|
+ matrix:
|
|
|
+ target: [iOS, tvOS, macOS, catalyst, watchOS]
|
|
|
+ steps:
|
|
|
+ - uses: actions/checkout@v2
|
|
|
+ - name: Initialize xcodebuild
|
|
|
+ run: scripts/setup_spm_tests.sh
|
|
|
+ - name: FirebaseCoreInternalTests
|
|
|
+ run: scripts/third_party/travis/retry.sh ./scripts/build.sh FirebaseCoreInternalTests ${{ matrix.target }} spm
|
|
|
+
|
|
|
+ catalyst:
|
|
|
+ # Don't run on private repo unless it is a PR.
|
|
|
+ if: (github.repository == 'Firebase/firebase-ios-sdk' && github.event_name == 'schedule') || github.event_name == 'pull_request'
|
|
|
+ runs-on: macos-11
|
|
|
+ env:
|
|
|
+ POD_LIB_LINT_ONLY: 1
|
|
|
+ steps:
|
|
|
+ - uses: actions/checkout@v2
|
|
|
+ - uses: mikehardy/buildcache-action@50738c6c77de7f34e66b870e4f8ede333b69d077
|
|
|
+ with:
|
|
|
+ cache_key: ${{ matrix.os }}
|
|
|
+ - name: Setup Bundler
|
|
|
+ run: scripts/setup_bundler.sh
|
|
|
+ - name: Setup Catalyst project and run unit tests
|
|
|
+ run: scripts/test_catalyst.sh FirebaseCoreInternal test FirebaseCoreInternal-Unit-Unit
|
|
|
+ - name: Setup Catalyst project and run integration tests
|
|
|
+ run: scripts/test_catalyst.sh FirebaseCoreInternal test FirebaseCoreInternal-Unit-Integration
|
|
|
+
|
|
|
+ core-internal-cron-only:
|
|
|
+ # Don't run on private repo.
|
|
|
+ if: github.event_name == 'schedule' && github.repository == 'Firebase/firebase-ios-sdk'
|
|
|
+ runs-on: macos-11
|
|
|
+ strategy:
|
|
|
+ matrix:
|
|
|
+ target: [ios, tvos, macos]
|
|
|
+ flags: [
|
|
|
+ '--use-static-frameworks'
|
|
|
+ ]
|
|
|
+ needs: pod-lib-lint
|
|
|
+ steps:
|
|
|
+ - uses: actions/checkout@v2
|
|
|
+ - name: Setup Bundler
|
|
|
+ run: scripts/setup_bundler.sh
|
|
|
+ - name: PodLibLint CoreInternal Cron
|
|
|
+ run: scripts/third_party/travis/retry.sh scripts/pod_lib_lint.rb FirebaseCoreInternal.podspec --platforms=${{ matrix.target }} ${{ matrix.flags }}
|