This is an automated email from the ASF dual-hosted git repository. timbru31 pushed a commit to branch fix/ci in repository https://gitbox.apache.org/repos/asf/cordova-plugin-file-transfer.git
commit 18df6716574f5821ef08928bf34a4f368a5d743f Author: Tim Brust <[email protected]> AuthorDate: Wed Aug 26 12:18:17 2020 +0200 ci: update configs and use common templates --- .appveyor.yml | 30 ++++++++-- .travis.yml | 185 +++++++++++++++++++++++++++++++++++++++------------------- 2 files changed, 148 insertions(+), 67 deletions(-) diff --git a/.appveyor.yml b/.appveyor.yml index 4cd6d53..a1c49a8 100644 --- a/.appveyor.yml +++ b/.appveyor.yml @@ -1,5 +1,19 @@ -# appveyor file -# http://www.appveyor.com/docs/appveyor-yml +# Licensed to the Apache Software Foundation (ASF) under one +# or more contributor license agreements. See the NOTICE file +# distributed with this work for additional information +# regarding copyright ownership. The ASF licenses this file +# to you 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. max_jobs: 1 @@ -12,12 +26,16 @@ image: - Visual Studio 2017 environment: - nodejs_version: "4" matrix: - - PLATFORM: windows-10-store + - nodejs_version: "10" + - nodejs_version: "12" + +platform: + - x86 + - x64 install: - - npm cache clean -f + - ps: Install-Product node $env:nodejs_version - node --version - npm install -g cordova-paramedic@https://github.com/apache/cordova-paramedic.git - npm install -g cordova @@ -25,4 +43,4 @@ install: build: off test_script: - - cordova-paramedic --config pr\%PLATFORM% --plugin . --justBuild + - cordova-paramedic --config pr\windows-10-store --plugin . --justBuild \ No newline at end of file diff --git a/.travis.yml b/.travis.yml index be0b43f..a16f636 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,71 +1,134 @@ -sudo: false +# Licensed to the Apache Software Foundation (ASF) under one +# or more contributor license agreements. See the NOTICE file +# distributed with this work for additional information +# regarding copyright ownership. The ASF licenses this file +# to you 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. + +# This Travis configuration file is built after a Cordova Paramedic +# specific template with minimal modifications and adaptations: +# https://github.com/apache/cordova-paramedic/blob/master/.travis.yml + addons: jwt: + # sauce labs key secure: hXzjjCvaueH+0Mm66ym6nE3jncWjjGIXIqhrqQUpWI7WTzcEXPFzA2ljyMNcMbPCcXSpq7u3oEBgZl5VUd+PWfBWKCFbcTu0KP1KP7s2GeTp/xvWWoxxRYfU8FhUh5ei/opSBBDhT9zqt85efHt09aqAzos0THLpYPGxFPknzY0= env: global: - - SAUCE_USERNAME=snay - - TRAVIS_NODE_VERSION="4.2" + - SAUCE_USERNAME=snay + - TRAVIS_NODE_VERSION=12 + - ANDROID_API_LEVEL=29 + - ANDROID_BUILD_TOOLS_VERSION=29.0.2 + +language: node_js +node_js: 12 + +# yaml anchor/alias: https://medium.com/@tommyvn/travis-yml-dry-with-anchors-8b6a3ac1b027 + +_ios: &_ios + os: osx + osx_image: xcode11.5 + +_android: &_android + language: android + os: linux + jdk: oraclejdk8 + android: + components: + - tools + - build-tools-$ANDROID_BUILD_TOOLS_VERSION + - android-$ANDROID_API_LEVEL + licenses: + - "android-sdk-preview-license-.+" + - "android-sdk-license-.+" + - "google-gdk-license-.+" + matrix: include: - - env: PLATFORM=ios-9.3 - os: osx - osx_image: xcode7.3 - language: node_js - node_js: '4.2' - - env: PLATFORM=ios-10.0 - os: osx - osx_image: xcode7.3 - language: node_js - node_js: '4.2' - - env: PLATFORM=android-4.4 - os: linux - language: android - jdk: oraclejdk8 - android: - components: - - tools - - build-tools-26.0.2 - - env: PLATFORM=android-5.1 - os: linux - language: android - jdk: oraclejdk8 - android: - components: - - tools - - build-tools-26.0.2 - - env: PLATFORM=android-6.0 - os: linux - language: android - jdk: oraclejdk8 - android: - components: - - tools - - build-tools-26.0.2 - - env: PLATFORM=android-7.0 - os: linux - language: android - jdk: oraclejdk8 - android: - components: - - tools - - build-tools-26.0.2 + # local tests, without saucelabs + - env: PLATFORM=local/browser + <<: *_ios + - env: PLATFORM=local/ios-10.0 + <<: *_ios + + # many tests with saucelabs + - env: PLATFORM=browser-chrome + - env: PLATFORM=browser-firefox + - env: PLATFORM=browser-safari + - env: PLATFORM=browser-edge + + - env: PLATFORM=ios-11.3 + <<: *_ios + - env: PLATFORM=ios-12.0 + <<: *_ios + - env: PLATFORM=ios-12.2 + <<: *_ios + + - env: PLATFORM=android-5.1 + <<: *_android + - env: PLATFORM=android-6.0 + <<: *_android + - env: PLATFORM=android-7.0 + <<: *_android + - env: PLATFORM=android-7.1 + <<: *_android + - env: PLATFORM=android-8.0 + <<: *_android + - env: PLATFORM=android-8.1 + <<: *_android + - env: PLATFORM=android-9.0 + <<: *_android + before_install: -- rm -rf ~/.nvm && git clone https://github.com/creationix/nvm.git ~/.nvm && (cd ~/.nvm - && git checkout `git describe --abbrev=0 --tags`) && source ~/.nvm/nvm.sh && nvm - install $TRAVIS_NODE_VERSION -- node --version -- if [[ "$PLATFORM" =~ android ]]; then gradle --version; fi -- if [[ "$PLATFORM" =~ ios ]]; then npm install -g ios-deploy; fi -- if [[ "$PLATFORM" =~ android ]]; then echo y | android update sdk -u --filter android-22,android-23,android-24,android-25,android-26,android-27; - fi -- git clone https://github.com/apache/cordova-paramedic /tmp/paramedic && pushd /tmp/paramedic - && npm install && popd -- npm install -g cordova + # manually install Node for `language: android` + - if [[ "$PLATFORM" =~ android ]]; then nvm install $TRAVIS_NODE_VERSION; fi + - node --version + - if [[ "$PLATFORM" =~ android ]]; then gradle --version; fi + - if [[ "$PLATFORM" =~ ios ]]; then npm install -g ios-deploy; fi + - npm install -g cordova + # install paramedic if not running on paramedic repo + - if ! [[ "$TRAVIS_REPO_SLUG" =~ cordova-paramedic ]]; then npm install -g github:apache/cordova-paramedic; fi + install: -- npm install + - npm install + +before_script: + - | + if [[ "$TRAVIS_REPO_SLUG" =~ cordova-paramedic ]]; then + # when used in the cordova-paramedic repo + TEST_COMMAND="npm run eslint" + PARAMEDIC_PLUGIN_TO_TEST="./spec/testable-plugin/" + PARAMEDIC_COMMAND="node main.js" + else + # when used in any other (plugin) repo + TEST_COMMAND="npm test" + PARAMEDIC_PLUGIN_TO_TEST=$(pwd) + PARAMEDIC_COMMAND="cordova-paramedic" + fi + - PARAMEDIC_BUILDNAME=travis-$TRAVIS_REPO_SLUG-$TRAVIS_JOB_NUMBER + - | + echo "Variables now are set to:" + echo "TEST_COMMAND=$TEST_COMMAND" + echo "ADDITIONAL_TESTS=$ADDITIONAL_TESTS" + echo "PARAMEDIC_COMMAND=$PARAMEDIC_COMMAND" + echo "PLATFORM=$PLATFORM" + echo "PARAMEDIC_PLUGIN_TO_TEST=$PARAMEDIC_PLUGIN_TO_TEST" + echo "PARAMEDIC_BUILDNAME=$PARAMEDIC_BUILDNAME" script: -- npm test -- node /tmp/paramedic/main.js --config pr/$PLATFORM --plugin $(pwd) --shouldUseSauce - --fileTransferServer http://sheltered-retreat-43956.herokuapp.com - --buildName travis-plugin-file-transfer-$TRAVIS_JOB_NUMBER + - $TEST_COMMAND + - | + if [[ "$ADDITIONAL_TESTS_DIR" != "" ]]; then + cd $ADDITIONAL_TESTS_DIR && npm install && npm test; + else + $PARAMEDIC_COMMAND --config ./pr/$PLATFORM --plugin $PARAMEDIC_PLUGIN_TO_TEST --buildName $PARAMEDIC_BUILDNAME --fileTransferServer http://sheltered-retreat-43956.herokuapp.com; + fi --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
