Merge branch '18631-shell-login-sync'
[arvados-formula.git] / .gitlab-ci.yml
index e9bcf7aec5c1fb31799d650a240977da1a05cc29..bd3fe29996dbab5685fd1267e2d0ccf461421b3f 100644 (file)
@@ -1,13 +1,17 @@
 # -*- coding: utf-8 -*-
 # vim: ft=yaml
 # -*- coding: utf-8 -*-
 # vim: ft=yaml
+
+# Copyright (C) The Arvados Authors. All rights reserved.
+#
+# SPDX-License-Identifier: Apache-2.0
 ---
 ###############################################################################
 # Define all YAML node anchors
 ###############################################################################
 .node_anchors:
   # `only` (also used for `except` where applicable)
 ---
 ###############################################################################
 # Define all YAML node anchors
 ###############################################################################
 .node_anchors:
   # `only` (also used for `except` where applicable)
-  only_branch_master_parent_repo: &only_branch_master_parent_repo
-    - 'master@saltstack-formulas/arvados-formula'
+  only_branch_main_parent_repo: &only_branch_main_parent_repo
+    - 'main@git.arvados.org/arvados-formula'
   # `stage`
   stage_lint: &stage_lint 'lint'
   stage_release: &stage_release 'release'
   # `stage`
   stage_lint: &stage_lint 'lint'
   stage_release: &stage_release 'release'
@@ -46,32 +50,34 @@ variables:
   DOCKER_DRIVER: 'overlay2'
 
 ###############################################################################
   DOCKER_DRIVER: 'overlay2'
 
 ###############################################################################
-# `lint` stage: `commitlint` & `pre-commit`
+# `lint` stage: `commitlint`, `pre-commit` & `rubocop` (latest, failure allowed)
 ###############################################################################
 ###############################################################################
-commitlint:
-  stage: *stage_lint
-  image: *image_commitlint
-  script:
-    # Add `upstream` remote to get access to `upstream/master`
-    - 'git remote add upstream
-       https://gitlab.com/saltstack-formulas/arvados-formula.git'
-    - 'git fetch --all'
-    # Set default commit hashes for `--from` and `--to`
-    - 'export COMMITLINT_FROM="$(git merge-base upstream/master HEAD)"'
-    - 'export COMMITLINT_TO="${CI_COMMIT_SHA}"'
-    # `coqbot` adds a merge commit to test PRs on top of the latest commit in
-    # the repo; amend this merge commit message to avoid failure
-    - |
-      if [ "${GITLAB_USER_LOGIN}" = "coqbot" ] \
-      && [ "${CI_COMMIT_BRANCH}" != "master" ]; then
-        git commit --amend -m \
-          'chore: reword coqbot merge commit message for commitlint'
-        export COMMITLINT_TO=HEAD
-      fi
-    # Run `commitlint`
-    - 'commitlint --from "${COMMITLINT_FROM}"
-                  --to   "${COMMITLINT_TO}"
-                  --verbose'
+# Disable commitlint because Arvados does not follow this standard, it has
+# its own, see https://dev.arvados.org/projects/arvados/wiki/Coding_Standards
+# commitlint:
+#   stage: *stage_lint
+#   image: *image_commitlint
+#   script:
+#     # Add `upstream` remote to get access to `upstream/main`
+#     - 'git remote add upstream
+#        https://git.arvados.org/arvados-formula.git'
+#     - 'git fetch --all'
+#     # Set default commit hashes for `--from` and `--to`
+#     - 'export COMMITLINT_FROM="$(git merge-base upstream/main HEAD)"'
+#     - 'export COMMITLINT_TO="${CI_COMMIT_SHA}"'
+#     # `coqbot` adds a merge commit to test PRs on top of the latest commit in
+#     # the repo; amend this merge commit message to avoid failure
+#     - |
+#       if [ "${GITLAB_USER_LOGIN}" = "coqbot" ] \
+#       && [ "${CI_COMMIT_BRANCH}" != "main" ]; then
+#         git commit --amend -m \
+#           'chore: reword coqbot merge commit message for commitlint'
+#         export COMMITLINT_TO=HEAD
+#       fi
+#     # Run `commitlint`
+#     - 'commitlint --from "${COMMITLINT_FROM}"
+#                   --to   "${COMMITLINT_TO}"
+#                   --verbose'
 
 pre-commit:
   stage: *stage_lint
 
 pre-commit:
   stage: *stage_lint
@@ -123,84 +129,114 @@ rubocop:
 ## 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`
 ## 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`
-# api-debian-10-tiamat-py3: {extends: '.test_instance'}
-# keepstore-debian-10-tiamat-py3: {extends: '.test_instance'}
-# shell-debian-10-tiamat-py3: {extends: '.test_instance'}
-# workbench-debian-10-tiamat-py3: {extends: '.test_instance'}
-# api-debian-9-tiamat-py3: {extends: '.test_instance'}
-# keepstore-debian-9-tiamat-py3: {extends: '.test_instance'}
-# shell-debian-9-tiamat-py3: {extends: '.test_instance'}
-# workbench-debian-9-tiamat-py3: {extends: '.test_instance'}
-# api-ubuntu-2004-tiamat-py3: {extends: '.test_instance'}
-# keepstore-ubuntu-2004-tiamat-py3: {extends: '.test_instance'}
-# shell-ubuntu-2004-tiamat-py3: {extends: '.test_instance'}
-# workbench-ubuntu-2004-tiamat-py3: {extends: '.test_instance'}
-# api-ubuntu-1804-tiamat-py3: {extends: '.test_instance'}
-# keepstore-ubuntu-1804-tiamat-py3: {extends: '.test_instance'}
-# shell-ubuntu-1804-tiamat-py3: {extends: '.test_instance'}
-# workbench-ubuntu-1804-tiamat-py3: {extends: '.test_instance'}
-# api-centos-7-tiamat-py3: {extends: '.test_instance'}
-# keepstore-centos-7-tiamat-py3: {extends: '.test_instance'}
-# shell-centos-7-tiamat-py3: {extends: '.test_instance'}
-# workbench-centos-7-tiamat-py3: {extends: '.test_instance'}
-# api-debian-10-master-py3: {extends: '.test_instance'}
-# keepstore-debian-10-master-py3: {extends: '.test_instance'}
-# shell-debian-10-master-py3: {extends: '.test_instance'}
-# workbench-debian-10-master-py3: {extends: '.test_instance'}
-# api-ubuntu-2004-master-py3: {extends: '.test_instance'}
-# keepstore-ubuntu-2004-master-py3: {extends: '.test_instance'}
-# shell-ubuntu-2004-master-py3: {extends: '.test_instance'}
-# workbench-ubuntu-2004-master-py3: {extends: '.test_instance'}
-# api-ubuntu-1804-master-py3: {extends: '.test_instance'}
-# keepstore-ubuntu-1804-master-py3: {extends: '.test_instance'}
-# shell-ubuntu-1804-master-py3: {extends: '.test_instance'}
-# workbench-ubuntu-1804-master-py3: {extends: '.test_instance'}
-# api-debian-10-3001-py3: {extends: '.test_instance'}
-# keepstore-debian-10-3001-py3: {extends: '.test_instance'}
-# shell-debian-10-3001-py3: {extends: '.test_instance'}
-# workbench-debian-10-3001-py3: {extends: '.test_instance'}
-# api-debian-9-3001-py3: {extends: '.test_instance'}
-# keepstore-debian-9-3001-py3: {extends: '.test_instance'}
-# shell-debian-9-3001-py3: {extends: '.test_instance'}
-# workbench-debian-9-3001-py3: {extends: '.test_instance'}
-# api-ubuntu-2004-3001-py3: {extends: '.test_instance'}
-# keepstore-ubuntu-2004-3001-py3: {extends: '.test_instance'}
-# shell-ubuntu-2004-3001-py3: {extends: '.test_instance'}
-# workbench-ubuntu-2004-3001-py3: {extends: '.test_instance'}
-# api-ubuntu-1804-3001-py3: {extends: '.test_instance'}
-# keepstore-ubuntu-1804-3001-py3: {extends: '.test_instance'}
-# shell-ubuntu-1804-3001-py3: {extends: '.test_instance'}
-# workbench-ubuntu-1804-3001-py3: {extends: '.test_instance'}
-# api-centos-7-3001-py3: {extends: '.test_instance'}
-# keepstore-centos-7-3001-py3: {extends: '.test_instance'}
-shell-centos-7-3001-py3: {extends: '.test_instance'}
-# workbench-centos-7-3001-py3: {extends: '.test_instance'}
-# api-debian-10-3000-3-py3: {extends: '.test_instance'}
-# keepstore-debian-10-3000-3-py3: {extends: '.test_instance'}
-# shell-debian-10-3000-3-py3: {extends: '.test_instance'}
-# workbench-debian-10-3000-3-py3: {extends: '.test_instance'}
-# api-debian-9-3000-3-py3: {extends: '.test_instance'}
-# keepstore-debian-9-3000-3-py3: {extends: '.test_instance'}
-# shell-debian-9-3000-3-py3: {extends: '.test_instance'}
-# workbench-debian-9-3000-3-py3: {extends: '.test_instance'}
-# api-ubuntu-1804-3000-3-py3: {extends: '.test_instance'}
-# keepstore-ubuntu-1804-3000-3-py3: {extends: '.test_instance'}
-# shell-ubuntu-1804-3000-3-py3: {extends: '.test_instance'}
-# workbench-ubuntu-1804-3000-3-py3: {extends: '.test_instance'}
-# api-centos-7-3000-3-py3: {extends: '.test_instance'}
-keepstore-centos-7-3000-3-py3: {extends: '.test_instance'}
-# shell-centos-7-3000-3-py3: {extends: '.test_instance'}
-# workbench-centos-7-3000-3-py3: {extends: '.test_instance'}
-# api-ubuntu-1804-3000-3-py2: {extends: '.test_instance'}
-# keepstore-ubuntu-1804-3000-3-py2: {extends: '.test_instance'}
-# shell-ubuntu-1804-3000-3-py2: {extends: '.test_instance'}
-# workbench-ubuntu-1804-3000-3-py2: {extends: '.test_instance'}
+# Get this list with
+# kitchen list |awk '{print $1": {extends: '.test_instance'}"}' |sort -r
+
+workbench-ubuntu-2004-tiamat-py3: {extends: .test_instance}
+# workbench-ubuntu-2004-master-py3: {extends: .test_instance}
+# workbench-ubuntu-2004-3003.3-py3: {extends: .test_instance}
+# workbench-ubuntu-2004-3002.7-py3: {extends: .test_instance}
+# workbench-ubuntu-2004-3001.8-py3: {extends: .test_instance}
+# workbench-ubuntu-1804-tiamat-py3: {extends: .test_instance}
+workbench-ubuntu-1804-master-py3: {extends: .test_instance}
+# workbench-ubuntu-1804-3003.3-py3: {extends: .test_instance}
+# workbench-ubuntu-1804-3002.7-py3: {extends: .test_instance}
+# workbench-ubuntu-1804-3001.8-py3: {extends: .test_instance}
+# workbench-debian-11-tiamat-py3: {extends: .test_instance}
+# workbench-debian-11-master-py3: {extends: .test_instance}
+workbench-debian-11-3003.3-py3: {extends: .test_instance}
+# workbench-debian-11-3002.7-py3: {extends: .test_instance}
+# workbench-debian-10-tiamat-py3: {extends: .test_instance}
+# workbench-debian-10-master-py3: {extends: .test_instance}
+# workbench-debian-10-3003.3-py3: {extends: .test_instance}
+workbench-debian-10-3002.7-py3: {extends: .test_instance}
+# workbench-debian-10-3001.8-py3: {extends: .test_instance}
+# workbench-centos-7-tiamat-py3: {extends: .test_instance}
+# workbench-centos-7-master-py3: {extends: .test_instance}
+# workbench-centos-7-3003.3-py3: {extends: .test_instance}
+# workbench-centos-7-3002.7-py3: {extends: .test_instance}
+workbench-centos-7-3001.8-py3: {extends: .test_instance}
+
+# shell-ubuntu-2004-tiamat-py3: {extends: .test_instance}
+shell-ubuntu-2004-master-py3: {extends: .test_instance}
+# shell-ubuntu-2004-3003.3-py3: {extends: .test_instance}
+# shell-ubuntu-2004-3002.7-py3: {extends: .test_instance}
+# shell-ubuntu-2004-3001.8-py3: {extends: .test_instance}
+# shell-ubuntu-1804-tiamat-py3: {extends: .test_instance}
+# shell-ubuntu-1804-master-py3: {extends: .test_instance}
+shell-ubuntu-1804-3003.3-py3: {extends: .test_instance}
+# shell-ubuntu-1804-3002.7-py3: {extends: .test_instance}
+# shell-ubuntu-1804-3001.8-py3: {extends: .test_instance}
+# shell-debian-11-tiamat-py3: {extends: .test_instance}
+# shell-debian-11-master-py3: {extends: .test_instance}
+# shell-debian-11-3003.3-py3: {extends: .test_instance}
+shell-debian-11-3002.7-py3: {extends: .test_instance}
+# shell-debian-10-tiamat-py3: {extends: .test_instance}
+# shell-debian-10-master-py3: {extends: .test_instance}
+# shell-debian-10-3003.3-py3: {extends: .test_instance}
+# shell-debian-10-3002.7-py3: {extends: .test_instance}
+shell-debian-10-3001.8-py3: {extends: .test_instance}
+shell-centos-7-tiamat-py3: {extends: .test_instance}
+# shell-centos-7-master-py3: {extends: .test_instance}
+# shell-centos-7-3003.3-py3: {extends: .test_instance}
+# shell-centos-7-3002.7-py3: {extends: .test_instance}
+# shell-centos-7-3001.8-py3: {extends: .test_instance}
+
+# keepstore-ubuntu-2004-tiamat-py3: {extends: .test_instance}
+# keepstore-ubuntu-2004-master-py3: {extends: .test_instance}
+keepstore-ubuntu-2004-3003.3-py3: {extends: .test_instance}
+# keepstore-ubuntu-2004-3002.7-py3: {extends: .test_instance}
+# keepstore-ubuntu-2004-3001.8-py3: {extends: .test_instance}
+# keepstore-ubuntu-1804-tiamat-py3: {extends: .test_instance}
+# keepstore-ubuntu-1804-master-py3: {extends: .test_instance}
+# keepstore-ubuntu-1804-3003.3-py3: {extends: .test_instance}
+keepstore-ubuntu-1804-3002.7-py3: {extends: .test_instance}
+# keepstore-ubuntu-1804-3001.8-py3: {extends: .test_instance}
+keepstore-debian-11-tiamat-py3: {extends: .test_instance}
+# keepstore-debian-11-master-py3: {extends: .test_instance}
+# keepstore-debian-11-3003.3-py3: {extends: .test_instance}
+# keepstore-debian-11-3002.7-py3: {extends: .test_instance}
+# keepstore-debian-10-tiamat-py3: {extends: .test_instance}
+# keepstore-debian-10-master-py3: {extends: .test_instance}
+# keepstore-debian-10-3003.3-py3: {extends: .test_instance}
+# keepstore-debian-10-3002.7-py3: {extends: .test_instance}
+keepstore-debian-10-3001.8-py3: {extends: .test_instance}
+# keepstore-centos-7-tiamat-py3: {extends: .test_instance}
+# keepstore-centos-7-master-py3: {extends: .test_instance}
+# keepstore-centos-7-3003.3-py3: {extends: .test_instance}
+# keepstore-centos-7-3002.7-py3: {extends: .test_instance}
+# keepstore-centos-7-3001.8-py3: {extends: .test_instance}
+
+# api-ubuntu-2004-tiamat-py3: {extends: .test_instance}
+# api-ubuntu-2004-master-py3: {extends: .test_instance}
+# api-ubuntu-2004-3003.3-py3: {extends: .test_instance}
+api-ubuntu-2004-3002.7-py3: {extends: .test_instance}
+# api-ubuntu-2004-3001.8-py3: {extends: .test_instance}
+# api-ubuntu-1804-tiamat-py3: {extends: .test_instance}
+# api-ubuntu-1804-master-py3: {extends: .test_instance}
+# api-ubuntu-1804-3003.3-py3: {extends: .test_instance}
+# api-ubuntu-1804-3002.7-py3: {extends: .test_instance}
+api-ubuntu-1804-3001.8-py3: {extends: .test_instance}
+# api-debian-11-tiamat-py3: {extends: .test_instance}
+# api-debian-11-master-py3: {extends: .test_instance}
+api-debian-11-3003.3-py3: {extends: .test_instance}
+# api-debian-11-3002.7-py3: {extends: .test_instance}
+# api-debian-10-tiamat-py3: {extends: .test_instance}
+# api-debian-10-master-py3: {extends: .test_instance}
+# api-debian-10-3003.3-py3: {extends: .test_instance}
+# api-debian-10-3002.7-py3: {extends: .test_instance}
+# api-debian-10-3001.8-py3: {extends: .test_instance}
+api-centos-7-tiamat-py3: {extends: .test_instance}
+# api-centos-7-master-py3: {extends: .test_instance}
+# api-centos-7-3003.3-py3: {extends: .test_instance}
+# api-centos-7-3002.7-py3: {extends: .test_instance}
+# api-centos-7-3001.8-py3: {extends: .test_instance}
 
 ###############################################################################
 # `release` stage: `semantic-release`
 ###############################################################################
 semantic-release:
 
 ###############################################################################
 # `release` stage: `semantic-release`
 ###############################################################################
 semantic-release:
-  only: *only_branch_master_parent_repo
+  only: *only_branch_main_parent_repo
   stage: *stage_release
   image: *image_semanticrelease
   variables:
   stage: *stage_release
   image: *image_semanticrelease
   variables: