diff --git a/.github/workflows/anonymousauth.yml b/.github/workflows/anonymousauth.yml new file mode 100644 index 00000000000..870dc4d1b02 --- /dev/null +++ b/.github/workflows/anonymousauth.yml @@ -0,0 +1,38 @@ +name: Anonymous Auth + +on: + push: + branches: [ master ] + paths: + - '.github/workflows/anonymousauth.yml' + - 'FirebaseAnonymousAuthUI/**' + - 'test.sh' + - 'FirebaseAnonymousAuthUI.podspec' + pull_request: + branches: [ master ] + paths: + - '.github/workflows/anonymousauth.yml' + - 'FirebaseAnonymousAuthUI/**' + - 'test.sh' + - 'FirebaseAnonymousAuthUI.podspec' + + workflow_dispatch: + +jobs: + build: + name: build + runs-on: macOS-latest + + steps: + - name: Checkout + uses: actions/checkout@master + - name: Setup + run: | + cd FirebaseAnonymousAuthUI + gem install bundler + bundle install + gem install xcpretty + bundle exec pod install --repo-update + - name: Build + run: | + ./test.sh FirebaseAnonymousAuthUI diff --git a/.github/workflows/auth.yml b/.github/workflows/auth.yml new file mode 100644 index 00000000000..a4bfe544ca5 --- /dev/null +++ b/.github/workflows/auth.yml @@ -0,0 +1,38 @@ +name: Auth + +on: + push: + branches: [ master ] + paths: + - '.github/workflows/auth.yml' + - 'FirebaseAuthUI/**' + - 'test.sh' + - 'FirebaseAuthUI.podspec' + pull_request: + branches: [ master ] + paths: + - '.github/workflows/auth.yml' + - 'FirebaseAuthUI/**' + - 'test.sh' + - 'FirebaseAuthUI.podspec' + + workflow_dispatch: + +jobs: + build: + name: build + runs-on: macOS-latest + + steps: + - name: Checkout + uses: actions/checkout@master + - name: Setup + run: | + cd FirebaseAuthUI + gem install bundler + bundle install + gem install xcpretty + bundle exec pod install --repo-update + - name: Build + run: | + ./test.sh FirebaseAuthUI diff --git a/.github/workflows/database.yml b/.github/workflows/database.yml new file mode 100644 index 00000000000..248426ace18 --- /dev/null +++ b/.github/workflows/database.yml @@ -0,0 +1,38 @@ +name: Database + +on: + push: + branches: [ master ] + paths: + - '.github/workflows/database.yml' + - 'FirebaseDatabaseUI/**' + - 'test.sh' + - 'FirebaseDatabaseUI.podspec' + pull_request: + branches: [ master ] + paths: + - '.github/workflows/database.yml' + - 'FirebaseDatabaseUI/**' + - 'test.sh' + - 'FirebaseDatabaseUI.podspec' + + workflow_dispatch: + +jobs: + build: + name: build + runs-on: macOS-latest + + steps: + - name: Checkout + uses: actions/checkout@master + - name: Setup + run: | + cd FirebaseDatabaseUI + gem install bundler + bundle install + gem install xcpretty + bundle exec pod install --repo-update + - name: Build + run: | + ./test.sh FirebaseDatabaseUI diff --git a/.github/workflows/emailauth.yml b/.github/workflows/emailauth.yml new file mode 100644 index 00000000000..7b11ee6efc9 --- /dev/null +++ b/.github/workflows/emailauth.yml @@ -0,0 +1,38 @@ +name: Email Auth + +on: + push: + branches: [ master ] + paths: + - '.github/workflows/emailauth.yml' + - 'FirebaseEmailAuthUI/**' + - 'test.sh' + - 'FirebaseEmailAuthUI.podspec' + pull_request: + branches: [ master ] + paths: + - '.github/workflows/emailauth.yml' + - 'FirebaseEmailAuthUI/**' + - 'test.sh' + - 'FirebaseEmailAuthUI.podspec' + + workflow_dispatch: + +jobs: + build: + name: build + runs-on: macOS-latest + + steps: + - name: Checkout + uses: actions/checkout@master + - name: Setup + run: | + cd FirebaseEmailAuthUI + gem install bundler + bundle install + gem install xcpretty + bundle exec pod install --repo-update + - name: Build + run: | + ./test.sh FirebaseEmailAuthUI diff --git a/.github/workflows/facebookauth.yml b/.github/workflows/facebookauth.yml new file mode 100644 index 00000000000..0f23c15ac15 --- /dev/null +++ b/.github/workflows/facebookauth.yml @@ -0,0 +1,38 @@ +name: Facebook Auth + +on: + push: + branches: [ master ] + paths: + - '.github/workflows/facebookauth.yml' + - 'FirebaseFacebookAuthUI/**' + - 'test.sh' + - 'FirebaseFacebookAuthUI.podspec' + pull_request: + branches: [ master ] + paths: + - '.github/workflows/facebookauth.yml' + - 'FirebaseFacebookAuthUI/**' + - 'test.sh' + - 'FirebaseFacebookAuthUI.podspec' + + workflow_dispatch: + +jobs: + build: + name: build + runs-on: macOS-latest + + steps: + - name: Checkout + uses: actions/checkout@master + - name: Setup + run: | + cd FirebaseFacebookAuthUI + gem install bundler + bundle install + gem install xcpretty + bundle exec pod install --repo-update + - name: Build + run: | + ./test.sh FirebaseFacebookAuthUI diff --git a/.github/workflows/firestore.yml b/.github/workflows/firestore.yml new file mode 100644 index 00000000000..333614450d2 --- /dev/null +++ b/.github/workflows/firestore.yml @@ -0,0 +1,38 @@ +name: Firestore + +on: + push: + branches: [ master ] + paths: + - '.github/workflows/firestore.yml' + - 'FirebaseFirestoreUI/**' + - 'test.sh' + - 'FirebaseFirestoreUI.podspec' + pull_request: + branches: [ master ] + paths: + - '.github/workflows/firestore.yml' + - 'FirebaseFirestoreUI/**' + - 'test.sh' + - 'FirebaseFirestoreUI.podspec' + + workflow_dispatch: + +jobs: + build: + name: build + runs-on: macOS-latest + + steps: + - name: Checkout + uses: actions/checkout@master + - name: Setup + run: | + cd FirebaseFirestoreUI + gem install bundler + bundle install + gem install xcpretty + bundle exec pod install --repo-update + - name: Build + run: | + ./test.sh FirebaseFirestoreUI diff --git a/.github/workflows/googleauth.yml b/.github/workflows/googleauth.yml new file mode 100644 index 00000000000..5d21f4a740e --- /dev/null +++ b/.github/workflows/googleauth.yml @@ -0,0 +1,38 @@ +name: Google Auth + +on: + push: + branches: [ master ] + paths: + - '.github/workflows/googleauth.yml' + - 'FirebaseGoogleAuthUI/**' + - 'test.sh' + - 'FirebaseGoogleAuthUI.podspec' + pull_request: + branches: [ master ] + paths: + - '.github/workflows/googleauth.yml' + - 'FirebaseGoogleAuthUI/**' + - 'test.sh' + - 'FirebaseGoogleAuthUI.podspec' + + workflow_dispatch: + +jobs: + build: + name: build + runs-on: macOS-latest + + steps: + - name: Checkout + uses: actions/checkout@master + - name: Setup + run: | + cd FirebaseGoogleAuthUI + gem install bundler + bundle install + gem install xcpretty + bundle exec pod install --repo-update + - name: Build + run: | + ./test.sh FirebaseGoogleAuthUI diff --git a/.github/workflows/oauth.yml b/.github/workflows/oauth.yml new file mode 100644 index 00000000000..9e6cf4b7369 --- /dev/null +++ b/.github/workflows/oauth.yml @@ -0,0 +1,38 @@ +name: OAuth + +on: + push: + branches: [ master ] + paths: + - '.github/workflows/oauth.yml' + - 'FirebaseOAuthUI/**' + - 'test.sh' + - 'FirebaseOAuthUI.podspec' + pull_request: + branches: [ master ] + paths: + - '.github/workflows/oauth.yml' + - 'FirebaseOAuthUI/**' + - 'test.sh' + - 'FirebaseOAuthUI.podspec' + + workflow_dispatch: + +jobs: + build: + name: build + runs-on: macOS-latest + + steps: + - name: Checkout + uses: actions/checkout@master + - name: Setup + run: | + cd FirebaseOAuthUI + gem install bundler + bundle install + gem install xcpretty + bundle exec pod install --repo-update + - name: Build + run: | + ./test.sh FirebaseOAuthUI diff --git a/.github/workflows/phoneauth.yml b/.github/workflows/phoneauth.yml new file mode 100644 index 00000000000..565806ef627 --- /dev/null +++ b/.github/workflows/phoneauth.yml @@ -0,0 +1,38 @@ +name: Phone Auth + +on: + push: + branches: [ master ] + paths: + - '.github/workflows/phoneauth.yml' + - 'FirebasePhoneAuthUI/**' + - 'test.sh' + - 'FirebasePhoneAuthUI.podspec' + pull_request: + branches: [ master ] + paths: + - '.github/workflows/phoneauth.yml' + - 'FirebasePhoneAuthUI/**' + - 'test.sh' + - 'FirebasePhoneAuthUI.podspec' + + workflow_dispatch: + +jobs: + build: + name: build + runs-on: macOS-latest + + steps: + - name: Checkout + uses: actions/checkout@master + - name: Setup + run: | + cd FirebasePhoneAuthUI + gem install bundler + bundle install + gem install xcpretty + bundle exec pod install --repo-update + - name: Build + run: | + ./test.sh FirebasePhoneAuthUI diff --git a/.github/workflows/storage.yml b/.github/workflows/storage.yml new file mode 100644 index 00000000000..cb98d37be4f --- /dev/null +++ b/.github/workflows/storage.yml @@ -0,0 +1,38 @@ +name: Storage + +on: + push: + branches: [ master ] + paths: + - '.github/workflows/storage.yml' + - 'FirebaseStorageUI/**' + - 'test.sh' + - 'FirebaseStorageUI.podspec' + pull_request: + branches: [ master ] + paths: + - '.github/workflows/storage.yml' + - 'FirebaseStorageUI/**' + - 'test.sh' + - 'FirebaseStorageUI.podspec' + + workflow_dispatch: + +jobs: + build: + name: build + runs-on: macOS-latest + + steps: + - name: Checkout + uses: actions/checkout@master + - name: Setup + run: | + cd FirebaseStorageUI + gem install bundler + bundle install + gem install xcpretty + bundle exec pod install --repo-update + - name: Build + run: | + ./test.sh FirebaseStorageUI diff --git a/.travis.yml b/.travis.yml deleted file mode 100644 index 60855c350cc..00000000000 --- a/.travis.yml +++ /dev/null @@ -1,13 +0,0 @@ -osx_image: xcode12.4 -language: objective-c -xcode_workspace: FirebaseUI.xcworkspace -xcode_scheme: FirebaseUI - -rvm: 2.6.6 -before_install: - - gem update cocoapods - - gem install bundler - - bundle install - - gem install xcpretty - -script: ./test.sh diff --git a/Gemfile.lock b/Gemfile.lock index 0219fb5e8c2..9cdcdd75f67 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -92,4 +92,4 @@ DEPENDENCIES xcodeproj BUNDLED WITH - 1.17.3 + 2.2.17 diff --git a/local_test.sh b/local_test.sh new file mode 100755 index 00000000000..a3699ab1ba5 --- /dev/null +++ b/local_test.sh @@ -0,0 +1,29 @@ +#!/usr/bin/env bash + +set -euxo pipefail + +EXIT_STATUS=0 + +schemes=( "FirebaseAnonymousAuthUI" "FirebaseAuthUI" "FirebaseDatabaseUI" \ + "FirebaseEmailAuthUI" "FirebaseFacebookAuthUI" "FirebaseFirestoreUI" \ + "FirebaseGoogleAuthUI" "FirebaseOAuthUI" "FirebasePhoneAuthUI" "FirebaseStorageUI" ) + +bundle exec pod repo update; + +for ((i=0; i<${#schemes[*]}; i++)); +do + cd ${schemes[i]}; + bundle exec pod install; + (xcodebuild \ + -workspace "${schemes[i]}.xcworkspace" \ + -scheme "${schemes[i]}" \ + -sdk iphonesimulator \ + -destination 'platform=iOS Simulator,OS=latest,name=iPhone 11 Pro' \ + clean build test \ + ONLY_ACTIVE_ARCH=YES \ + | xcpretty) || EXIT_STATUS=$?; + bundle exec pod deintegrate; + cd ..; +done + +exit $EXIT_STATUS diff --git a/test.sh b/test.sh index a3699ab1ba5..20f47ec1d5e 100755 --- a/test.sh +++ b/test.sh @@ -4,26 +4,17 @@ set -euxo pipefail EXIT_STATUS=0 -schemes=( "FirebaseAnonymousAuthUI" "FirebaseAuthUI" "FirebaseDatabaseUI" \ - "FirebaseEmailAuthUI" "FirebaseFacebookAuthUI" "FirebaseFirestoreUI" \ - "FirebaseGoogleAuthUI" "FirebaseOAuthUI" "FirebasePhoneAuthUI" "FirebaseStorageUI" ) +module_name="$1" -bundle exec pod repo update; - -for ((i=0; i<${#schemes[*]}; i++)); -do - cd ${schemes[i]}; - bundle exec pod install; - (xcodebuild \ - -workspace "${schemes[i]}.xcworkspace" \ - -scheme "${schemes[i]}" \ - -sdk iphonesimulator \ - -destination 'platform=iOS Simulator,OS=latest,name=iPhone 11 Pro' \ - clean build test \ - ONLY_ACTIVE_ARCH=YES \ - | xcpretty) || EXIT_STATUS=$?; - bundle exec pod deintegrate; - cd ..; -done +pushd "$module_name"; +(xcodebuild \ + -workspace "$module_name.xcworkspace" \ + -scheme "$module_name" \ + -sdk iphonesimulator \ + -destination 'platform=iOS Simulator,OS=latest,name=iPhone 11 Pro' \ + clean build test \ + ONLY_ACTIVE_ARCH=YES \ + | xcpretty) || EXIT_STATUS=$?; +popd; exit $EXIT_STATUS