From 0a75999392e28f73d810908e59d1fff82712a560 Mon Sep 17 00:00:00 2001
From: Darius Schneider <schneider@itc.rwth-aachen.de>
Date: Tue, 20 May 2025 11:00:06 +0200
Subject: [PATCH] rip in pieces
---
rails/erb-lint.yml | 30 ----------------
{rails => ruby}/erb_lint.yml | 0
{rails => ruby}/gitlab-ci-for-gem.yml | 10 +++---
.../gitlab-ci-for-rails.yml | 10 +++---
ruby/gitlab-ci-for-ruby-script.yml | 35 +++++++++++++++++++
{rails => ruby}/haml-lint.yml | 0
{rails => ruby}/rubocop-for-gem.yml | 1 +
.../rubocop.yml => ruby/rubocop-for-rails.yml | 5 +--
ruby/rubocop-for-ruby-script.yml | 5 +++
.../rubocop-inherit-itc-gem_ci.yml | 2 +-
{rails => ruby}/rubocop/rubocop-base.yml | 31 +---------------
ruby/rubocop/rubocop-rails.yml | 30 ++++++++++++++++
12 files changed, 86 insertions(+), 73 deletions(-)
delete mode 100644 rails/erb-lint.yml
rename {rails => ruby}/erb_lint.yml (100%)
rename {rails => ruby}/gitlab-ci-for-gem.yml (83%)
rename rails/gitlab-ci.yml => ruby/gitlab-ci-for-rails.yml (88%)
create mode 100644 ruby/gitlab-ci-for-ruby-script.yml
rename {rails => ruby}/haml-lint.yml (100%)
rename {rails => ruby}/rubocop-for-gem.yml (89%)
rename rails/rubocop.yml => ruby/rubocop-for-rails.yml (78%)
create mode 100644 ruby/rubocop-for-ruby-script.yml
rename rails/rubocop-inherit.yml => ruby/rubocop-inherit-itc-gem_ci.yml (53%)
rename {rails => ruby}/rubocop/rubocop-base.yml (85%)
create mode 100644 ruby/rubocop/rubocop-rails.yml
diff --git a/rails/erb-lint.yml b/rails/erb-lint.yml
deleted file mode 100644
index 7db595a..0000000
--- a/rails/erb-lint.yml
+++ /dev/null
@@ -1,30 +0,0 @@
-glob: '**/*.{html,text,js}{+*,}.erb'
-exclude:
- - '**/vendor/**/*'
-EnableDefaultLinters: true
-linters:
- ErbSafety:
- enabled: true
- FinalNewline:
- enabled: true
- Rubocop:
- enabled: true
- rubocop_config:
- inherit_from:
- - .rubocop.yml
- Layout/InitialIndentation:
- Enabled: false
- Layout/LineLength:
- Enabled: false
- Layout/TrailingEmptyLines:
- Enabled: false
- Layout/TrailingWhitespace:
- Enabled: false
- Naming/FileName:
- Enabled: false
- Style/FrozenStringLiteralComment:
- Enabled: false
- Lint/UselessAssignment:
- Enabled: false
- Rails/OutputSafety:
- Enabled: false
diff --git a/rails/erb_lint.yml b/ruby/erb_lint.yml
similarity index 100%
rename from rails/erb_lint.yml
rename to ruby/erb_lint.yml
diff --git a/rails/gitlab-ci-for-gem.yml b/ruby/gitlab-ci-for-gem.yml
similarity index 83%
rename from rails/gitlab-ci-for-gem.yml
rename to ruby/gitlab-ci-for-gem.yml
index 785f731..b20b034 100644
--- a/rails/gitlab-ci-for-gem.yml
+++ b/ruby/gitlab-ci-for-gem.yml
@@ -17,7 +17,7 @@ rubocop:
tags:
- gem
script:
- - wget --quiet "https://git-ce.rwth-aachen.de/noc-public/noc-netze-gitlab-cicd/-/raw/main/rails/rubocop.yml" -O ".rubocop.yml"
+ - wget --quiet "https://git-ce.rwth-aachen.de/noc-public/noc-netze-gitlab-cicd/-/raw/main/ruby/rubocop-for-gem.yml" -O ".rubocop.yml"
- gem install rubocop:1.75.6 rubocop-capybara:2.22.1 rubocop-minitest:0.38.0 rubocop-performance:1.25.0 rubocop-rails:2.31.0 --silent
- gem install itc-gem_rubocop:0.1.4 --source=https://noc-portal.itc.rwth-aachen.de/geminabox --silent
- rubocop
@@ -28,8 +28,8 @@ erb_lint:
tags:
- gem
script:
- - wget --quiet "https://git-ce.rwth-aachen.de/noc-public/noc-netze-gitlab-cicd/-/raw/main/rails/rubocop.yml" -O ".rubocop.yml"
- - wget --quiet "https://git-ce.rwth-aachen.de/noc-public/noc-netze-gitlab-cicd/-/raw/main/rails/erb_lint.yml" -O ".erb_lint.yml"
+ - wget --quiet "https://git-ce.rwth-aachen.de/noc-public/noc-netze-gitlab-cicd/-/raw/main/ruby/rubocop-for-gem.yml" -O ".rubocop.yml"
+ - wget --quiet "https://git-ce.rwth-aachen.de/noc-public/noc-netze-gitlab-cicd/-/raw/main/ruby/erb_lint.yml" -O ".erb_lint.yml"
- gem install rubocop:1.75.6 rubocop-capybara:2.22.1 rubocop-minitest:0.38.0 rubocop-performance:1.25.0 rubocop-rails:2.31.0 erb_lint:0.9.0 --silent
- gem install itc-gem_rubocop:0.1.4 --source=https://noc-portal.itc.rwth-aachen.de/geminabox --silent
- erb_lint --lint-all --allow-no-files true
@@ -40,8 +40,8 @@ haml_lint:
tags:
- gem
script:
- - wget --quiet "https://git-ce.rwth-aachen.de/noc-public/noc-netze-gitlab-cicd/-/raw/main/rails/rubocop.yml" -O ".rubocop.yml"
- - wget --quiet "https://git-ce.rwth-aachen.de/noc-public/noc-netze-gitlab-cicd/-/raw/main/rails/haml-lint.yml" -O ".haml-lint.yml"
+ - wget --quiet "https://git-ce.rwth-aachen.de/noc-public/noc-netze-gitlab-cicd/-/raw/main/ruby/rubocop-for-gem.yml" -O ".rubocop.yml"
+ - wget --quiet "https://git-ce.rwth-aachen.de/noc-public/noc-netze-gitlab-cicd/-/raw/main/ruby/haml-lint.yml" -O ".haml-lint.yml"
- gem install rubocop:1.75.6 rubocop-capybara:2.22.1 rubocop-minitest:0.38.0 rubocop-performance:1.25.0 rubocop-rails:2.31.0 haml_lint:0.62.0 --silent
- gem install itc-gem_rubocop:0.1.4 --source=https://noc-portal.itc.rwth-aachen.de/geminabox --silent
- haml-lint
diff --git a/rails/gitlab-ci.yml b/ruby/gitlab-ci-for-rails.yml
similarity index 88%
rename from rails/gitlab-ci.yml
rename to ruby/gitlab-ci-for-rails.yml
index 0436d81..b253945 100644
--- a/rails/gitlab-ci.yml
+++ b/ruby/gitlab-ci-for-rails.yml
@@ -17,7 +17,7 @@ rubocop:
tags:
- rails
script:
- - wget --quiet "https://git-ce.rwth-aachen.de/noc-public/noc-netze-gitlab-cicd/-/raw/main/rails/rubocop.yml" -O ".rubocop.yml"
+ - wget --quiet "https://git-ce.rwth-aachen.de/noc-public/noc-netze-gitlab-cicd/-/raw/main/ruby/rubocop-for-rails.yml" -O ".rubocop.yml"
- gem install rubocop:1.75.6 rubocop-capybara:2.22.1 rubocop-minitest:0.38.0 rubocop-performance:1.25.0 rubocop-rails:2.31.0 --silent
- gem install itc-gem_rubocop:0.1.4 --source=https://noc-portal.itc.rwth-aachen.de/geminabox --silent
- rubocop
@@ -28,8 +28,8 @@ erb_lint:
tags:
- rails
script:
- - wget --quiet "https://git-ce.rwth-aachen.de/noc-public/noc-netze-gitlab-cicd/-/raw/main/rails/rubocop.yml" -O ".rubocop.yml"
- - wget --quiet "https://git-ce.rwth-aachen.de/noc-public/noc-netze-gitlab-cicd/-/raw/main/rails/erb_lint.yml" -O ".erb_lint.yml"
+ - wget --quiet "https://git-ce.rwth-aachen.de/noc-public/noc-netze-gitlab-cicd/-/raw/main/ruby/rubocop-for-rails.yml" -O ".rubocop.yml"
+ - wget --quiet "https://git-ce.rwth-aachen.de/noc-public/noc-netze-gitlab-cicd/-/raw/main/ruby/erb_lint.yml" -O ".erb_lint.yml"
- gem install rubocop:1.75.6 rubocop-capybara:2.22.1 rubocop-minitest:0.38.0 rubocop-performance:1.25.0 rubocop-rails:2.31.0 erb_lint:0.9.0 --silent
- gem install itc-gem_rubocop:0.1.4 --source=https://noc-portal.itc.rwth-aachen.de/geminabox --silent
- erb_lint --lint-all --allow-no-files true
@@ -40,8 +40,8 @@ haml_lint:
tags:
- rails
script:
- - wget --quiet "https://git-ce.rwth-aachen.de/noc-public/noc-netze-gitlab-cicd/-/raw/main/rails/rubocop.yml" -O ".rubocop.yml"
- - wget --quiet "https://git-ce.rwth-aachen.de/noc-public/noc-netze-gitlab-cicd/-/raw/main/rails/haml-lint.yml" -O ".haml-lint.yml"
+ - wget --quiet "https://git-ce.rwth-aachen.de/noc-public/noc-netze-gitlab-cicd/-/raw/main/ruby/rubocop-for-rails.yml" -O ".rubocop.yml"
+ - wget --quiet "https://git-ce.rwth-aachen.de/noc-public/noc-netze-gitlab-cicd/-/raw/main/ruby/haml-lint.yml" -O ".haml-lint.yml"
- gem install rubocop:1.75.6 rubocop-capybara:2.22.1 rubocop-minitest:0.38.0 rubocop-performance:1.25.0 rubocop-rails:2.31.0 haml_lint:0.62.0 --silent
- gem install itc-gem_rubocop:0.1.4 --source=https://noc-portal.itc.rwth-aachen.de/geminabox --silent
- haml-lint
diff --git a/ruby/gitlab-ci-for-ruby-script.yml b/ruby/gitlab-ci-for-ruby-script.yml
new file mode 100644
index 0000000..7096e90
--- /dev/null
+++ b/ruby/gitlab-ci-for-ruby-script.yml
@@ -0,0 +1,35 @@
+variables:
+ CI: "true"
+ RAILS_ENV: test
+
+set_ruby_version:
+ stage: build
+ script:
+ - echo "RUBY_VERSION=$(cat .ruby-version | sed 's/ruby-//g')" >> build.env
+ artifacts:
+ reports:
+ dotenv: build.env
+ expire_in: 1 week
+
+rubocop:
+ stage: test
+ image: ruby:$RUBY_VERSION
+ tags:
+ - gem
+ script:
+ - wget --quiet "https://git-ce.rwth-aachen.de/noc-public/noc-netze-gitlab-cicd/-/raw/main/ruby/rubocop-for-ruby-script.yml" -O ".rubocop.yml"
+ - gem install rubocop:1.75.6 rubocop-minitest:0.38.0 rubocop-performance:1.25.0 --silent
+ - gem install itc-gem_rubocop:0.1.4 --source=https://noc-portal.itc.rwth-aachen.de/geminabox --silent
+ - rubocop
+
+erb_lint:
+ stage: test
+ image: ruby:$RUBY_VERSION
+ tags:
+ - gem
+ script:
+ - wget --quiet "https://git-ce.rwth-aachen.de/noc-public/noc-netze-gitlab-cicd/-/raw/main/ruby/rubocop-for-ruby-script.yml" -O ".rubocop.yml"
+ - wget --quiet "https://git-ce.rwth-aachen.de/noc-public/noc-netze-gitlab-cicd/-/raw/main/ruby/erb_lint.yml" -O ".erb_lint.yml"
+ - gem install rubocop:1.75.6 rubocop-minitest:0.38.0 rubocop-performance:1.25.0 erb_lint:0.9.0 --silent
+ - gem install itc-gem_rubocop:0.1.4 --source=https://noc-portal.itc.rwth-aachen.de/geminabox --silent
+ - erb_lint --lint-all --allow-no-files true
diff --git a/rails/haml-lint.yml b/ruby/haml-lint.yml
similarity index 100%
rename from rails/haml-lint.yml
rename to ruby/haml-lint.yml
diff --git a/rails/rubocop-for-gem.yml b/ruby/rubocop-for-gem.yml
similarity index 89%
rename from rails/rubocop-for-gem.yml
rename to ruby/rubocop-for-gem.yml
index 65dbc8c..d256eb5 100644
--- a/rails/rubocop-for-gem.yml
+++ b/ruby/rubocop-for-gem.yml
@@ -1,4 +1,5 @@
inherit_from: "https://git-ce.rwth-aachen.de/noc-public/noc-netze-gitlab-cicd/-/raw/main/rails/rubocop/rubocop-base.yml"
+inherit_from: "https://git-ce.rwth-aachen.de/noc-public/noc-netze-gitlab-cicd/-/raw/main/rails/rubocop/rubocop-rails.yml"
plugins:
- rubocop-packaging
diff --git a/rails/rubocop.yml b/ruby/rubocop-for-rails.yml
similarity index 78%
rename from rails/rubocop.yml
rename to ruby/rubocop-for-rails.yml
index f4b56af..ab043d9 100644
--- a/rails/rubocop.yml
+++ b/ruby/rubocop-for-rails.yml
@@ -1,11 +1,12 @@
inherit_from: "https://git-ce.rwth-aachen.de/noc-public/noc-netze-gitlab-cicd/-/raw/main/rails/rubocop/rubocop-base.yml"
+inherit_from: "https://git-ce.rwth-aachen.de/noc-public/noc-netze-gitlab-cicd/-/raw/main/rails/rubocop/rubocop-rails.yml"
plugins:
- itc-gem_rubocop
- rubocop-capybara
-# gem "itc-gem_rubocop", "0.1.3", require: false
-# gem "rubocop", "1.75.3", require: false
+# gem "itc-gem_rubocop", "0.1.4", require: false
+# gem "rubocop", "1.75.6", require: false
# gem "rubocop-capybara", "2.22.1", require: false
# gem "rubocop-minitest", "0.38.0", require: false
# gem "rubocop-performance", "1.25.0", require: false
diff --git a/ruby/rubocop-for-ruby-script.yml b/ruby/rubocop-for-ruby-script.yml
new file mode 100644
index 0000000..dbedb3f
--- /dev/null
+++ b/ruby/rubocop-for-ruby-script.yml
@@ -0,0 +1,5 @@
+inherit_from: "https://git-ce.rwth-aachen.de/noc-public/noc-netze-gitlab-cicd/-/raw/main/rails/rubocop/rubocop-base.yml"
+
+# gem "rubocop", "1.75.6", require: false
+# gem "rubocop-minitest", "0.38.0", require: false
+# gem "rubocop-performance", "1.25.0", require: false
diff --git a/rails/rubocop-inherit.yml b/ruby/rubocop-inherit-itc-gem_ci.yml
similarity index 53%
rename from rails/rubocop-inherit.yml
rename to ruby/rubocop-inherit-itc-gem_ci.yml
index b9698f3..1589a31 100644
--- a/rails/rubocop-inherit.yml
+++ b/ruby/rubocop-inherit-itc-gem_ci.yml
@@ -1 +1 @@
-inherit_from: "https://git-ce.rwth-aachen.de/noc-public/noc-netze-gitlab-cicd/-/raw/main/rails/rubocop.yml"
+inherit_from: "https://git-ce.rwth-aachen.de/noc-public/noc-netze-gitlab-cicd/-/raw/main/rails/rubocop-for-rails.yml"
diff --git a/rails/rubocop/rubocop-base.yml b/ruby/rubocop/rubocop-base.yml
similarity index 85%
rename from rails/rubocop/rubocop-base.yml
rename to ruby/rubocop/rubocop-base.yml
index cb2bc50..0c82e15 100644
--- a/rails/rubocop/rubocop-base.yml
+++ b/ruby/rubocop/rubocop-base.yml
@@ -2,12 +2,10 @@
plugins:
- rubocop-minitest
- rubocop-performance
- - rubocop-rails
-# gem "rubocop", "1.75.2", require: false
+# gem "rubocop", "1.75.6", require: false
# gem "rubocop-minitest", "0.38.0", require: false
# gem "rubocop-performance", "1.25.0", require: false
-# gem "rubocop-rails", "2.31.0", require: false
AllCops:
NewCops: enable # pending cops get enabled by default and must be disabled by hand, if needed
@@ -98,33 +96,6 @@ Minitest/MultipleAssertions:
# END Minitest
-# BEGIN Rails
-# exclude API namespace, but not others (ITC convention)
-Rails/ApplicationController:
- Exclude: ['app/controllers/api/**/*', 'app/controllers/a_p_i/**/*']
-
-# exclude migrations since non-ApplicationRecord behavior might be desired
-Rails/ApplicationRecord:
- Exclude: ['db/migrate/*']
-
-# ensure paths are built using a filesystem agnostic way, i.e. arguments instead of a single string
-Rails/FilePath:
- EnforcedStyle: arguments # default: slashes
-
-# no reason not to use an established Rails feature if developers see fit
-Rails/HasAndBelongsToMany:
- Enabled: false
-
-# prevent puts, but exclude test, config, db since Rails Logger may not have been loaded
-Rails/Output:
- Exclude: *test_config_db_gemspec
-
-# allow usage of methods that skip validations; we trust developers know what they are doing
-Rails/SkipsModelValidations:
- Enabled: false
-# END Rails
-
-
# BEGIN Style
# prevent getting around most cops, but allow a few that may be impossible to resolve otherwise, f.e.:
# ItcGemRubocop/DevelopmentHosts: allow usage of different `config.hosts` config in development, if needed
diff --git a/ruby/rubocop/rubocop-rails.yml b/ruby/rubocop/rubocop-rails.yml
new file mode 100644
index 0000000..9870372
--- /dev/null
+++ b/ruby/rubocop/rubocop-rails.yml
@@ -0,0 +1,30 @@
+plugins:
+ - rubocop-rails
+
+# gem "rubocop-rails", "2.31.0", require: false
+
+# BEGIN Rails
+# exclude API namespace, but not others (ITC convention)
+Rails/ApplicationController:
+ Exclude: ['app/controllers/api/**/*', 'app/controllers/a_p_i/**/*']
+
+# exclude migrations since non-ApplicationRecord behavior might be desired
+Rails/ApplicationRecord:
+ Exclude: ['db/migrate/*']
+
+# ensure paths are built using a filesystem agnostic way, i.e. arguments instead of a single string
+Rails/FilePath:
+ EnforcedStyle: arguments # default: slashes
+
+# no reason not to use an established Rails feature if developers see fit
+Rails/HasAndBelongsToMany:
+ Enabled: false
+
+# prevent puts, but exclude test, config, db since Rails Logger may not have been loaded
+Rails/Output:
+ Exclude: *test_config_db_gemspec
+
+# allow usage of methods that skip validations; we trust developers know what they are doing
+Rails/SkipsModelValidations:
+ Enabled: false
+# END Rails
\ No newline at end of file
--
GitLab