From 9b8b6e6a82aa300933ea2d3e0c05fc265fa53195 Mon Sep 17 00:00:00 2001
From: Imran Iqbal <iqbalmy@hotmail.com>
Date: Sat, 19 Dec 2020 14:36:59 +0000
Subject: [PATCH] ci(gitlab-ci): add `rubocop` linter (with `allow_failure`)
 [skip ci]

* Automated using https://github.com/myii/ssf-formula/pull/277
---
 .gitlab-ci.yml | 14 ++++++++++++++
 1 file changed, 14 insertions(+)

diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index 4130713..6bc7ed9 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
@@ -84,6 +85,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
 ###############################################################################
-- 
GitLab