.travis.yml

            --- actual
+++ expected
@@ -1,153 +1,111 @@
-os: linux
-services:
-   - docker
-sudo: required
-language: python
 env:
-  global:
-    - CONAN_UPLOAD=1
-    - CONAN_REFERENCE="Boost/1.62.0"
-    - CONAN_USERNAME="lasote"
-    - CONAN_CHANNEL="testing"
-    - CONAN_TOTAL_PAGES=8
-    - CONAN_STABLE_BRANCH_PATTERN="release/*"
+   global:
+     - CONAN_USERNAME: "conan"
+     - CONAN_LOGIN_USERNAME: "conanbot"
+     - CONAN_CHANNEL: "testing"
+     - CONAN_UPLOAD: "https://api.bintray.com/conan/conan-community/conan"
+     - CONAN_STABLE_BRANCH_PATTERN: "(release|stable)/[a-zA-Z0-9_][a-zA-Z0-9_+.-]+"
+     - CONAN_UPLOAD_ONLY_WHEN_STABLE: 1 # Will only upload when the branch matches the stable pattern
+     - CONAN_DOCKER_32_IMAGES: 1
+     - CONAN_TOTAL_PAGES: 1
 
-  matrix:
-       
-    - CONAN_GCC_VERSIONS=4.8 CONAN_CURRENT_PAGE=1 CONAN_USE_DOCKER=1 CONAN_TOTAL_PAGES=4
-    - CONAN_GCC_VERSIONS=4.8 CONAN_CURRENT_PAGE=2 CONAN_USE_DOCKER=1 CONAN_TOTAL_PAGES=4
-    - CONAN_GCC_VERSIONS=4.8 CONAN_CURRENT_PAGE=3 CONAN_USE_DOCKER=1 CONAN_TOTAL_PAGES=4
-    - CONAN_GCC_VERSIONS=4.8 CONAN_CURRENT_PAGE=4 CONAN_USE_DOCKER=1 CONAN_TOTAL_PAGES=4
-    
-    - CONAN_GCC_VERSIONS=4.9 CONAN_CURRENT_PAGE=1 CONAN_USE_DOCKER=1 CONAN_TOTAL_PAGES=4
-    - CONAN_GCC_VERSIONS=4.9 CONAN_CURRENT_PAGE=2 CONAN_USE_DOCKER=1 CONAN_TOTAL_PAGES=4
-    - CONAN_GCC_VERSIONS=4.9 CONAN_CURRENT_PAGE=3 CONAN_USE_DOCKER=1 CONAN_TOTAL_PAGES=4
-    - CONAN_GCC_VERSIONS=4.9 CONAN_CURRENT_PAGE=4 CONAN_USE_DOCKER=1 CONAN_TOTAL_PAGES=4
-    
-    - CONAN_GCC_VERSIONS=5.2 CONAN_CURRENT_PAGE=1 CONAN_USE_DOCKER=1
-    - CONAN_GCC_VERSIONS=5.2 CONAN_CURRENT_PAGE=2 CONAN_USE_DOCKER=1
-    - CONAN_GCC_VERSIONS=5.2 CONAN_CURRENT_PAGE=3 CONAN_USE_DOCKER=1
-    - CONAN_GCC_VERSIONS=5.2 CONAN_CURRENT_PAGE=4 CONAN_USE_DOCKER=1
-    - CONAN_GCC_VERSIONS=5.2 CONAN_CURRENT_PAGE=5 CONAN_USE_DOCKER=1
-    - CONAN_GCC_VERSIONS=5.2 CONAN_CURRENT_PAGE=6 CONAN_USE_DOCKER=1
-    - CONAN_GCC_VERSIONS=5.2 CONAN_CURRENT_PAGE=7 CONAN_USE_DOCKER=1
-    - CONAN_GCC_VERSIONS=5.2 CONAN_CURRENT_PAGE=8 CONAN_USE_DOCKER=1
-    
-    - CONAN_GCC_VERSIONS=5.3 CONAN_CURRENT_PAGE=1 CONAN_USE_DOCKER=1
-    - CONAN_GCC_VERSIONS=5.3 CONAN_CURRENT_PAGE=2 CONAN_USE_DOCKER=1
-    - CONAN_GCC_VERSIONS=5.3 CONAN_CURRENT_PAGE=3 CONAN_USE_DOCKER=1
-    - CONAN_GCC_VERSIONS=5.3 CONAN_CURRENT_PAGE=4 CONAN_USE_DOCKER=1
-    - CONAN_GCC_VERSIONS=5.3 CONAN_CURRENT_PAGE=5 CONAN_USE_DOCKER=1
-    - CONAN_GCC_VERSIONS=5.3 CONAN_CURRENT_PAGE=6 CONAN_USE_DOCKER=1
-    - CONAN_GCC_VERSIONS=5.3 CONAN_CURRENT_PAGE=7 CONAN_USE_DOCKER=1
-    - CONAN_GCC_VERSIONS=5.3 CONAN_CURRENT_PAGE=8 CONAN_USE_DOCKER=1
-    
-    - CONAN_GCC_VERSIONS=5.4 CONAN_CURRENT_PAGE=1 CONAN_USE_DOCKER=1
-    - CONAN_GCC_VERSIONS=5.4 CONAN_CURRENT_PAGE=2 CONAN_USE_DOCKER=1
-    - CONAN_GCC_VERSIONS=5.4 CONAN_CURRENT_PAGE=3 CONAN_USE_DOCKER=1
-    - CONAN_GCC_VERSIONS=5.4 CONAN_CURRENT_PAGE=4 CONAN_USE_DOCKER=1
-    - CONAN_GCC_VERSIONS=5.4 CONAN_CURRENT_PAGE=5 CONAN_USE_DOCKER=1
-    - CONAN_GCC_VERSIONS=5.4 CONAN_CURRENT_PAGE=6 CONAN_USE_DOCKER=1
-    - CONAN_GCC_VERSIONS=5.4 CONAN_CURRENT_PAGE=7 CONAN_USE_DOCKER=1
-    - CONAN_GCC_VERSIONS=5.4 CONAN_CURRENT_PAGE=8 CONAN_USE_DOCKER=1
-    
-    - CONAN_GCC_VERSIONS=6.2 CONAN_CURRENT_PAGE=1 CONAN_USE_DOCKER=1
-    - CONAN_GCC_VERSIONS=6.2 CONAN_CURRENT_PAGE=2 CONAN_USE_DOCKER=1
-    - CONAN_GCC_VERSIONS=6.2 CONAN_CURRENT_PAGE=3 CONAN_USE_DOCKER=1
-    - CONAN_GCC_VERSIONS=6.2 CONAN_CURRENT_PAGE=4 CONAN_USE_DOCKER=1
-    - CONAN_GCC_VERSIONS=6.2 CONAN_CURRENT_PAGE=5 CONAN_USE_DOCKER=1
-    - CONAN_GCC_VERSIONS=6.2 CONAN_CURRENT_PAGE=6 CONAN_USE_DOCKER=1
-    - CONAN_GCC_VERSIONS=6.2 CONAN_CURRENT_PAGE=7 CONAN_USE_DOCKER=1
-    - CONAN_GCC_VERSIONS=6.2 CONAN_CURRENT_PAGE=8 CONAN_USE_DOCKER=1
 
-matrix:
+linux: &linux
+   os: linux
+   dist: xenial
+   language: python
+   python: "3.7"
+   services:
+     - docker
+osx: &osx
+   os: osx
+   language: generic
+
+stages:
+  - conan-linux
+  - conan-osx
+
+jobs:
    include:
-       - os: osx
-         osx_image: xcode8 # apple-clang 8
-         language: generic
-         env: CONAN_CURRENT_PAGE=1
-       - os: osx
-         osx_image: xcode8 # apple-clang 8
-         language: generic
-         env: CONAN_CURRENT_PAGE=2
-       - os: osx
-         osx_image: xcode8 # apple-clang 8
-         language: generic
-         env: CONAN_CURRENT_PAGE=3
-       - os: osx
-         osx_image: xcode8 # apple-clang 8
-         language: generic
-         env: CONAN_CURRENT_PAGE=4
+     
+      - <<: *linux
+        stage: conan-linux
+        env: CONAN_GCC_VERSIONS=4.8 CONAN_DOCKER_IMAGE=conanio/gcc48 CONAN_CURRENT_PAGE=1
+     
+      - <<: *linux
+        stage: conan-linux
+        env: CONAN_GCC_VERSIONS=4.9 CONAN_DOCKER_IMAGE=conanio/gcc49 CONAN_CURRENT_PAGE=1
+     
+      - <<: *linux
+        stage: conan-linux
+        env: CONAN_GCC_VERSIONS=5 CONAN_DOCKER_IMAGE=conanio/gcc5 CONAN_CURRENT_PAGE=1
+     
+      - <<: *linux
+        stage: conan-linux
+        env: CONAN_GCC_VERSIONS=6 CONAN_DOCKER_IMAGE=conanio/gcc6 CONAN_CURRENT_PAGE=1
+     
+      - <<: *linux
+        stage: conan-linux
+        env: CONAN_GCC_VERSIONS=7 CONAN_DOCKER_IMAGE=conanio/gcc7 CONAN_CURRENT_PAGE=1
+     
+      - <<: *linux
+        stage: conan-linux
+        env: CONAN_GCC_VERSIONS=8 CONAN_DOCKER_IMAGE=conanio/gcc8 CONAN_CURRENT_PAGE=1
+     
 
-       - os: osx
-         osx_image: xcode7.3 # apple-clang 7.0
-         language: generic
-         env: CONAN_CURRENT_PAGE=1
-       - os: osx
-         osx_image: xcode7.3 # apple-clang 7.0
-         language: generic
-         env: CONAN_CURRENT_PAGE=2
-       - os: osx
-         osx_image: xcode7.3 # apple-clang 7.0
-         language: generic
-         env: CONAN_CURRENT_PAGE=3
-       - os: osx
-         osx_image: xcode7.3 # apple-clang 7.0
-         language: generic
-         env: CONAN_CURRENT_PAGE=4
-       - os: osx
-         osx_image: xcode7.3 # apple-clang 7.0
-         language: generic
-         env: CONAN_CURRENT_PAGE=5
-       - os: osx
-         osx_image: xcode7.3 # apple-clang 7.0
-         language: generic
-         env: CONAN_CURRENT_PAGE=6
-       - os: osx
-         osx_image: xcode7.3 # apple-clang 7.0
-         language: generic
-         env: CONAN_CURRENT_PAGE=7
-       - os: osx
-         osx_image: xcode7.3 # apple-clang 7.0
-         language: generic
-         env: CONAN_CURRENT_PAGE=8
-         
+     
+      - <<: *linux
+        stage: conan-linux
+        env: CONAN_CLANG_VERSIONS=3.9 CONAN_DOCKER_IMAGE=conanio/clang39 CONAN_CURRENT_PAGE=1
+     
+      - <<: *linux
+        stage: conan-linux
+        env: CONAN_CLANG_VERSIONS=4.0 CONAN_DOCKER_IMAGE=conanio/clang40 CONAN_CURRENT_PAGE=1
+     
+      - <<: *linux
+        stage: conan-linux
+        env: CONAN_CLANG_VERSIONS=5.0 CONAN_DOCKER_IMAGE=conanio/clang50 CONAN_CURRENT_PAGE=1
+     
+      - <<: *linux
+        stage: conan-linux
+        env: CONAN_CLANG_VERSIONS=6.0 CONAN_DOCKER_IMAGE=conanio/clang60 CONAN_CURRENT_PAGE=1
+     
+      - <<: *linux
+        stage: conan-linux
+        env: CONAN_CLANG_VERSIONS=7.0 CONAN_DOCKER_IMAGE=conanio/clang7 CONAN_CURRENT_PAGE=1
+     
 
-       - os: osx 
-         osx_image: xcode7.1 # apple-clang 7.0
-         language: generic
-         env: CONAN_CURRENT_PAGE=1
-       - os: osx 
-         osx_image: xcode7.1 # apple-clang 7.0
-         language: generic
-         env: CONAN_CURRENT_PAGE=2
-       - os: osx 
-         osx_image: xcode7.1 # apple-clang 7.0
-         language: generic
-         env: CONAN_CURRENT_PAGE=3
-       - os: osx 
-         osx_image: xcode7.1 # apple-clang 7.0
-         language: generic
-         env: CONAN_CURRENT_PAGE=4
-       - os: osx 
-         osx_image: xcode7.1 # apple-clang 7.0
-         language: generic
-         env: CONAN_CURRENT_PAGE=5
-       - os: osx 
-         osx_image: xcode7.1 # apple-clang 7.0
-         language: generic
-         env: CONAN_CURRENT_PAGE=6
-       - os: osx 
-         osx_image: xcode7.1 # apple-clang 7.0
-         language: generic
-         env: CONAN_CURRENT_PAGE=7
-       - os: osx 
-         osx_image: xcode7.1 # apple-clang 7.0
-         language: generic
-         env: CONAN_CURRENT_PAGE=8
-        
+     
+      - <<: *linux
+        stage: conan-osx
+        osx_image: xcode7.3
+        env: CONAN_APPLE_CLANG_VERSIONS=7.3 CONAN_CURRENT_PAGE=1
+     
+      - <<: *linux
+        stage: conan-osx
+        osx_image: xcode8.1
+        env: CONAN_APPLE_CLANG_VERSIONS=8.1 CONAN_CURRENT_PAGE=1
+     
+      - <<: *linux
+        stage: conan-osx
+        osx_image: xcode9.0
+        env: CONAN_APPLE_CLANG_VERSIONS=9.0 CONAN_CURRENT_PAGE=1
+     
+      - <<: *linux
+        stage: conan-osx
+        osx_image: xcode9.1
+        env: CONAN_APPLE_CLANG_VERSIONS=9.1 CONAN_CURRENT_PAGE=1
+     
+      - <<: *linux
+        stage: conan-osx
+        osx_image: xcode10.0
+        env: CONAN_APPLE_CLANG_VERSIONS=10.0 CONAN_CURRENT_PAGE=1
+     
 
 install:
+  - chmod +x .travis/install.sh
   - ./.travis/install.sh
+
 script:
+  - chmod +x .travis/run.sh
   - ./.travis/run.sh