aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorGravatar Paul Beusterien <paulbeusterien@google.com>2018-05-11 18:24:00 -0700
committerGravatar GitHub <noreply@github.com>2018-05-11 18:24:00 -0700
commit604de8e947ee8e58094bb2d7cb4cc7ac16e97876 (patch)
tree47112190c075e779714e6f500c0222a848d0482e
parentaf4bf66cfe09f4db2fda870931af4bc1bdc3ef23 (diff)
Add static library pod linting (#1259)
* add if_cron script
-rw-r--r--.travis.yml29
-rwxr-xr-xscripts/if_cron.sh25
2 files changed, 53 insertions, 1 deletions
diff --git a/.travis.yml b/.travis.yml
index 4376600..82deaa3 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -47,7 +47,8 @@ jobs:
script:
- ./scripts/if_changed.sh ./scripts/build.sh $PROJECT $PLATFORM $METHOD
- # pod lib lint to check build and warnings
+ # TODO - add a script to make the lint checks more DRY.
+ # pod lib lint to check build and warnings for dynamic framework build (use_frameworks!)
- stage: test
env:
- PROJECT=Firebase PLATFORM=iOS METHOD=pod-lib-lint
@@ -67,8 +68,34 @@ jobs:
before_install:
- ./scripts/if_changed.sh ./scripts/install_prereqs.sh
script:
+ # Eliminate the one warning from BoringSSL when CocoaPods 1.6.0 is available.
+ # The travis_wait is necessary because the command takes more than 10 minutes.
- travis_wait ./scripts/if_changed.sh bundle exec pod lib lint FirebaseFirestore.podspec --allow-warnings --no-subspecs
+ # pod lib lint to check build and warnings for static library build - only on cron jobs
+ - stage: test
+ env:
+ - PROJECT=Firebase PLATFORM=iOS METHOD=pod-lib-lint
+ before_install:
+ - ./scripts/if_cron.sh ./scripts/install_prereqs.sh
+ script:
+ - ./scripts/if_cron.sh bundle exec pod lib lint FirebaseCore.podspec --use-libraries
+ - ./scripts/if_cron.sh bundle exec pod lib lint FirebaseAuth.podspec --use-libraries
+ - ./scripts/if_cron.sh bundle exec pod lib lint FirebaseDatabase.podspec --use-libraries
+ - ./scripts/if_cron.sh bundle exec pod lib lint FirebaseMessaging.podspec --use-libraries
+ - ./scripts/if_cron.sh bundle exec pod lib lint FirebaseStorage.podspec --use-libraries
+ - ./scripts/if_cron.sh bundle exec pod lib lint FirebaseFunctions.podspec --use-libraries
+
+ - stage: test
+ env:
+ - PROJECT=Firestore PLATFORM=iOS METHOD=pod-lib-lint
+ before_install:
+ - ./scripts/if_cron.sh ./scripts/install_prereqs.sh
+ script:
+ # TBD - non-portable path warnings
+ # The travis_wait is necessary because the command takes more than 10 minutes.
+ - travis_wait ./scripts/if_cron.sh bundle exec pod lib lint FirebaseFirestore.podspec --use-libraries --allow-warnings --no-subspecs
+
# Alternative platforms
- stage: test
diff --git a/scripts/if_cron.sh b/scripts/if_cron.sh
new file mode 100755
index 0000000..c13a374
--- /dev/null
+++ b/scripts/if_cron.sh
@@ -0,0 +1,25 @@
+# Copyright 2018 Google
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+# Within Travis, check if running in a cron job.
+#
+# Examines the following Travis-supplied environment variables:
+# - TRAVIS_EVENT_TYPE - to check if this is a cron job
+#
+
+if [[ "$TRAVIS_EVENT_TYPE" == "cron" ]]; then
+ "$@"
+else
+ echo "skipped $*"
+fi