ci(pre-commit): add to formula [skip ci]
[arvados-formula.git] / .travis.yml
index 78b60d97561dfa9826c95dc817abb6cc39d4b9ea..8edfbcd83997f8dd46cc7bf74a42f75d00b9e512 100644 (file)
@@ -55,69 +55,29 @@ jobs:
                    @commitlint/travis-cli
         - commitlint-travis
 
+    # Run `pre-commit` linters in a single job
+    - language: 'python'
+      env: 'Lint_pre-commit'
+      name: 'Lint: pre-commit'
+      before_install: 'skip'
+      cache:
+        directories:
+          - $HOME/.cache/pre-commit
+      script:
+        # Install and run `pre-commit`
+        - pip install pre-commit==2.7.1
+        - pre-commit run --all-files --color always --verbose
+        - pre-commit run --color always --hook-stage manual --verbose commitlint-travis
+
     ## Define the rest of the matrix based on Kitchen testing
     # Make sure the instances listed below match up with
     # the `platforms` defined in `kitchen.yml`
-    # NOTE: Please try to select up to six instances that add some meaningful
-    #       testing of the formula's behaviour. If possible, try to refrain from
-    #       the classical "chosing all the instances because I want to test on
-    #       another/all distro/s" trap: it will just add time to the testing (see
-    #       the discussion on #121).  As an example, the set chosen below covers
-    #       the most used distros families, systemd and non-systemd and the latest
-    #       three supported Saltstack versions with python2 and 3.
-    #       As for `kitchen.yml`, that should still contain all of the platforms,
-    #       to allow for comprehensive local testing
-    #       Ref: https://github.com/saltstack-formulas/template-formula/issues/118
-    #       Ref: https://github.com/saltstack-formulas/template-formula/issues/121
-    - env: INSTANCE=default-debian-10-master-py3
-    # - env: INSTANCE=default-ubuntu-1804-master-py3
-    - env: INSTANCE=default-centos-8-master-py3
-    # - env: INSTANCE=default-fedora-31-master-py3
-    # - env: INSTANCE=default-opensuse-leap-151-master-py3
-    # - env: INSTANCE=default-amazonlinux-2-master-py3
-    # - env: INSTANCE=default-arch-base-latest-master-py2
-    # - env: INSTANCE=default-debian-10-3000-1-py3
-    - env: INSTANCE=default-ubuntu-1804-3000-1-py3
-    # - env: INSTANCE=default-centos-8-3000-1-py3
-    # - env: INSTANCE=default-fedora-31-3000-1-py3
-    - env: INSTANCE=default-opensuse-leap-151-3000-1-py3
-    - env: INSTANCE=default-amazonlinux-2-3000-1-py3
-    # - env: INSTANCE=default-arch-base-latest-3000-1-py2
-    # - env: INSTANCE=default-debian-10-2019-2-py3
-    # - env: INSTANCE=default-debian-9-2019-2-py3
-    # - env: INSTANCE=default-ubuntu-1804-2019-2-py3
-    # - env: INSTANCE=default-ubuntu-1604-2019-2-py3
-    # - env: INSTANCE=default-centos-8-2019-2-py3
+    - env: INSTANCE=api-debian-10-3000-3-py3
+    - env: INSTANCE=workbench-debian-10-3000-3-py3
+    - env: INSTANCE=shell-debian-10-3000-3-py3
+    - env: INSTANCE=keepstore-debian-10-3000-3-py3
+    # - env: INSTANCE=default-ubuntu-1804-3000-3-py3
     # - env: INSTANCE=default-centos-7-2019-2-py3
-    - env: INSTANCE=default-fedora-31-2019-2-py3
-    # - env: INSTANCE=default-opensuse-leap-151-2019-2-py3
-    # - env: INSTANCE=default-amazonlinux-2-2019-2-py3
-    # - env: INSTANCE=default-ubuntu-1804-2019-2-py2
-    # - env: INSTANCE=default-amazonlinux-1-2019-2-py2
-    - env: INSTANCE=default-arch-base-latest-2019-2-py2
-    # - env: INSTANCE=default-centos-7-2018-3-py3
-    # - env: INSTANCE=default-fedora-30-2018-3-py3
-    # - env: INSTANCE=default-debian-9-2018-3-py2
-    # - env: INSTANCE=default-debian-8-2018-3-py2
-    # - env: INSTANCE=default-ubuntu-1804-2018-3-py2
-    # - env: INSTANCE=default-ubuntu-1604-2018-3-py2
-    - env: INSTANCE=centos6-centos-6-2018-3-py2
-    # - env: INSTANCE=default-opensuse-leap-151-2018-3-py2
-    # - env: INSTANCE=default-amazonlinux-1-2018-3-py2
-    # - env: INSTANCE=default-arch-base-latest-2018-3-py2
-    # <REMOVEME
-
-    # Test the conversion of `template-formula` into another formula
-    # ready for development
-    - env: 'Conversion'
-      name: 'Test: bin/convert-formula.sh'
-      script:
-        - git clone . tmp/converted-formula
-        - cd tmp/converted-formula
-        - DEBUG=true bin/convert-formula.sh converted
-        - '[ $(git rev-list HEAD --count) -eq 2 ]'
-        - bin/kitchen verify default-debian-10-2019-2-py3
-    # REMOVEME>
 
     ## Define the release stage that runs `semantic-release`
     - stage: 'release'
@@ -144,3 +104,15 @@ jobs:
         edge: true
         # Run `semantic-release`
         script: 'npx semantic-release@15.14'
+
+# Notification options: `always`, `never` or `change`
+notifications:
+  webhooks:
+    if: 'repo = saltstack-formulas/arvados-formula'
+    urls:
+      - https://saltstack-formulas.zulipchat.com/api/v1/external/travis?api_key=HsIq3o5QmLxdnVCKF9is0FUIpkpAY79P&stream=CI&topic=saltstack-formulas%2Farvados-formula&ignore_pull_requests=true
+    on_success: always  # default: always
+    on_failure: always  # default: always
+    on_start: always    # default: never
+    on_cancel: always   # default: always
+    on_error: always    # default: always