X-Git-Url: https://git.arvados.org/arvados-formula.git/blobdiff_plain/e3ad2e84ade6d1c3112e5f278b71b065f6cc7a66..deae23d2bf8f41dbd624494613cab1df71a8c231:/.gitlab-ci.yml diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index b59f360..2d4b1fd 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -18,6 +18,7 @@ image_precommit: &image_precommit name: 'myii/ssf-pre-commit:2.9.2' entrypoint: ['/bin/bash', '-c'] + image_rubocop: &image_rubocop 'pipelinecomponents/rubocop:latest' image_semantic-release: &image_semanticrelease 'myii/ssf-semantic-release:15.14' # `services` services_docker_dind: &services_docker_dind @@ -45,14 +46,15 @@ variables: 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 ${CI_PROJECT_URL}.git' + - '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)"' @@ -84,6 +86,19 @@ pre-commit: script: - 'pre-commit run --all-files --color always --verbose' +# Use a separate job for `rubocop` other than the one potentially run by `pre-commit` +# - The `pre-commit` check will only be available for formulas that pass the default +# `rubocop` check -- and must continue to do so +# - This job is allowed to fail, so can be used for all formulas +# - Furthermore, this job uses all of the latest `rubocop` features & cops, +# which will help when upgrading the `rubocop` linter used in `pre-commit` +rubocop: + allow_failure: true + stage: *stage_lint + image: *image_rubocop + script: + - 'rubocop -d -P -S --enable-pending-cops' + ############################################################################### # Define `test` template ############################################################################### @@ -109,77 +124,95 @@ pre-commit: # 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-ubuntu-1604-tiamat-py3: {extends: '.test_instance'} +# api-centos-8-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'} +# api-amazonlinux-2-tiamat-py3: {extends: '.test_instance'} +# api-oraclelinux-8-tiamat-py3: {extends: '.test_instance'} +# api-oraclelinux-7-tiamat-py3: {extends: '.test_instance'} +api-debian-10-master-py3: {extends: '.test_instance'} +workbench-debian-10-master-py3: {extends: '.test_instance'} # shell-debian-10-master-py3: {extends: '.test_instance'} -# workbench-debian-10-master-py3: {extends: '.test_instance'} +keepstore-debian-10-master-py3: {extends: '.test_instance'} +# api-debian-9-master-py3: {extends: '.test_instance'} +# workbench-debian-9-master-py3: {extends: '.test_instance'} +# shell-debian-9-master-py3: {extends: '.test_instance'} +# keepstore-debian-9-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-2004-master-py3: {extends: '.test_instance'} +# keepstore-ubuntu-2004-master-py3: {extends: '.test_instance'} +api-ubuntu-1804-master-py3: {extends: '.test_instance'} +workbench-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'} +# keepstore-ubuntu-1804-master-py3: {extends: '.test_instance'} +# api-ubuntu-1604-master-py3: {extends: '.test_instance'} +# workbench-ubuntu-1604-master-py3: {extends: '.test_instance'} +# shell-ubuntu-1604-master-py3: {extends: '.test_instance'} +# keepstore-ubuntu-1604-master-py3: {extends: '.test_instance'} +# api-centos-8-master-py3: {extends: '.test_instance'} +# workbench-centos-8-master-py3: {extends: '.test_instance'} +# shell-centos-8-master-py3: {extends: '.test_instance'} +# keepstore-centos-8-master-py3: {extends: '.test_instance'} +# api-centos-7-master-py3: {extends: '.test_instance'} +# workbench-centos-7-master-py3: {extends: '.test_instance'} +shell-centos-7-master-py3: {extends: '.test_instance'} +keepstore-centos-7-master-py3: {extends: '.test_instance'} +# api-amazonlinux-2-master-py3: {extends: '.test_instance'} +# workbench-amazonlinux-2-master-py3: {extends: '.test_instance'} +# shell-amazonlinux-2-master-py3: {extends: '.test_instance'} +# keepstore-amazonlinux-2-master-py3: {extends: '.test_instance'} +# api-oraclelinux-8-master-py3: {extends: '.test_instance'} +# workbench-oraclelinux-8-master-py3: {extends: '.test_instance'} +# shell-oraclelinux-8-master-py3: {extends: '.test_instance'} +# keepstore-oraclelinux-8-master-py3: {extends: '.test_instance'} +# api-oraclelinux-7-master-py3: {extends: '.test_instance'} +# workbench-oraclelinux-7-master-py3: {extends: '.test_instance'} +# shell-oraclelinux-7-master-py3: {extends: '.test_instance'} +# keepstore-oraclelinux-7-master-py3: {extends: '.test_instance'} +# api-debian-10-3003-0-py3: {extends: '.test_instance'} +# api-debian-9-3003-0-py3: {extends: '.test_instance'} +# api-ubuntu-2004-3003-0-py3: {extends: '.test_instance'} +# api-ubuntu-1804-3003-0-py3: {extends: '.test_instance'} +# api-centos-8-3003-0-py3: {extends: '.test_instance'} +# api-centos-7-3003-0-py3: {extends: '.test_instance'} +# api-amazonlinux-2-3003-0-py3: {extends: '.test_instance'} +# api-oraclelinux-8-3003-0-py3: {extends: '.test_instance'} +# api-oraclelinux-7-3003-0-py3: {extends: '.test_instance'} +# api-debian-10-3002-6-py3: {extends: '.test_instance'} +# api-debian-9-3002-6-py3: {extends: '.test_instance'} +# api-ubuntu-2004-3002-6-py3: {extends: '.test_instance'} +# api-ubuntu-1804-3002-6-py3: {extends: '.test_instance'} +# api-ubuntu-1604-3002-6-py3: {extends: '.test_instance'} +# api-centos-8-3002-6-py3: {extends: '.test_instance'} +# api-centos-7-3002-6-py3: {extends: '.test_instance'} +# api-amazonlinux-2-3002-6-py3: {extends: '.test_instance'} +# api-oraclelinux-8-3002-6-py3: {extends: '.test_instance'} +# api-oraclelinux-7-3002-6-py3: {extends: '.test_instance'} +# api-debian-10-3001-7-py3: {extends: '.test_instance'} +# api-debian-9-3001-7-py3: {extends: '.test_instance'} +# api-ubuntu-2004-3001-7-py3: {extends: '.test_instance'} +# api-ubuntu-1804-3001-7-py3: {extends: '.test_instance'} +# api-ubuntu-1604-3001-7-py3: {extends: '.test_instance'} +# api-centos-8-3001-7-py3: {extends: '.test_instance'} +# api-centos-7-3001-7-py3: {extends: '.test_instance'} +# api-amazonlinux-2-3001-7-py3: {extends: '.test_instance'} +# api-oraclelinux-8-3001-7-py3: {extends: '.test_instance'} +# api-oraclelinux-7-3001-7-py3: {extends: '.test_instance'} +# api-debian-10-3000-9-py3: {extends: '.test_instance'} +# api-debian-9-3000-9-py3: {extends: '.test_instance'} +# api-ubuntu-1804-3000-9-py3: {extends: '.test_instance'} +# api-ubuntu-1604-3000-9-py3: {extends: '.test_instance'} +# api-centos-8-3000-9-py3: {extends: '.test_instance'} +# api-centos-7-3000-9-py3: {extends: '.test_instance'} +# api-amazonlinux-2-3000-9-py3: {extends: '.test_instance'} +# api-oraclelinux-8-3000-9-py3: {extends: '.test_instance'} +# api-oraclelinux-7-3000-9-py3: {extends: '.test_instance'} +# api-ubuntu-1804-3000-9-py2: {extends: '.test_instance'} +# api-ubuntu-1604-3000-9-py2: {extends: '.test_instance'} ############################################################################### # `release` stage: `semantic-release`